KaronatoR
> Ты как делаешь?
я считаю что экспортить имена текстур и т.д. в меше - не труЪ. Посему в меше для треугольников я держу только ID материала (собсно, номер сабмеша) чтобы накладывать на разные фейсы разные текстуры! Далее игровой объект содержит список МАТЕРИАЛОВ (не тупо текстур) для каждого сабмеша и они накладываются двигом : ) Чуть позже сделаю редактор сущностей и материалов там как раз можно будет риалтайм назначать материалы и т.д для сабмешей
L
То есть вершины ты пишешь не тупо друг за другом, а разбиваешь не меши?
Я гда можно почитать как устроены материалы в максе? Я гуглил но что-то не особо добился результатов.
KaronatoR
> Я гда можно почитать как устроены материалы в максе? Я гуглил но что-то не
> особо добился результатов.
х.з. всё есть в хелпе к максу! я для кадого треугольника записываю ID его материала!
получить ID материала можно так
MatID = getFaceMatId твойМеш номерФейса
а на сабсеты я при загрузке бъю
Как обычно хранят саму анимацию? Хранить в каждом треки имя кости для которого этот трек и при анимировании искать трек для кости по имени? Но поиск будет тормазить. Или создать Массив треков размером со списко костей и при анимировании брать трек с таким же номером как и кость. Второй вариант конечно намного лучше, но может есть еще какие-то варианты?
И как лучше сделать скелет, чтобы можно было делать и блендинг анимаций и можно было узнать глобальную трансформацию кости, чтобы допустим вставить оружие в руку)?
Я так прикину и у меня вышло не мало матриц на кость. А именно: локальная матрица начального положения кости, локальная матрица трансформации кости для текущего кадра, глобальная трансформация кости для текущего кадра и глобальная трансформация кости для текущего кадра умноженая на inv bind pos.
Рендеринг тогда будет проходить так: при создании скелета записываем в локальную матрицу трансформации матрицу начальной трансформации на случай, если у кости не будет анимации, то чтобы правильно отображалось. При рендеринге сначало задаем все анимации матрицам локальной трансформации, и перед самим рендерингом считаем иерархия в глобальные матрицы трансформации, а потом в последнии матрицы записываем глобальные матрицы трансформации умноженые на inv bind pos.
Тема в архиве.