×
Menu

NiStringExtraData - notes

 
 
Для КФ файлов, СтрингЭкстра используется немного свободнее.
Здесь, StringExtraData содержит имена объектов  которым был назначен КейФреймКонтроллер.
Это используется в качестве командной строки, связывающий контроллер с целевым объектом.
Кол-во названий фактически не ограничено. Т.е. принимаются любые названия объектов, поскольку используются локально для создания анимации существа, или предмета.
Т.е. как объект был назван в 3д МАХе, такое значение стринга и будет.
На скриншоте, StringExtra связывает Bip01 L Finger01 с первым КейФреймКонтроллером в списке.
Таким образом, КФ файл контролирует анимации в НИФ и Хниф файлах.
 
Примечание.
Обращайте внимание!
Если объект идет со свойствами NC NCO или NCC - то в игре не будет работать детектирование коллизий!
Т.е. скриптовые команды GetStandingActor(РС) , HurtCollingActor(РС) и пр. использующие детектирование коллизий как тригер - срабатывать не будут.
 
Примечание для создания Маркеров.
ОЧЕНЬ ВАЖНО! Чтобы имена шейпов объекта имели префикс "Tri"!
Если префикса нет - то в игре ничего работать не будет.
niTriShape -> Tri EditorMarker правильно.
niTriShape -> EditorMarker не правильно.
 
Примечание.
Новейшие исследования показали возможность и перспективность использования CollisionSwitch объекта, вместо добавления экстрадаты NC (NCC NCO).
Т.е. во многих случаях, можно использовать конвертацию типа ноды вместо добавления StringExtraData.
Однако, МАХ не умеет создавать такой тип ноды.
 
Примечание.
NiStringExtraData работает только если прописана в свойствах корневой ноды на весь файл.
Однако есть исключения:
"key per frame" - применяется на кость Bip01 у существ. Что сообщает - не определено.
"sgoKeep" - применяется на любую ноду которой требуется сообщить эти свойства.
 
Примечание.
ТесЭксортер создает префикс "TRI" автоматически (для всех шейпов в любых объекта), но если свойства добавляются в Нифскопе для моделей созданных другими модулями, префикс  "TRI"  необходимо задать вручную.
Т.к. ФФЕ экспортер и Нифтулз не добавляют этот префикс к шейпам при экспорте модели из МАХа.
 
Примечание.
Bytes Remaining, как кажется, не играет никакой роли.
По описанию, это кол-во байт на жестком диске, сколько резервируется под запись этого стринга.
Важна запись только в "String Data".
 
Примечание.
ЭкстрадаДата: NC, NCC, NCO, MRK, RCN не работают во вложенных объектах.
Только глобально, из корня файла на все его содержимое.
 
Примечание.
В нифскопе, можно совмещать несколько экстрадат.
Следующая прописывается в строку Next Extra Data.
Таким образом можно получить отображение маркера в файле существа, или иного объекта.
 
Примечание.
Однако, следует соблюдать последовательность.
Например:
1. MRK
2. RCN
если обратное, коллизии будут работать не правильно.
По крайней мере был отмечен такой момент с некоторыми моделями.
 
Примечание.
MRK в ванильных маркерах совмещается с NC.
1. MRK
2. NCO.
Но можно создавать маркеры и без этого флага.
Что бывает удобно при создании невидимых стен, или иных объектов, которые не должны быть видимы в игре, но хорошо заметны в редакторе.
 
Примечание.
SgoKeep может работать локально, на тот объект которому она добавлена.
 
Примечание.
NiStringExtraData, в теории, может быть использована в MWSE 2 для... скриптинга внутри моделей, так и для указания особых свойств моделям! Т.к. LUA позволяет получать данные из этого раздела.
 

 Выдержка из оригинальной справки. (NDL Gamebryo 1.1)
 
This class supports the attaching of extra data to any NiObject-based object.
The class has run-time type information and streaming capabilities.
Every NiExtraData item has a unique name, to enable fast retrieval.
 
NiStringsExtraData, for an array of arbitrary size of string values for a user-defined purpose.
Extra data in the form of an array of arbitrary size of text strings that can be attached to a NiObject
 
Extra data in the form of text that can be attached to an NiObject.
The NiObjectNET class provides the ability to attach application-specific extra data to an NiObject object. 
In Gamebryo, extra data capabilities have been greatly enhanced to support a wide diversity of custom attributes and user-defined data, with fast retrieval times.