смена шмота

Общие вопросы о Unity3D

смена шмота

Сообщение Sality 06 дек 2012, 11:23

Всем привет, собственно задача, есть персонаж, и есть 20 шмоток в виде заскиненого торса. так же они должны быть все приатачены к костям. Суть в том что хотелось бы динамически загружать на сцену нужную шмотку и приатачивать если нужно к костям. Но что-то не получается, если персонаж загружен и отдельно приатачить к кости торс например, то почему то сбрасывается скининг (грубо говоря шмотка находится на кости, но визуально она прозрачная, дыра на месте торса). Если же на сцену загружать заранее приатаченую шмотку то все нормально отображается.

Вопрос в том, что конечно можно заранее приатачить все 20 торсов и ненужные выключать, но не хотелось бы все грузить в память. а подгружать нужные торсы в зависимости от игры.
Кто как реализовывал такую задачу?
Заранее спс.

Тему похожую нашел, сори за повтор, если можно перенесите.
Аватара пользователя
Sality
Старожил
 
Сообщения: 771
Зарегистрирован: 26 ноя 2011, 15:31
Откуда: Украина

Re: смена шмота

Сообщение eligma 07 дек 2012, 05:25

Мне кажется что Unity плохо дружит с иерархией скелета. У меня случай что я удочерял кости hand префаб оружия, так все получилось , оружие видно, но я прописал полный путь к кости для работы с ней. Правда оружие инстансировлось на спауне, а он заранее был удочерен hand. И оружие удочерялось спауну. А анимированный меш конечно юнити не возьмет.
Gleeko Multiplayer Gameplay------Знаете ли вы что протокол IPV6 в 1 000 000 раз превышает по возможностям протокол IPV4? А также протокол IPV6 официально был запущен в прошлом году 6.06 числа в 6 часов утра. Это событие отмечали во всем мире.
Аватара пользователя
eligma
Старожил
 
Сообщения: 778
Зарегистрирован: 29 фев 2012, 03:35
  • Сайт

Re: смена шмота

Сообщение Woolf 07 дек 2012, 10:21

Sality писал(а):Всем привет, собственно задача, есть персонаж, и есть 20 шмоток в виде заскиненого торса. так же они должны быть все приатачены к костям. Суть в том что хотелось бы динамически загружать на сцену нужную шмотку и приатачивать если нужно к костям. Но что-то не получается, если персонаж загружен и отдельно приатачить к кости торс например, то почему то сбрасывается скининг (грубо говоря шмотка находится на кости, но визуально она прозрачная, дыра на месте торса). Если же на сцену загружать заранее приатаченую шмотку то все нормально отображается.

Вопрос в том, что конечно можно заранее приатачить все 20 торсов и ненужные выключать, но не хотелось бы все грузить в память. а подгружать нужные торсы в зависимости от игры.
Кто как реализовывал такую задачу?
Заранее спс.

Тему похожую нашел, сори за повтор, если можно перенесите.


Совсем недавно решал эту задачу..
Система такая - грузите объект из ассета, инстаните его, а потом натравливаете на него вот этот скрипт:
http://wiki.unity3d.com/index.php/SkinnedMeshTools

Вуаля, имеем прискиненный торс. Или что другое. Единственное что - торс должен экспортится в ассет вместе со скелетом (или его частью)
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: смена шмота

Сообщение Sality 09 дек 2012, 15:12

Я правильно понял у меня будут лежать отдельно 20 торсов приатаченых отдельно к одинаковой косточке, а потом я выбераю нужную и приатачиваю к персу? тоесть не требуется на персе сразу иметь 20 приатаченых торсов?
Аватара пользователя
Sality
Старожил
 
Сообщения: 771
Зарегистрирован: 26 ноя 2011, 15:31
Откуда: Украина

Re: смена шмота

Сообщение WereVarg 09 дек 2012, 16:03

там фокус такой

на скинед меше лежат кости, и на скелете лежат кости
их имена совпадают, но они воспринимаются как "разные"
если у них скин был на все кости, то вообще кайф
надо просто skinnedmeshPart.bones = skinnedmeshMyMainSkelet.bones по идее
а иначе надо сравнивая имена костей там и там спаковать маленький массив костей из скелета и назначить его части
Merry Cubes HD Magic Sorter Playroom - Lessons with Max
Аватара пользователя
WereVarg
UNIт
 
Сообщения: 88
Зарегистрирован: 12 авг 2011, 01:11

Re: смена шмота

Сообщение Sality 09 дек 2012, 16:27

я понял, а суть скрипта, скармливаеш есму всю модель со скином и костями, а он возвращяет отдельно скины со своей косточкой чтоли?
Аватара пользователя
Sality
Старожил
 
Сообщения: 771
Зарегистрирован: 26 ноя 2011, 15:31
Откуда: Украина

Re: смена шмота

Сообщение Receptor 10 дек 2012, 19:35

Че-то я тоже нифига не понял, как его юзать :)
_VK.com
Аватара пользователя
Receptor
Адепт
 
Сообщения: 1706
Зарегистрирован: 22 ноя 2011, 07:09
Откуда: Волгодонск

Re: смена шмота

Сообщение Sality 21 дек 2012, 18:52

Всем привет, хотелось бы узнать кто использовал этот скрипт, ошибок никаких не было? Дело в том что половину персонажа соберает нормально, а половину вылитает нул референс экзепшин, когда пробегает по костям очередного элемента. Он Проходит по списку костей, а реально костей намного меньше. в этом месте и ругается.

Модели экспортятса из CAT. Может кто сталкивался с этим, может при экспорте в кате что-то нужно настраивать?

Аватара пользователя
Sality
Старожил
 
Сообщения: 771
Зарегистрирован: 26 ноя 2011, 15:31
Откуда: Украина

Re: смена шмота

Сообщение Sality 21 дек 2012, 21:21

Проблема решена элементарно, при запикании в иерархии не должно быть мешей
Аватара пользователя
Sality
Старожил
 
Сообщения: 771
Зарегистрирован: 26 ноя 2011, 15:31
Откуда: Украина

Re: смена шмота

Сообщение Woolf 21 дек 2012, 22:26

Sality писал(а):Проблема решена элементарно, при запикании в иерархии не должно быть мешей

Спорный вопрос... Скорее всего, не должно быть заскиненных мешей - это да, это возможно. А обычные могут быть. По поводу нуль поинтер эксцепшн - проверьте рутбонес. К какому руту у вас привязана шмотка и к какому её привязываете вы. Я тоже сначала не разобрался.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: смена шмота

Сообщение Woolf 21 дек 2012, 22:29

Receptor писал(а):Че-то я тоже нифига не понял, как его юзать :)

А чо там понимать ) У вас есть модель персонажа, со всеми её костями. Есть модель отдельного торса, уже инстанированная. в скрипт отправляете первую модель и вторую На выходе получаете первую же модель, но у же с приатаченным торсом. Старый торс киляете (если он вооще был, что не обязательно). Все, шмотка одета.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 15