Проблема со вложенными объектами и RayCast
| |
JWherston | Дата: Понедельник, 25 Мая 2015, 17:28 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Взаимодействие с дверью реализовано через следующий скрипт:
Проблема заключается в том что при экспорте моделей из редактора (Sketch Up) помещённый на сцену объект содержит в себе подгруппы, которые и "видит" RayCast. А поскольку компонент Animation находится на самом объекте, то и воспроизводиться она не может. Повесить Animation на вложенные подгруппы так же не вариант, потому что дабы анимация не воспроизводилась автоматически на префаб вешается тип анимации "Legacy" (Rig - Animation Type - Legacy). Сложность в том что насколько я понял ко вложенным группам этот тип анимации не применяется, ну или во всяком случае анимация воспроизводится автоматически. К тому же некоторые объекты содержат много уровней этих самых групп и RayCast упирается в ту, на которую направлена камера.
Нужно найти способ обращаться к верхнему в иерархии объекту независимо от того, на сколько уровней ниже текущий, или объединить все вложенные подгруппы в один объект, или каким-либо другим способом активировать нужную анимацию используя рейкаст, или хотя бы каким-либо образом применить Legacy ко вложенным группам
|
|
| |
MANMANA | Дата: Понедельник, 25 Мая 2015, 20:07 | Сообщение # 2 |
почти ветеран
Сейчас нет на сайте
| Нужно правильно подходить к моделированию, нет? Модель из 10 сабмешей снижает производительность, особенно если моделей много. Есть ли такая необходимость в таком большом количестве сабмешей? У вс робот или реализация предусматривает тстрелиание любой части тела? Может, объединить их в один меш и проблем не будет?
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
JWherston | Дата: Вторник, 26 Мая 2015, 00:19 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| В числе того, как можно решить эту проблему я написал что можно объединить их, проблема в том что я не нашёл как это сделать. Если подскажете буду очень благодарен. Просто разбитие на сабмеши - проблема не модели, но экспорта. Можно экспортировать через другой формат, но тогда теряются материалы, и в любом случае результат - группа с одним вложенным мешем, а нужен просто объект
|
|
| |
MANMANA | Дата: Вторник, 26 Мая 2015, 09:48 | Сообщение # 4 |
почти ветеран
Сейчас нет на сайте
| Разбит ие на сабмеши проблема не экспорта, а назначенных материалов для каждого сабмеша в отдельности. Если вам критично, чтобы отдельные сабмеши имели каждый свой материал (такое практикуется, например, когда основной материал модели - металл, а руки сделаны из стекла, а ноги из лавы, то без трех материалов не обойтись, поскольку шейдеры в Unity нужно будет применять разные. Если же вам потребуется один шейдер, то решение вопроса вижу таким: Экспортируете из скетчапа в obj (если скетчап умеет сохранять в несериализованном fbx, поскольку Блендер не понимает сериал изо ванны и проприетарный fbx, то можно и в не), например, открываете в блендере, смотрите уроки по атласу текстур для Blender'а и дальше по уроку объединяете сабмеши в меш и несколько текстур в одну с использованием атласа текстур. Экспортируете, например, в fbx и открываете в Unity.
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
JWherston | Дата: Среда, 27 Мая 2015, 17:38 | Сообщение # 5 |
был не раз
Сейчас нет на сайте
| В общем проблему решил, просто сняв галочку Generate Collider с префаба. Рейкаст же упирается именно в коллайдер, а из-за того что каждый сабмеш имел собственный коллайдер, он и не мог нормально упереться в объект. И не пришлось ничего мутить с материалами. Мало ли кому-нибудь когда-нибудь понадобится. Скрипт же на открывание двери, а ей можно просто BoxCollider назначать
|
|
| |
|