Возможно скрипт не вполне рабочий!
Т.е. получать работоспособную модели с несколькими объектами, не получалось!
Также скрипт не поможет в случае моделей содержащих неизвестные в МВ объекты!
Срабатывает только для простых моделей с одним объектом в сцене.
Создать текстовый файл, вставить текст, сохранить с расширением .PY
Выполнить посредством установленных в системе
Pyffi утилит.
file = " - указать путь к ниф файлу, которому меняем Хидер.
data._setVersion(0x4000002) - " указать новую версию. Здесь 4.0.0.2
Some widely-used versions and their hex representation:
4.0.0.2: 0x04000002
4.1.0.12: 0x0401000C
4.2.0.2: 0x04020002
4.2.1.0: 0x04020100
4.2.2.0: 0x04020200
10.0.1.0: 0x0A000100
10.1.0.0: 0x0A010000
10.2.0.0: 0x0A020000
20.0.0.4: 0x14000004
20.0.0.5: 0x14000005
Т.е. в может сработать и для обратной конверсии 4.0 в 4.2
Важно!
Подобный способ, простого изменения хидера файла, приводил к изменению, has Uv - yes. На has Uv - no.
Это необходимо исправлять! Иначе модель не будет работать в принципе!
Впрочем это оказалось легко - достаточно было вернуть значение Yes, сами настройки развертки не потерялись.
Как видеться, проблема состоит в нарушении смещения некоторых байт данных и если это исправить, то станет возможным проводить более сложные манипуляции. Однако, смещение может происходить не только в заголовке файла, но и в составе других элемнтов.
Примечание.
Полностью безсмыленно для KF файлов!
Т.е. хидер изменить можно, но в МВ работать это не будет.
Поскольку КФ файлы версии 4.2 принципиально отличаются от КФ файлов 4.0 версии.
|
|
4.2 корень файла NiSequence
|
4.0 корень файла NiSequenceStreamHelper
|
(С) Greatness7
from pyffi.formats.nif import NifFormat
file = "C:/test.nif"
with open(file, 'rb') as stream:
data = NifFormat.Data()
data.read(stream)
with open(file, 'wb') as stream:
data._setVersion(0x4000002)
data.write(stream)