Меканим с коллайдером и RigidBody2D

Раздел, посвящённый самому важному - скорости.

Меканим с коллайдером и RigidBody2D

Сообщение unregistered 14 окт 2015, 01:10

Прочитал статью на хабре: http://habrahabr.ru/company/microsoft/blog/245473/ в ней есть очень интересный коммент с картинкой профайлера. И тут задумался: у меня в 2D-игре ГГ - набор спрайтов анимированых через Меканим, root ГГ имеет RigidBody2D c коллайдером, в дочернем объекте вся гарфика и аниматор, а также есть коллайдер внутри (на голове ГГ). Получается, что основные поступательные движения ГГ (бег, прыжок) делаются правильно (физика на rigid), а вот коллайдер головы двигается (хоть и локально анимацией), но уже через трансформ так ведь?... Есть опасения, что это может сильно влиять на производительности. Посоветуйте, развейте сомнения, ткните носом в статью?

PS Прочитал статью http://docs.unity3d.com/ru/current/Manu ... rview.html. Еще появился вопрос один попутный: в игре есть объекты с коллайдерами-триггерами без ригид. В процессе игры, эти объекты исчезают за игроком enabled=false и появляются перед enabled=true через изменение координат трансформа. считается ли в этом случае, что я двигаю статичный коллайдер и нужен ли им в этом случае ригид? Вот и пул частей дороги тоже имеют коллайдер без ригид и постоянно исчезают за игроком и появляются перед.
unregistered
UNIт
 
Сообщения: 104
Зарегистрирован: 23 июн 2014, 20:01

Re: Меканим с коллайдером и RigidBody2D

Сообщение DualPain 14 окт 2015, 17:05

По поводу первой части, все дочернии колайдеры относятся к родительскому риджит боди. Так что его смещение не должно ни на что плохо влиять. Еще вероятно должна быть включена галочка animatePhysics у аниматора.
По второй части, да, требуется кинематический ригид боди, галка статик не должна стоять. На вашем месте уже проще провести замеры с и без ригида и наглядно увидеть разницу. Если вы используете юнити 5, то движение статик колайдеров не так страшно как в 4, но на всякий случай, проведите тесты.
DualPain
Старожил
 
Сообщения: 727
Зарегистрирован: 11 янв 2013, 01:18
Skype: demon21.09

Re: Меканим с коллайдером и RigidBody2D

Сообщение unregistered 18 окт 2015, 10:33

Спасибо за ответ. Проверил вторую часть вопроса. Прироста производительности или падения никак не обнаружилось. обнаружилось другое. "Трасса" на некоторых устроствах кагбы "проскальзывает", по профайлеру связываю это с пиками Gfx.WaitForPresent. Каждый пик как шило в одно место. Там в же в профайлере обнаружилась связи с памятью выделяемая под меши. Детализация показала, что вдруг появляются TextMesh. Что конкретно появляется понять не могу, так как на любой объект инфа отсутствует. написано HideOrDontSave, Manager or AssetBundle. Убрал весь гуй (там собственно fps выведен был). Эти меши остались. и вот четкая корреляция с количеством пачмяти под меши и Gfx.WaitFor... на боле менее современных, не сильно заметно благодаря насыщенности сцены, а вот на по-слабже отвратительные лаги. Да, собственно, мешей там кот наплакал
unregistered
UNIт
 
Сообщения: 104
Зарегистрирован: 23 июн 2014, 20:01


Вернуться в Оптимизация

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2