Много вопросов о префабе -- FirstPersonController!
|
|
KamiRonin | Дата: Среда, 09 Января 2013, 00:29 | Сообщение # 1 |
почти ветеран
Сейчас нет на сайте
| Доброго времени суток всем!
Строил в Unity3D 4.0 проект от первого лица и столкнулся с вопросами, ответы на которые не смог найти ни в сети, ни в справках, ни в книгах (читаю только по русски ).
1. FPC - имеет CharacterController, а не коллайдер, как заставить срабатывать на него OnCollisionEnter()!!!!!!????????????? Просто каждый раз втыкать триггеры - муть, когда есть штатный метод!! 2. FPC - имеет вес (он же падает)? Но ведь не имеет rigidbody! Это как сделано?! Как контролировать?!
|
|
| |
Левша | Дата: Среда, 09 Января 2013, 01:26 | Сообщение # 2 |
почти ветеран
Сейчас нет на сайте
| Цитата (KamiRonin) FPC - имеет CharacterController, а не коллайдер, как заставить срабатывать на него OnCollisionEnter()!!!!!!????????????? Не нужно заставлять, он и так сработает. CharacterController содержит в себе капсулуКолайдер.
Цитата (KamiRonin) FPC - имеет вес (он же падает)? Не имеет он веса, гравитация искусственно сделана в коде, к СС приложено движение вертикально вниз.
X.cor.R (Prologue)
Сообщение отредактировал Левша - Среда, 09 Января 2013, 01:26 |
|
| |
KamiRonin | Дата: Среда, 09 Января 2013, 11:34 | Сообщение # 3 |
почти ветеран
Сейчас нет на сайте
| Цитата (Левша) он и так сработает. CharacterController содержит в себе капсулуКолайдер
видно не во всех губерниях!
создаю новый проект. вставляю бокс. пишу javascript с OnCollisionEnter(), в котором вывожу лэйбл что наступили на бокс (одна строка, без условий), сажаю этот скрипт на этот бокс вставляю стандартный FPC - запуск. НИФИГА! ставлю ОнТриггерЕнтер (с IsTrigger у бокса) - все замечательно, ОнКоллизионЕнтер - нифига, ОнТриггер - замечательно. ОнКоллизион - нифига.
добавляю сферу над боксом, вешаю регидбоди на неё. падает - ураааа.. ОнКоллизионЕнтер замечательно работает.
Читаю на аборигенском в справке по скриптам, OnCollisionEnter и CharacterController: - по ОнКоллизион - "событие срабатывает при соприкосновении Coolider/Collider или Rigidbody/Collider - по CharacterController - "встроенный КапсулаКолайдер (ну прям неожиданно так!!) не оказывает физического воздействия, но можно запрограммировать самому через OnControllerColliderHit" и больше ничего по OnCollision нету. - ищу внутри скриптов и самого объекта FPC. Находим вложенный в ФПК Graphics - в котором есть MESH в виде капсулы а не капсульКоллайдер (субкласс что ли?!)!! У капсульКоллайдера нету кучи пропертей от ЧарактерКонтроллера.. уже думал переписать весь ЧарактерМотор скприпт.. но во время опомнился. - если вставить капсульКоллайдер отдельно в сцену - то там видно что есть И коллайдер И меш..
Либо лыжи не едут, либо никто не проверял, либо губерния моя в черном списке у него.... :((((((( Но OnControllerColliderHit - единственная альтернатива как я понял.. но его надо вешать на Player чтобы потом выявлять столкновения.. левой нагой правое ухо получается! Добавлено (09.01.2013, 11:34) --------------------------------------------- Главное - аж взрыв мозга нафиг - в описании CharacterController, где проперти, функции этого объекта и тп.. - там есть черным по белом "Унаследованные методы" - и среди них OnCollisionEnter присутствует!!! :((((((((((((
Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
|
|
| |
andarky | Дата: Среда, 09 Января 2013, 11:34 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| я тоже с этим тыкался полгода назад. В итоге забил на все. просто вокруг капсулы характера поставил кубики чилды
Моя страничка по дизайну GameDev//Design//3D Ютубчик
|
|
| |
KamiRonin | Дата: Среда, 09 Января 2013, 12:16 | Сообщение # 5 |
почти ветеран
Сейчас нет на сайте
| andarky молодчик.. но ёпрст - тут же надо найти причину.. я просто понять хочу .. логику Unity! чтобы в других вещах потом так же не бегать по всему инэту.
Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
|
|
| |
ShadowZi | Дата: Среда, 09 Января 2013, 12:18 | Сообщение # 6 |
постоянный участник
Сейчас нет на сайте
| Цитата (KamiRonin) логику Unity! Логику юнити ты не поймёшь, поймёшь логику того кто делал стандартный префаб. Я как-то открыл код ужаснулся и написал сам для себя. Так там слишком много и нужного и ненужного
|
|
| |
andarky | Дата: Среда, 09 Января 2013, 12:21 | Сообщение # 7 |
старожил
Сейчас нет на сайте
| ShadowZi, согласен 100%
Моя страничка по дизайну GameDev//Design//3D Ютубчик
|
|
| |
KamiRonin | Дата: Среда, 09 Января 2013, 12:31 | Сообщение # 8 |
почти ветеран
Сейчас нет на сайте
| так и будем делать!!
к теме - для тех кто наткнется:
Цитата из справки по OnCollisionEnter Note that collision events are only sent if one of the colliders also has a non-kinematic rigidbody attached. Примечание: событие "Коллизия" вызывается ТОЛЬКО ЕСЛИ ОДИН ИЗ КОЛЛАЙДЕРОВ ИМЕЕТ не кинетический РЕГИДБОДИ!!!!
всем кто отвечал - спасибо!!
Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
Сообщение отредактировал KamiRonin - Среда, 09 Января 2013, 12:32 |
|
| |
andarky | Дата: Среда, 09 Января 2013, 12:42 | Сообщение # 9 |
старожил
Сейчас нет на сайте
| я про Ригидбоди понял когда делал проект под флеш. В редакторе все работало, в ЕХЕшнике тоже, а вот при компиляции в SWF коллайдеры не срабатывали (триггеры тоже не помогали исправить ситуации) в итоге сам дотыкался до того что РигидБоди надо все добавить
Моя страничка по дизайну GameDev//Design//3D Ютубчик
|
|
| |
|