×
Menu

NiTextureEffect - nif.xml fix

 
Примечание о коде, для Nif.xml файла, позволяющее нифскопу создавать (редактировать) этот объект в ниф файлах.
На всякий случай (С)
Подходит для  нифскопа 1.1.3 (1.2) и 2.0.х
 
Уточнены названия пары параметров и добавлено значение niPlane, вместо Unknown.
Также подобрано более правильное поведение для раздела Matirx.
Как показали наблюдения, имевшийся в этом месте код, вносил неправильные изменения при редактировании этого параметра.
Что в большинстве случаев не было критично, однако, для некоторых случаев оказалось важным!
 
Требуется наличие вспомогательных записей для более удобной работы с параметрами!
Этот код оптимизирован под ниф файлы 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>