Ну тогда продолжу писать соображения:
переделывая гироскопичный прицел для патча 4.12.2 я увидел такие ньюансы - в классе кокпита обязательно указываеться конкретный класс самолёта где код работы гироскопа должен увидеть продолжения команд., типа - как должен работать гироскоп применительно к кренам самолёта и т.д.,
так же - по работе открывалки кокпитов - там конкретно указываеться какой меш должен двигаться и название совпадает с названием в папке планес самолёта., эти меши двигаються по осям и они конкретно вписаны в оба класса., делая открывалку внешки для И-185 и Яка-9, получилось подставить команды от Хаята, скорректировав цыфры для более правильного движения крышки фонаря по направляющим., не только двигал цыфры, но и менял местами в строке - так получилось заставить крышку фонаря у Яка-9 двигаться назад, а двигалась и вверх и вбок и т.д.,
я это пишу вам с надеждой что хоть небольшая польза будет от меня для настройки ваших модов.,
перенастроить движения по осям не очень сложно - я внимательно посмотрел команды в классах из различным модов, сравнивая между собой и пазл стал складываться в голове, стал немного догонять как это работает.
Примеры для внешки:
Як-9
public void moveCockpitDoor(float f)
{
resetYPRmodifier();
Aircraft.xyz[0] = Aircraft.cvt(f, 0.01F, 0.99F, 0.0F, -0.62F);
hierMesh().chunkSetLocate("Blister1_D0", Aircraft.xyz, Aircraft.ypr);
if(Config.isUSE_RENDER())
{
if(Main3D.cur3D().cockpits != null && Main3D.cur3D().cockpits[0] != null)
Main3D.cur3D().cockpits[0].onDoorMoved(f);
setDoorSnd(f);
}
}
И-185
public void moveCockpitDoor(float f)
{
resetYPRmodifier();
Aircraft.xyz[1] = Aircraft.cvt(f, 0.01F, 0.99F, 0.0F, 0.0197F);
Aircraft.xyz[2] = Aircraft.cvt(f, 0.01F, 0.99F, 0.0F, -0.65F);
Aircraft.ypr[2] = Aircraft.cvt(f, 0.01F, 0.99F, 0.0F, 1.0F);
hierMesh().chunkSetLocate("Blister1_D0", Aircraft.xyz, Aircraft.ypr);
if(Config.isUSE_RENDER())
{
if(Main3D.cur3D().cockpits != null && Main3D.cur3D().cockpits[0] != null)
Main3D.cur3D().cockpits[0].onDoorMoved(f);
setDoorSnd(f);
}
}
Хаят
public void moveCockpitDoor(float f)
{
resetYPRmodifier();
Aircraft.xyz[1] = Aircraft.cvt(f, 0.01F, 0.99F, 0.0F, -0.01845F);
Aircraft.xyz[2] = Aircraft.cvt(f, 0.01F, 0.99F, 0.0F, -0.635F);
Aircraft.ypr[2] = Aircraft.cvt(f, 0.01F, 0.99F, 0.0F, 1.0F);
hierMesh().chunkSetLocate("Blister1_D0", Aircraft.xyz, Aircraft.ypr);
if(Config.isUSE_RENDER())
{
if(Main3D.cur3D().cockpits != null && Main3D.cur3D().cockpits[0] != null)
Main3D.cur3D().cockpits[0].onDoorMoved(f);
setDoorSnd(f);
}
}
Райден
public void moveCockpitDoor(float f)
{
resetYPRmodifier();
Aircraft.xyz[1] = Aircraft.cvt(f, 0.01F, 0.99F, 0.0F, 0.0198F);
Aircraft.xyz[2] = Aircraft.cvt(f, 0.01F, 0.99F, 0.0F, 0.65F);
Aircraft.ypr[2] = Aircraft.cvt(f, 0.01F, 0.99F, 0.0F, 1.0F);
hierMesh().chunkSetLocate("Blister1_D0", Aircraft.xyz, Aircraft.ypr);
if(Config.isUSE_RENDER())
{
if(Main3D.cur3D().cockpits != null && Main3D.cur3D().cockpits[0] != null)
Main3D.cur3D().cockpits[0].onDoorMoved(f);
setDoorSnd(f);
}
}
Я не хочу быть задавакой - просто хочеться чем то помочь.
А вообще у меня немного творческий кризис/простой
в мододелании., хотя недоделынных модов ворох лежит.