|
|||||
Значение по дефолту.
|
|
На что заменять.
|
Флаг альфы по умолчанию.
| ||
<add name="Flags" type="Flags" default="237">
|
<=
|
<add name="Flags" type="Flags" default="4845">
|
подклас анимационной ноды, а не обычной.
| ||
<niobject name="NiBSParticleNode" abstract="0" inherit="NiNode">
Bethesda-specific extension of Node!
</niobject>
|
|
<niobject name="NiBSParticleNode" abstract="0" inherit="NiBSAnimationNode">
Bethesda-specific extension of Node!
</niobject>
|
<niobject name="NiParticleBomb" abstract="0" inherit="NiParticleModifier">
A particle modifier.
<add name="Decay?" type="float">Unknown.</add>
<add name="Duration?" type="float">Unknown.</add>
<add name="DeltaV?" type="float">Unknown.</add>
<add name="Start?" type="float">Unknown.</add>
<add name="Decay Type?" type="DecayType">Unknown.</add>
<add name="Symmetry Type?" type="SymmetryType" ver1="4.1.0.12">Unknown.</add>
<add name="Position?" type="Vector3">The position of the mass point relative to the particle system?</add>
<add name="Direction?" type="Vector3">The direction of the applied acceleration?</add>
</niobject>
|
<=
|
<niobject name="NiParticleBomb" abstract="0" inherit="NiParticleModifier">
<add name="Decay" type="float"></add>
<add name="Duration" type="float"></add>
<add name="DeltaV" type="float"></add>
<add name="Start Time" type="float"></add>
<add name="Decay Type" type="DecayType"></add>
<add name="Symmetry Type" type="SymmetryType"></add>
<add name="Position" type="Vector3"></add>
<add name="Direction" type="Vector3"></add>
</niobject>
|
Настройка параметров частиц в более читабильном виде.
Полностью заменить оригинальный блок!
Обратите внимание, переименовывать некоторые строки - нельзя!
Это приведет к графическим ошибкам в отображении поведения частиц, либо вовсе: частицы перестанут отображаться! | ||
|
|
Код с коментариями:
|
<niobject name="NiParticleSystemController" abstract="0" inherit="NiTimeController">
..............
..............
...............
</niobject>
|
<=
|
<niobject name="NiParticleSystemController" abstract="0" inherit="NiTimeController">
<add name="Speed" type="float"></add>
<add name="Speed Variation" type="float"></add>
<add name="Vertical Direction" type="float"></add>
<add name="Vertical Angle" type="float"></add>
<add name="Horizontal Direction" type="float"></add>
<add name="Horizontal Angle" type="float"></add>
<add name="Initial Normal" type="Vector3"></add>
<add name="Initial Color" type="Color4"></add>
<add name="Size" type="float" default="1.0"></add>
<add name="Emit Start Time" type="float"></add>
<add name="Emit Stop Time" type="float"></add>
<add name="Reset Particle System" type="byte"></add>
<add name="Emit (Birth) Rate" type="float"></add>
<add name="Lifetime" type="float"></add>
<add name="Lifetime Variation" type="float"></add>
<add name="Use (Emit) Birth Rate" type="byte"></add>
<add name="Spawn On Death" type="byte"></add>
<add name="Emitter Width" type="float"></add>
<add name="Emitter Height" type="float"></add>
<add name="Emitter Depth" type="float"></add>
<add name="Emitter" type="Ptr" template="NiAVObject"></add>
<add name="Num Spawn Generations" type="ushort"></add>
<add name="Percentage Spawned" type="float"></add>
<add name="Spawn Multiplier" type="ushort"></add>
<add name="Spawned Speed Chaos" type="float"></add>
<add name="Spawned Speed Direction Chaos" type="float"></add>
<add name="Num Particles" type="ushort"></add>
<add name="Num Valid" type="ushort"></add>
<add name="Particles" type="Particle" arr1="Num Particles"></add>
<add name="Emitter Controller" type="Ref" template="NiTimeController"></add>
<add name="Particle Extra" type="Ref" template="NiParticleModifier"></add>
<add name="Particle Colliders" type="Ref" template="NiParticleCollider"></add>
<add name="Trailer" type="byte"></add>
</niobject>
|
NiPlanarCollider в читабильном и оптимизированном виде.
Заменить оригинальный блок. | ||
<niobject name="NiPlanarCollider" abstract="0" inherit="NiParticleModifier">
Unknown.
<add name="Unknown Short" type="ushort" ver1="10.0.1.0">Usually 0?</add>
<add name="Unknown Float 1" type="float">Unknown.</add>
<add name="Unknown Float 2" type="float">Unknown.</add>
<add name="Unknown Short 2" type="ushort" ver1="4.2.2.0" ver2="4.2.2.0">Unknown.</add>
<add name="Unknown Float 3" type="float">Unknown.</add>
<add name="Unknown Float 4" type="float">Unknown.</add>
<add name="Unknown Float 5" type="float">Unknown.</add>
<add name="Unknown Float 6" type="float">Unknown.</add>
<add name="Unknown Float 7" type="float">Unknown.</add>
<add name="Unknown Float 8" type="float">Unknown.</add>
<add name="Unknown Float 9" type="float">Unknown.</add>
<add name="Unknown Float 10" type="float">Unknown.</add>
<add name="Unknown Float 11" type="float">Unknown.</add>
<add name="Unknown Float 12" type="float">Unknown.</add>
<add name="Unknown Float 13" type="float">Unknown.</add>
<add name="Unknown Float 14" type="float">Unknown.</add>
<add name="Unknown Float 15" type="float">Unknown.</add>
<add name="Unknown Float 16" type="float">Unknown.</add>
</niobject>
|
<=
|
<niobject name="NiParticleModifier" abstract="0" inherit="NiObject">
<add name="Next Modifier" type="Ref" template="NiParticleModifier">Next particle modifier.</add>
<add name="Controller" type="Ptr" template="NiParticleSystemController" ver1="4.0.0.2">Points to the particle system controller parent.</add>
</niobject>
<niobject name="NiParticleCollider" abstract="1" inherit="NiParticleModifier">
A particle system modifier.
<add name="Bounce" type="float">strength of reflection for particles</add>
</niobject>
<niobject name="NiPlanarCollider" abstract="0" inherit="NiParticleCollider">
Particle Collider.
<add name="Height" type="float">Unknown.</add>
<add name="Width" type="float">Icon width</add>
<add name="Position" type="Vector3">position.xyz</add>
<add name="X rotation" type="Vector3">rotation1.</add>
<add name="Y rotation" type="Vector3">rotation.2</add>
<add name="Plane" type="NiPlane">Distance of reaction and Normal`s alignment.</add>
</niobject>
|
NiSphericalCollider в читабильном и оптимизированном виде
*удалить старый раздел!
| ||
<niobject name="NiSphericalCollider" abstract="0" inherit="NiParticleModifier">
Unknown.
<add name="Unknown Float 1" type="float">Unknown.</add>
<add name="Unknown Short 1" type="ushort">Unknown.</add>
<add name="Unknown Float 2" type="float">Unknown.</add>
<add name="Unknown Short 2" type="ushort" ver2="4.2.0.2">Unknown.</add>
<add name="Unknown Float 3" type="float" ver1="4.2.1.0">Unknown.</add>
<add name="Unknown Float 4" type="float">Unknown.</add>
<add name="Unknown Float 5" type="float">Unknown.</add>
</niobject>
|
<=
|
<niobject name="NiSphericalCollider" abstract="0" inherit="NiParticleCollider">
Spherical Collider.
<add name="Radius" type="float" />
<add name="Position" type="Vector3" />
</niobject>
|
|
|
Либо использовать такой код.
|
|
|
<niobject name="NiParticleCollider" inherit="NiParticleModifier">
<add name="Bounce" type="float"></add>
</niobject>
<niobject name="NiPlanarCollider" inherit="NiParticleCollider">
<add name="Height" type="float"></add>
<add name="Width" type="float"></add>
<add name="Position" type="Vector3"></add>
<add name="X Axis" type="Vector3"></add>
<add name="Y Axis" type="Vector3"></add>
<add name="Plane" type="NiPlane"></add>
</niobject>
<niobject name="NiSphericalCollider" inherit="NiParticleCollider">
<add name="Radius" type="float"></add>
<add name="Position" type="Vector3"></add>
</niobject>
|
NiTriShapeDynamicData Добавить после блока <niobject name="NiTriShapeData" abstract="0"
| ||
|
<=
|
<niobject name="NiTriShapeDynamicData" abstract="0" inherit="NiTriShapeData">
Holds mesh data using a list of singular triangles.
<add name="Active Vertices" type="ushort">Num Active Vertices.</add>
<add name="Active Triangles" type="ushort">Num Active Triangles.</add>
</niobject>
|
Добавить новый раздел в конец файла.
| ||
|
|
<niobject name="NiCollisionSwitch" abstract="0" inherit="NiNode">
</niobject>
|
Добавить новый раздел в конец файла.
| ||
|
|
<niobject name="NiAccumulator" abstract="1" inherit="NiObject" />
<niobject name="NiClusterAccumulator" abstract="0" inherit="NiAccumulator" />
<niobject name="NiAlphaAccumulator" abstract="0" inherit="NiAccumulator" />
<niobject name="NiSortAdjustNode" inherit="NiNode">
Sorting alpha.
<add name="Sorting Mode" type="SortingMode" default="SORTING_INHERIT"></add>
<add name="Accumulator" type="Ref" template="NiAccumulator"></add>
</niobject>
|
Экспериментальный раздел. От Greatness7(С)
Добавить новый раздел в конец файла.
BSMirroredNode, TES3ObjectExtraData BrickNiExtraData NiBSAnimationManager NiKeyframeManager.
Эти объекты хотя и не подразумеваются для добавление в ниф файлы, но записи о них могут быть полезны.
Особенно в целях дебагинга.
И если проводился захват дампа памяти в ниф файл.
Если выставить значение abstract="1", модели содержащие эти свойства на смогут быть открыты!
Добавлять записи об этих разделах имеет смысл только в каких-то тестовых целях. | ||
|
|
<niobject name="NiKeyframeManager" abstract="0" inherit="NiTimeController">
<add name="Num Sequences" type="uint"></add>
<add name="Sequences" type="NiSequenceMW" arr1="Num Sequences"></add>
</niobject>
<niobject name="NiBSAnimationManager" abstract="0" inherit="NiNode">
For NiBsANimationNodes (only) seems to be.
</niobject>
<niobject name="BSMirroredNode" abstract="0" inherit="NiNode">
</niobject>
<niobject name="BrickNiExtraData" abstract="0" inherit="NiExtraData">
<add name="String" type="string">.</add>
</niobject>
<niobject name="TES3ObjectExtraData" abstract="0" inherit="NiExtraData">
<add name="String" type="string">.</add>
</niobject>
|
еще один экспериментальный твик NiRendererSpecificProperty
Добавить новый раздел в конец файла.
| ||
|
|
<niobject name="NiRendererSpecificProperty" abstract="0" inherit="NiProperty">
<add name="Flags" type="Flags"></add>
</niobject>
|
Добавить новый раздел в конец файла.
| ||
|
|
<niobject name="NiFltAnimationNode" abstract="0" inherit="NiSwitchNode">
<add name="Period" type="float">Delay time.</add>
</niobject>
|
Добавить новый раздел в конец файла.
| ||
|
|
<compound name="NiPlane2" size="16">
A plane for niBspNode.
<add name="AlignmentXYZ" type="Vector3">The plane normal`s alignment.</add>
<add name="Area Size" type="float">The size of plane.</add>
</compound>
<niobject name="NiBSPNode" abstract="0" inherit="NiNode">
<add name="Model Plane" type="NiPlane2"></add>
</niobject>
|
Добавить новый раздел в конец файла.
| ||
|
|
<niobject name="NiScreenPolygon" abstract="0" inherit="NiObject">
<add name="Num Vertices" type="ushort"></add>
<add name="Vertices" type="Vector3" arr1="Num Vertices"></add>
<add name="Has Texture Coords" type="bool"></add>
<add name="Texture Coords" type="TexCoord" arr1="Num Vertices" cond="Has Texture Coords"></add>
<add name="Has Vertex Colors" type="bool"></add>
<add name="Vertex Colors" type="Color4" arr1="Num Vertices" cond="Has Vertex Colors"></add>
<add name="Num Property States" type="uint"></add>
<add name="PropertyStates" type="int" arr1="Num Property States"></add>
</niobject>
|
Заменить оригинальный раздел!
| ||
|
|
<niobject name="NiLinesData" inherit="NiGeometryData">
Wireframe geometry data.
<add name="vertexConnectivityFlags" type="byte" arr1="Num Vertices">Is vertex connected to next vertex.</add>
</niobject>
|
Заменить оригинальный раздел!
| ||
|
|
<niobject name="NiCamera" inherit="NiAVObject">
<add name="Frustum Left" type="float"></add>
<add name="Frustum Right" type="float"></add>
<add name="Frustum Top" type="float"></add>
<add name="Frustum Bottom" type="float"></add>
<add name="Frustum Near" type="float"></add>
<add name="Frustum Far" type="float"></add>
<add name="Viewport Left" type="float"></add>
<add name="Viewport Right" type="float"></add>
<add name="Viewport Top" type="float"></add>
<add name="Viewport Bottom" type="float"></add>
<add name="LOD Adjust" type="float"></add>
<add name="Scene" type="Ref" template="NiNode"></add>
<add name="Num Screen Polygons" type="uint"></add>
<add name="Screen Polygons" type="Ref" template="NiScreenPolygon" arr1="Num Screen Polygons"></add>
</niobject>
|
NiPlane
Добавить новый раздел в конец файла.
Это не новый объект, а лишь правильное название для настроек.
| ||
|
|
<compound name="NiPlane" size="16">
A plane.
<add name="Normal" type="Vector3">The plane normal`s alignment.</add>
<add name="Distance" type="float">The distance of particles reaction.</add>
</compound>
|
Добавлять в конец файла.
| ||
|
|
<niobject name="NiBltSource" inherit="NiObject">
<add name="Use External" type="byte" default="1"></add>
<add name="File Name" type="FilePath" cond="Use External"></add>
<add name="Has Pixel Data" type="byte" default="1" cond="Use External == 0"></add>
<add name="Pixel Data" type="NiPixelFormat" cond="Has Pixel Data"></add>
</niobject>
|
также добавлять в конец файла в тестовых целях.
| ||
|
|
<compound name="NameControllerPair">
<add name="Name" type="string"></add>
<add name="Controller" type="Ptr" template="NiKeyframeController"></add>
</compound>
<compound name="NiSequenceMW">
<add name="Sequence Name" type="string"></add>
<add name="Use External" type="byte"></add>
<add name="Keyframe File Name" type="string" cond="Use External != 0"></add>
<add name="unknown int" type="int" cond="Use External == 0"></add>
<add name="unknown object" type="Ptr" template="NiObject" cond="Use External == 0"></add>
<add name="Num Name Controller Pairs" type="uint"></add>
<add name="Name Controller Pairs" type="NameControllerPair" arr1="Num Name Controller Pairs"></add>
</compound>
<niobject name="NiKeyframeManager" abstract="0" inherit="NiTimeController">
<add name="Num Sequences" type="uint"></add>
<add name="Sequences" type="NiSequenceMW" arr1="Num Sequences"></add>
</niobject>
|
Использовать только в тестовых целях и только для МВ!
| ||
<niobject name="NiSkinPartition" abstract="0" inherit="NiObject">
Skinning data, optimized for hardware skinning. The mesh is partitioned in submeshes such that each vertex of a submesh is influenced only by a limited and fixed number of bones.
<add name="Num Skin Partition Blocks" type="uint">Unknown.</add>
<add name="Skin Partition Blocks" type="SkinPartition" arr1="Num Skin Partition Blocks">Skin partition objects.</add>
</niobject>
|
|
<niobject name="NiSkinPartition" abstract="0" inherit="NiObject">
<add name="Num Partitions" type="uint"></add>
<add name="Partitions" type="Partition" arr1="Num Partitions"></add>
</niobject>
|