|
|||||||
Animated
|
Определяет значение состояния анимации вложенных объектов.
Если True и контроллеры оных имеют флаг 8, то анимации будут проигрываться постоянно.
Если True и флаг контроллера 12, будет одноноразовый старт.
После завершения анимации, объект застынет в финальной позиции и останется в ней, пока ячейка не будут полностью перезагружена.
Если False, то не анимации не будут проигрываться даже если 8.
Т.к. получают управление от "внешнего источника".
Управляется флагом.
|
NotRandom
|
Определят использование случайной поправку ко времени старта анимаций.
Т.е. если TRUE поправка ко времени старта анимации, НЕ БУДЕТ использоваться.
Все копии объекта в сцене будут проигрывать анимации синхронно.
Если False - будет добавляться некоторая задержка ко времени старта анимации. Либо анимация, начинается со случайного кадра с некоторой поправкой от времени начала оной.
Время задержки, по видимости, определяется случайным образом и находится в строке Phase Init.
Управляется флагом.
|
FirstTime
|
Возможно флаг влияет на определение какой объект будет работать первым.
Т.е. чья анимация пойдет раньше других.
Либо какой объект появился в поле зрения камеры первым.
И также воздействует на его анимации.
Либо влияет на время старта контроллера, какой из контроллеров запуститься первым.
Смена флагов ноды, или назначение контроллера, а равно использования экстра свойств - никак не повлияли на смену этого значения.
Оно всегда = False.
Получить смену значения средствами нифскопа, т.е, не удалось.
Greatness7 писал:
the first time thing is probably related to the randomization feature
it is automatic
when the mesh is rendered it checks the flag. if its the first time then it randomizes the phase stuff, if its not first time it leaves it alone
you can't set this flag in the actual nif file, it only exists ingame.
Т.е. (вероятно) этот флаг меняется только движком игры (во время сеанса) и вероятно один раз, после чего может сбрасываться.
МВСЕ может управлять значением этого флага.
|
Manage
|
По видимости, работает только в связке с первым значением:
Animated = true.
Если оно true то и manage тоже = true.
Иначе false.
По крайней мере, обратного получить не удалось.
Т.е. ни смена флагов, ни добавление контроллеров, или специальных нод, не показало возможности отдельного управления именно этой строкой.
Указывает NiBSAnimationManagerу не (?) управлять этой нодой, позволяя ей проигрывать анимации постоянно.
Или что-то вроде этого.
Т.е. значение показывает состояние этой ноды применительно к NiBSAnimationManager.
Greatness7
it just means the animation is being managed by an NiBSAnimationManager
|
Displayed
|
Отвечает за отображения объекта.
Если true - видим.
Если False - не видим.
Управляется флагом. Стандартные значения.
Четные флаги объект отображается, нечетные - скрыт. |
AlwaysUpdate
|
Похоже, отвечает за постоянное отслеживание состояния анимации.
Даже если объект находится вне поля зрения камеры и не имеет управляющих КФ файлов!
Значение флага ноды, на этот параметр оной, НЕ влияет!
Если эти контроллеры наложены на ноду, то, вне зависимости от своего статуса*, активируют это поле.
Т.е. здесь будет значение True.
Если на этой ноде нет этих контроллеров, всегда = false.
Это полезно использоваться если требуется всегда проверять в каком фрейме находится анимация вложенных объектов.
Также, несколько сокращает появление зависающих после кончины существа частиц.
См. поднявшихся спящих, если они отыграют кончину за спиной игрока, то шанс увидеть болтающиеся в воздухе частицы, крайне высок.
Но если активировать это значение, у частиц больше шансов полностью исчезнуть.
К сожалению, не 100%.
Т.е. включение этого параметра в этой ноде (а равно и для ноды частиц) не решает эту проблему полностью.
*Контроллеры могут быть неактивны, т.е. с флагом 0 и даже без ключей в своей дате.
Т.е. контроллер не требуется как-то особенно настраивать задавая, те или иные, значения.
Greatness7 писал:
the thing with AlwaysUpdate is that I think it is setting selective update to always update seems to set the always update flag
alwaysupdate makes it update every frame.
That other mod I linked uses the same trick, but without using NiBSAnimationNode.
Because NiBSAnimationNode is only needed for non-creatures and that mod only messes with creatures.
But adding the NiVisController seems to achieve the same end result there, of making animation keep playing while off screen.
So I think that what ever logic that gets performed when NiVisController is attached that sets AlwaysUpdate to true is actually just setting something else on the NiAVObject that just so happens to also set AlwaysUpdate if it was a NiBSAnimationNode kinda convoluted
So, could you theoretically turn off AlwaysUpdate and make sure NotRandom is false and then place a bunch of animated "statues" and they'd freeze in random poses as soon as they load in different random positions? Would they randomize each time you cell change or just upon initial creation?
|
Phase Init
|
По видимости управляет задержкой от времени старта анимации.
Что и позволяет получать рандомный старт анимаций при флага 32 и подобных ему.
Т.е. работает также, как и для контроллеров анимации.
Если Animated = true и NotRandom = False (т.е. флаг 32).
Возможность ручного управления этим полем не известна.
Т.е. нет данных по воздействию на значения этого поля.
Разве что, МВСЕ может это использовать (?).
Ни в ниф файле, ни в 3д МАХе, не было найдено возможностей воздействовать на это значение.
Т.е. движок автоматически устанавливает здесь значения.
Greatness7
PhaseInit is global value, not part of any particular nif
the game calculates a random value for it on the first load and that gets assigned to all controllers under the NiBSAnimationNode
some details here https://gitlab.com/OpenMW/openmw/-/issues/6455
|
32
|
42
|
64
|
96
|
106
|
128
|
130
|
164
|
172
|
202
|
234
|
256
|
382
|
512
|
56444
|