Полезное

Мы Вконтакте

Discord канал

#
Пред.
12
Модератор: LEX38RUS
Аватара пользователя
Пользователь
Сообщения: 18
Доброго времени суток.
На видео: слева анимация через морф, справа с помощью кости (кость двигается просто вверх), как видно дальше, при анимацией костью, вертекс нормали остаются без изменений (имено при перемещении, т.к. при вращении все хорошо), это можно как-то побороть? может я где галку не включил?


спасибо)
Аватара пользователя
Пользователь
Сообщения: 2319
видел на офф форуме тему...
не совсем ясно
на правом только костями анимируется?* если да - то нормаль не пересчитывается в рантайме только принимает трансформации из костей,
учитывая что кость только вверх вниз движется то нормаль ведет себя корректно(не вращается, и вращаться не должна в данном случае).
по такому принципу работает везде стандартный скин даже в 3д редакторе.
собственно формула расчета трансформации вершины в скине не секретная:

Код:
v =vpos[i] * bonebind[n].transform.inverse()  * boneanim[n].transform * weight[i][n]
//i-vertid
//n-influence boneid

больше ничего в скине нету , по ней прекрасно видно что нормаль(ориентация вершины,нормалью, бинормаль и тангент - базис вращения) только получает трансформацию из костей не пересчитывая касательное пространство.


*оу вопрос не прочитал,а по памяти с офф форума ответ начал писать тогда да все верно

а при морфах идет пересчет касательного пространства, не совсем ясно правда насколько честный алгоритм в рантайме потому что были проблемы
https://answers.unrealengine.com/questi ... ormal.html
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 18
Snake писал(а):
видел на офф форуме тему...
по такому принципу работает везде стандартный скин даже в 3д редакторе.


не могу говорить за все стандартные 3д редакторы, но в Майке это не так) если нормали не залочены, то идет пересчет в реал тайме, потому вопрос и возник, т.к. то что я вижу в 3д редакторе (при анимации костями) и то что показывает движок - отличается.
Но если залочить нормали, то вот как раз как в анрийле)
Аватара пользователя
Пользователь
Сообщения: 2319
для игр другого скина кроме как описанного выше пока не предвидится даже.
первая и главная причина - этот скин предсказуем и является стандартом уже продолжительное время.
а вот насчет 3д редакторов я погорячился...макс тоже пересчитывает нормали при скине... тут был неправ...
а вот моушен билдер для которого FBX -родной формат, ведет себя как положенно.
https://i.imgur.com/MHW5PkE.gifv

факт в том что в играх касательное пространство без морфов вообще единожды при импорте считается и хранится кешем.
выхода из сложившейся ситации это только переписать скин шейдр анриала, по другому никак.
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 2319
юнити ведет себя аналогично
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 2319
хм...
если не сложно можно посмотреть скрин из майки с залоченными нормалями и повернутой костью (поворачиваются ли нормали)
П.С.: я нашел неплохую причину сменить 3д редактор, не могу в максе получить поведение нормалей как в движке, чтоб один в один.
ПС2: через костыль таки получилось... в максе как в дивжках. но подгорает у меня нормально так от либо невозможности либо незнания получить это нативными инструментами.
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 2319
https://i.imgur.com/JgNbZHF.png
для тех кому нужно в максе как в анриале поведение нормалей
ложная паника, работаем и дальше в максе :)
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 18
)))

Snake писал(а):
хм...
если не сложно можно посмотреть скрин из майки с залоченными нормалями и повернутой костью (поворачиваются ли нормали)

лочим нормали, чистим нон деформ историю)

Изображение
Изображение
Аватара пользователя
Пользователь
Сообщения: 18
подсказали вариант))
ес-но фпс падает)) но по идее можно задать что имено будет пересчитываться
ниже пример как ведет себя фпс (с 91 грохнулся до 55, а в конце вообще до 30, хз почему)))




я не тестил это на составных персанажах, так что как это будет себя вести еще вопрос) но как говорится, у нас появились варианты)))))
Аватара пользователя
Пользователь
Сообщения: 2319
Garp, любопытно, спасибо что отписался сюда, будем знать что есть такая опция.
полтора миллиона тангетов пересчитывать, не мудрено что фпс просаживывается...
интересно можно ли в рантайме включать выключать у скин-мешей эту опцию... можно было б лодировать тогда и только ближайшие видимые в ограниченном кол-ве пересчитывать...
хотя оно к лоду0 привязано по скрину... по идее должно лодироваться вместе с ним, можно попробовать лодирование агрессивнее настроить.
_________________
we need to go deeper


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

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница