|
|||||
Num Morphs
|
Общее кол-во морфов.
Т.е. сколько целей было загружено.
Например, для обычных голов НПС целей только 2.
Для лука, или арбалета, обычно 3.
Но может быть любое произвольное число.
Мантия Альмалексии, из Симфонии имеет 100 морфов, это придел слотов для 3д МАХа.
В нифскопе, вероятно, можно сделать и больше...
|
Num Vertices
|
Кол-во вертексов.
Соответствует кол-ву вертексов в niTriShapeData.
|
Relative Targets
|
всегда 1.
Если установить 0 и подвигать модель в редакторе, она исчезает...
Т.е. станет полностью невидимой.
Что будет в игре - не проверялось.
Нифскоп справкой своей вещает:
This byte is always 1 in all official files.
Официальная справка сообщает:
Sets and gets a bool that indicates whether or not the vertices stored in the targets represent independent target vertices or offsets from the first target's vertices.
SetRelativeTargets will cause the values of the vertices to be recalculated, to conform to the new interpretation of the targets' vertices.
SetRelativeTargets will just change the Boolean value without recalculating the vertices, and so it will only change how the class uses the data already in place.
|
Morphs
|
Раздел содержащий настройки анимации смещения вертексов поверхности.
Кол-во вложенных подразделов Morphs равно Num Morphs +1.
Т.е. всегда на один раздел больше чем загруженных целей.
Этот "+1", ака первый в списке, или "нулевой" раздел содержит базовые настройки поверхности!
Т.е. первый раздел в списке, является копией позиций Vertices в NiTriShapeData
Здесь сохранены данные о позициях вертексов по умолчанию!
Если внести в него изменения, модель получит соответствующее изменение геометрии.
Можно полагать, что раздел фактически активен всегда.
Т.е. не смотря на нулевые значения ключей времени и значения.
![]() |
Для первого раздела в списке морфов.
Т.е. первый в списке содержит исходные настройки поверхности.
Если начать здесь менять позиции вертексов, анимации не произойдет, но объект будет изменен сообразно новым данным позиций вертексов.
Т.е. для создания анимации нужно, минимум, два раздела.
С копией исходных данных поверхности и ее анимированного состояний.
| |
Morphs
|
|
Num Keys
|
ноль или 2.
Время и значение события здесь не нужно.
|
Interpolation
|
LINEAR_KEY
|
Keys
Time
Value
|
Значения равны нулям.
Т.к. это исходные настройки поверхности и менять их не нужно, ни по времени, ни силой воздействия.
Это "снимок" объекта в его изначальном виде!
![]() |
Vectors
|
Здесь указаны позиции вертексов по умолчанию.
![]() Т.е. равные значениям в NiTriShapeData
![]() если их поменять...
![]() 12 вместо 2 в данном случае.
И последующие морфы будут смещать этот вертекс согласно его новых координат!
|
Для всех прочих разделов.
А вот это уже пошли сами анимации!
| |
Num Keys
|
Кол-во ключей в которых была задействована цель.
От 1 до сотен.
![]() |
Interpolation
|
QUADRATIC_KEY
*типы ключей можно менять, этот выбирается 3д редактором по умолчанию.
|
Keys
|
Время и значения ключа.
Т.е. время события анимации и его вес воздействия на вертексы.
|
Vectors
|
Смещение значения вертексов.
Т.е. здесь и указаны новые координаты вертексов!
Что и создает анимацию.
Позиции XYZ.
![]() Кол-во строк Vectors = кол-ву вертексов в модели. НО!
Значения меняются только у тех вертексов которые были задействованы.
Если какой-то вертекс не смещался, его значение указано как 0.0000
|
![]() |
![]() |
Те самые ключи для вертексов.
|