|
Код NiTextureEffect для Nif.xml
Примечание о коде, для Nif.xml файла, позволяющее нифскопу создавать (редактировать) этот объект в ниф файлах.
На всякий случай (С)
Подходит для нифскопа 1.1.3 (1.2) и 2.0.х
Подходит для нифскопа 1.1.3 (1.2) и 2.0.х
Уточнены названия пары параметров и добавлено значение niPlane, вместо Unknown.
Также подобрано более правильное поведение для раздела Matirx.
Как показали наблюдения, имевшийся в этом месте код, вносил неправильные изменения при редактировании этого параметра.
Что в большинстве случаев не было критично, однако, для некоторых случаев оказалось важным!
Требуется наличие вспомогательных записей для более удобной работы с параметрами!
Этот код оптимизирован под ниф файлы 4.0!
Этот код оптимизирован под ниф файлы 4.0!
Параметр NiPlane существует еще в 3х объектах, поэтому, для удобства была создана дополнительная запись.
С теми же параметрами, но с другим названием.
Примечание.
Установка default="1.0" для Матрицы крайне важна!
Т.к. при добавлении нового текстурного эффекта, матрица, должна иметь установки по умолчанию.
Т.к. при добавлении нового текстурного эффекта, матрица, должна иметь установки по умолчанию.
Иначе, модель может начать вызывать вылет редактора! Не всегда и не сразу, но может.
Примечание.
Если не планируете "играться" с матрицей, то оставьте исходный код в файле.
Управлять плоскостью отсечения и прочими параметрами, он позволяет свободно.
<compound name="Vector3REF" niflibtype="Vector3" nifskopetype="vector3">
<add name="x" type="float" default="0.0"></add>
<add name="y" type="float" default="0.0"></add>
<add name="z" type="float" default="1.0"></add>
</compound>
<compound name="Matrix33REF">
<add name="X1" type="float" default="1.0">Member 1,1 (top left)</add>
<add name="Y1" type="float" default="0.0">Member 2,1</add>
<add name="Z1" type="float" default="0.0">Member 3,1 (bottom left)</add>
<add name="X2" type="float" default="0.0">Member 1,2</add>
<add name="Y2" type="float" default="1.0">Member 2,2</add>
<add name="Z2" type="float" default="0.0">Member 3,2</add>
<add name="X3" type="float" default="0.0">Member 1,3 (top right)</add>
<add name="Y3" type="float" default="0.0">Member 2,3</add>
<add name="Z3" type="float" default="1.0">Member 3,3 (bottom left)</add>
</compound>
<compound name="NiPlaneREF">
A plane for Texture effect
<add name="Vector" type="Vector3REF"></add>
<add name="AreaSize" type="float"></add>
</compound>
<niobject name="NiTextureEffect" abstract="0" inherit="NiDynamicEffect">
<add name="Model Projection Matrix" type="Matrix33REF"></add>
<add name="Model Projection Transform" type="Vector3"></add>
<add name="Texture Filtering" type="TexFilterMode" default="FILTER_TRILERP">Texture Filtering mode.</add>
<add name="Texture Clamping" type="TexClampMode" default="WRAP_S_WRAP_T">Texture Clamp mode.</add>
<add name="Texture Type" default="EFFECT_ENVIRONMENT_MAP" type="EffectType"></add>
<add name="Coordinate Generation Type" default="CG_SPHERE_MAP" type="CoordGenType"></add>
<add name="Source Texture" type="Ref" template="NiSourceTexture">Source texture index.</add>
<add name="Clipping Plane Enabled" type="byte"></add>
<add name="Clipping Plane" type="NiPlaneREF"></add>
<add name="PS2 L" type="short" default="0"></add>
<add name="PS2 K" type="short" default="-75"></add>
<add name="NA" type="ushort"></add>
</niobject>