Пытаюсь убрать артефакт внешней модели в кабине Як-1. Для этого в классе кабины отключил видимость меша CF_D0.
Код:
protected boolean doFocusEnter()
{
if(!super.doFocusEnter())
return false;
aircraft().hierMesh().chunkVisible("Blister1_D0", false);
aircraft().hierMesh().chunkVisible("CF_D0", false);
return true;
}
protected void doFocusLeave()
{
if(!isFocused())
return;
aircraft().hierMesh().chunkVisible("Blister1_D0", true);
aircraft().hierMesh().chunkVisible("CF_D0", true);
super.doFocusLeave();
}
Затем в кабину добавил вырезанный кусочек с капота, чтобы не было дыры. Делал по образцу стандартного СБ-2. Такое сработало в кабинах Бф-109, но не работает почему-то сейчас. Меш имеет розовый цвет.
Вот добавил код в классе кабины:
Код:
protected void reflectPlaneToModel()
{
}
protected void reflectPlaneMats()
{
HierMesh hiermesh = aircraft().hierMesh();
com.maddox.il2.engine.Mat mat = hiermesh.material(hiermesh.materialFind("Gloss1D0o"));
mesh.materialReplace("Gloss1D0o", mat);
}
Вот мат файл:
Код:
[ClassInfo]
ClassName TMaterial
[General]
tfDoubleSide 0
tfShouldSort 0
tfDropShadow 0
tfGameTimer 1
[LightParams]
Ambient 1.0
Diffuse 1.0
Specular 0.2
SpecularPow 4
Shine 0.0
[Layer0]
TextureName skin1o.tga
PaletteName
Frame 0.0
VisibleDistanceNear 0.0
VisibleDistanceFar 10000.0
TextureCoordScale 0.0 0.0 1.0 1.0
ColorScale 1.0 1.0 1.0 1.0
AlphaTestVal 0.5 // of [0.1, 0.5, 0.9]
tfWrapX 1
tfWrapY 1
tfMinLinear 1
tfMagLinear 1
tfMipMap 0
tfBlend 0
tfBlendAdd 0
tfTestA 0
tfTestZ 1
tfUpDateClear 0
tfModulate 1
tfNoTexture 0
tfAnimatePalette 0
tfAnimateSkippedFrames 0
tfNoWriteZ 0
tfDepthOffset 0
tfTranspBorder 0
tfTestZEqual 0
Когда прописываю принудительно ссылку на скин, то всё работает, но при смене скина при виде из кабины капот неправильного цвета.
Код:
TextureName ..\..\Plane\Yak-1(Multi1)\Summer\skin1o.tga