AviaSkins.Forums

AviaSkins.Forums (http://forum.aviaskins.com/index.php)
-   Вопросы Новичка8 (http://forum.aviaskins.com/forumdisplay.php?f=17)
-   -   Hier him (http://forum.aviaskins.com/showthread.php?t=3797)

Novichok8 14.09.2014 17:22

Цитата:

Сообщение от Vasya (Сообщение 131706)
Никогда не видел подобную запись кабин в классе. Скиньте(пожалуйста) - если можно - джава-файл., я тоже хочу посмотреть.

Разобрался с кабиной почти. В ФМ какая то строка отвечает.

Novichok8 14.09.2014 17:24

Цитата:

Сообщение от Vasya (Сообщение 131706)
Никогда не видел подобную запись кабин в классе. Скиньте(пожалуйста) - если можно - джава-файл., я тоже хочу посмотреть.

/*synthetic*/ static Class class$com$maddox$il2$objects$air$CockpitIL_10;
/*synthetic*/ static Class class$com$maddox$il2$objects$air$CockpitIL_10_TGun ner;

Property.set
(var_class, "cockpitClass",
(new Class[]
{ (class$com$maddox$il2$objects$air$CockpitIL_10 == null
? (class$com$maddox$il2$objects$air$CockpitIL_10
= class$("com.maddox.il2.objects.air.CockpitIL_10"))
: class$com$maddox$il2$objects$air$CockpitIL_10),
(class$com$maddox$il2$objects$air$CockpitIL_10_TGu nner == null
? (class$com$maddox$il2$objects$air$CockpitIL_10_TGu nner
= (class$
("com.maddox.il2.objects.air.CockpitIL_10_TGunner" )))
: class$com$maddox$il2$objects$air$CockpitIL_10_TGun ner) }));

Novichok8 14.09.2014 21:40

Где задаются углы поворота внешней модели туррели?
С кокпита крутиться вокруг а внешне как пропеллер.

Novichok8 14.09.2014 22:31

Мозги кипят больше чем от ИИ кода от этих мешей ,углов и т.д

Novichok8 15.09.2014 11:23

Хук от оружия если я в кокпит сделаю будет стрелять?

Novichok8 15.09.2014 11:25

И еще дайте значения для экспорта для 3д макс из меш конвертера.

Vasya 16.09.2014 19:02

Цитата:

Сообщение от Novichok8 (Сообщение 131718)
Хук от оружия если я в кокпит сделаю будет стрелять?

Вообще то - я в ковырянии классов очень даже новичок, всего с декабря начал плотно изучать классы., но некоторые моменты стал - как говорят - понемного догонять., о чём я? - видел в классах кокпитов прописуются хуки всего что должно работать или двигаться в кабинах, в том числе работу прицелов, если это гороскоп или бомбоприцела, если кокпит бомбардира., по идее - должно прописываться и вооружение - то есть хуки управления., это выходит из логики., я не учился ни на каких курсах программеров или подобных, но вот поковырял Ил и решил вскрыть внутренности игры Т34 против Тагра - всё - на мой вкус - писано на джаве, многое открываеться просто блокнотом и нормально читаеться, похожие команды и т.д.
По записи пропертиса для кокпита: допустим, даже если на языке джавы ваша запись правильная, то для Ила это ещё не значит что будет понятно прочитать и выполнить команду., это мой вывод из наблюдений в классах - похоже что Ил сличает команды или код какой либо записи с тем что у него записано в основных классах., то есть - понятно ли для будет для Ила текст этого(вами приведённого ) кусочка:
Property.set
(var_class, "cockpitClass",
(new Class[]
{ (class$com$maddox$il2$objects$air$CockpitIL_10 == null
? (class$com$maddox$il2$objects$air$CockpitIL_10
= class$("com.maddox.il2.objects.air.CockpitIL_10"))
: class$com$maddox$il2$objects$air$CockpitIL_10),
(class$com$maddox$il2$objects$air$CockpitIL_10_TGu nner == null
? (class$com$maddox$il2$objects$air$CockpitIL_10_TGu nner
= (class$
("com.maddox.il2.objects.air.CockpitIL_10_TGunn er" )))
: class$com$maddox$il2$objects$air$CockpitIL_10_TGun ner) }));
Может быть от того что я не шибко ещё продвинутый в классах, но не стал бы писать такие куски в классе кокпита, а посмотрел бы что и как пишеться в классе кокпит пилот и - возможно - сделал бы копию класса кокпит пилота, типа: CockpitPilot_A extends CockpitPilot и уже там пытался прописывать кардинальные изменения.
Вы уж простите что так накалякал - вступая в дискуссию/разговор, таким способом пытаюсь повысить свою образованность, читая ответы более грамотного мододела.

Novichok8 17.09.2014 20:15

Цитата:

Сообщение от Vasya (Сообщение 131764)
Вообще то - я в ковырянии классов очень даже новичок, всего с декабря начал плотно изучать классы., но некоторые моменты стал - как говорят - понемного догонять., о чём я? - видел в классах кокпитов прописуются хуки всего что должно работать или двигаться в кабинах, в том числе работу прицелов, если это гороскоп или бомбоприцела, если кокпит бомбардира., по идее - должно прописываться и вооружение - то есть хуки управления., это выходит из логики., я не учился ни на каких курсах программеров или подобных, но вот поковырял Ил и решил вскрыть внутренности игры Т34 против Тагра - всё - на мой вкус - писано на джаве, многое открываеться просто блокнотом и нормально читаеться, похожие команды и т.д.
По записи пропертиса для кокпита: допустим, даже если на языке джавы ваша запись правильная, то для Ила это ещё не значит что будет понятно прочитать и выполнить команду., это мой вывод из наблюдений в классах - похоже что Ил сличает команды или код какой либо записи с тем что у него записано в основных классах., то есть - понятно ли для будет для Ила текст этого(вами приведённого ) кусочка:
Property.set
(var_class, "cockpitClass",
(new Class[]
{ (class$com$maddox$il2$objects$air$CockpitIL_10 == null
? (class$com$maddox$il2$objects$air$CockpitIL_10
= class$("com.maddox.il2.objects.air.CockpitIL_10"))
: class$com$maddox$il2$objects$air$CockpitIL_10),
(class$com$maddox$il2$objects$air$CockpitIL_10_TGu nner == null
? (class$com$maddox$il2$objects$air$CockpitIL_10_TGu nner
= (class$
("com.maddox.il2.objects.air.CockpitIL_10_TGunn er" )))
: class$com$maddox$il2$objects$air$CockpitIL_10_TGun ner) }));
Может быть от того что я не шибко ещё продвинутый в классах, но не стал бы писать такие куски в классе кокпита, а посмотрел бы что и как пишеться в классе кокпит пилот и - возможно - сделал бы копию класса кокпит пилота, типа: CockpitPilot_A extends CockpitPilot и уже там пытался прописывать кардинальные изменения.
Вы уж простите что так накалякал - вступая в дискуссию/разговор, таким способом пытаюсь повысить свою образованность, читая ответы более грамотного мододела.

Это во всех стандартных классах самолета прописано. Это из ил10 стандартного самолета , а не моя. Там так и есть 2 основных класса
CockpitPilot все остольные идут от него по этому типу CockpitPilot_A extends CockpitPilot и есть 2 CockpitPilot_A extends CockpitGunner это основной для кокпита стрелков. CockpitIL_10_TGunner extends CockpitGunner. Точно так же есть основной класс серии самолета например Bf109 в нем прописаны основные данные а все остальное наследуется из Bf109. Bf109E4 extends Bf109

Novichok8 17.09.2014 20:23

Cockpit вот даже главный класс. public class CockpitGunner extends Cockpit implements HookGunner.Move
CockpitGunner этот наследует данные из него а осольные по самолетам из CockpitGunner.
public class CockpitPilot extends Cockpit и тут так же, а кокпит от ил2 или ил10 или Бф109 наследуют данные из CockpitPilot

Vasya 17.09.2014 21:46

Ну это всё понятно для меня., я написал замечания от того что не смотрел сам класс кокпита Ил-10, поэтому текст показался подозрительным. Звыняйтэ!
Почему завёл разговор - хочеться поделиться соображениями - я делал(переписывал) класс кокпита МБ-174 под патч 4.10.1 и классы стрелка и бомбардира., пришлось повозиться изрядно., правда - настроить правильную стрельбу из пулемёта стрелка не смог - там буд-то пули выскакивают не из ствола, а из барабанов пулемёта и огоньок выстрелов так же прикреплён к нему., в общем - игрался дней пять и забросил до лучших времён. Про что я хочу сказать - куски кода из патча 4.12.2 не хотят работать в патче 4.10.1, более того, поначалу при включении кокпита бомбёра - игру вибивало на рабочий стол, пока не додумался наполнить класс кодами из мода кокпита бомбёра В-25., моя мысль такая - я бы поочерёдно подставлял коды от разных кокпитов стрелка что бы сначала включился/запустился кокпит в игре, а уже следующим шагом вставлял бы функции(хуки мешей и их работа) для тех потребностей которые хочу иметь в моде. Как то так - извините за сумбурность изложения мыслей.

Novichok8 18.09.2014 12:31

Цитата:

Сообщение от Vasya (Сообщение 131782)
Ну это всё понятно для меня., я написал замечания от того что не смотрел сам класс кокпита Ил-10, поэтому текст показался подозрительным. Звыняйтэ!
Почему завёл разговор - хочеться поделиться соображениями - я делал(переписывал) класс кокпита МБ-174 под патч 4.10.1 и классы стрелка и бомбардира., пришлось повозиться изрядно., правда - настроить правильную стрельбу из пулемёта стрелка не смог - там буд-то пули выскакивают не из ствола, а из барабанов пулемёта и огоньок выстрелов так же прикреплён к нему., в общем - игрался дней пять и забросил до лучших времён. Про что я хочу сказать - куски кода из патча 4.12.2 не хотят работать в патче 4.10.1, более того, поначалу при включении кокпита бомбёра - игру вибивало на рабочий стол, пока не додумался наполнить класс кодами из мода кокпита бомбёра В-25., моя мысль такая - я бы поочерёдно подставлял коды от разных кокпитов стрелка что бы сначала включился/запустился кокпит в игре, а уже следующим шагом вставлял бы функции(хуки мешей и их работа) для тех потребностей которые хочу иметь в моде. Как то так - извините за сумбурность изложения мыслей.

Ну я максим вставил 1 модель вместо самолета а др вместо стрелка. Сами кокпиты работают, а вот повороты нефига. Я брал турель от а 20г она в обратную сторону смотрит.

Novichok8 18.09.2014 12:33

Я переделывал только на ил2м внешний пулемет стрелка , но там я позицию модели брал такую же как у оригинала и нормально получалось.

Novichok8 18.09.2014 12:55

Вложений: 2
Вот кокпитная модель крутиться по кругу нормально, а вот внешняя не по той оси.

Vasya 18.09.2014 20:19

Цитата:

Сообщение от Novichok8 (Сообщение 131791)
Вот кокпитная модель крутиться по кругу нормально, а вот внешняя не по той оси.

Ну тогда продолжу писать соображения:
переделывая гироскопичный прицел для патча 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);
}
}
Я не хочу быть задавакой - просто хочеться чем то помочь.
А вообще у меня немного творческий кризис/простой:cool: в мододелании., хотя недоделынных модов ворох лежит. :I'm_thinking:

Novichok8 20.09.2014 21:17

Цитата:

Сообщение от Vasya (Сообщение 131813)
Ну тогда продолжу писать соображения:
переделывая гироскопичный прицел для патча 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);
}
}
Я не хочу быть задавакой - просто хочеться чем то помочь.
А вообще у меня немного творческий кризис/простой:cool: в мододелании., хотя недоделынных модов ворох лежит. :I'm_thinking:

Есть обработка Турели в флайтмодел классе там же стрелки прописаны. но я думаю это для ботов.

Novichok8 20.09.2014 21:18

public void moveGun(Orient orient) {
super.moveGun(orient);
mesh.chunkSetAngles("Turret1A", -orient.getYaw(), 0.0F, 0.0F);
mesh.chunkSetAngles("Turret1B", 0.0F, orient.getTangage(), 0.0F);
}

public void clipAnglesGun(Orient orient) {
float f = orient.getYaw();
float f_0_ = orient.getTangage();
float f_1_ = Math.abs(f);
for (/**/; f < -180.0F; f += 360.0F) {
/* empty */
}
for (/**/; f > 180.0F; f -= 360.0F) {
/* empty */
}
for (/**/; prevA0 < -180.0F; prevA0 += 360.0F) {
/* empty */
}
for (/**/; prevA0 > 180.0F; prevA0 -= 360.0F) {
/* empty */
}
if (!isRealMode())
prevA0 = f;
else {
if (bNeedSetUp) {
prevTime = Time.current() - 1L;
bNeedSetUp = false;
}
if (f < -120.0F && prevA0 > 120.0F)
f += 360.0F;
else if (f > 120.0F && prevA0 < -120.0F)
prevA0 += 360.0F;
float f_2_ = f - prevA0;
float f_3_ = 0.001F * (float) (Time.current() - prevTime);
float f_4_ = Math.abs(f_2_ / f_3_);
if (f_4_ > 120.0F) {
if (f > prevA0)
f = prevA0 + 120.0F * f_3_;
else if (f < prevA0)
f = prevA0 - 120.0F * f_3_;
}
prevTime = Time.current();
if (f_0_ > 89.0F)
f_0_ = 89.0F;
if (f_0_ < cvt(f_1_, 140.0F, 180.0F, -1.0F, 25.0F))
f_0_ = cvt(f_1_, 140.0F, 180.0F, -1.0F, 25.0F);
orient.setYPR(f, f_0_, 0.0F);
orient.wrap();
prevA0 = f;
}
}

Novichok8 20.09.2014 21:19

Это движение в самом кокпите моделей.

Novichok8 20.09.2014 22:32

public void setHumanControlledTurretAngels
(Turret turret, float[] fs, HierMesh hiermesh, ActorHMesh actorhmesh) {
fs[0] = fs[1] = fs[2] = 0.0F;
fs[1] = turret.tu[0];
hiermesh.setCurChunk(turret.indexA);
actorhmesh.hierMesh().chunkSetAngles(fs);
fs[1] = turret.tu[1];
hiermesh.setCurChunk(turret.indexB);
actorhmesh.hierMesh().chunkSetAngles(fs);
}
Вот еще нарыл

Vasya 24.09.2014 19:28

Извините!
Отсутствовал пару дней на сайте - работа, однако, на мододелание времени не было.
Мои мысли:
вот это -
public void clipAnglesGun(Orient orient) {
float f = orient.getYaw();
float f_0_ = orient.getTangage();
float f_1_ = Math.abs(f);
for (/**/; f < -180.0F; f += 360.0F) {
/* empty */
}
for (/**/; f > 180.0F; f -= 360.0F) {
/* empty */
}
for (/**/; prevA0 < -180.0F; prevA0 += 360.0F) {
/* empty */
}
for (/**/; prevA0 > 180.0F; prevA0 -= 360.0F) {
/* empty */
}
- примерно - отвечает за то что турель смотрит по курсу., собственно, я думаю, это - prevA0 += 360.0F; ориентация - остальное - как она крутиться.,
а вот эта команда -
prevTime = Time.current();
if (f_0_ > 89.0F)
f_0_ = 89.0F;
if (f_0_ < cvt(f_1_, 140.0F, 180.0F, -1.0F, 25.0F))
f_0_ = cvt(f_1_, 140.0F, 180.0F, -1.0F, 25.0F);
orient.setYPR(f, f_0_, 0.0F);
orient.wrap();
prevA0 = f;
}
}
по идее должна быть и не внешке, в основном классе самолёта., это я предполагаю, опираясь на логику., меши пулемёта должны сообразно двигаться с тем что происходит в кокпите. Я, честно говоря, не сильно ковырял многомоторники с несколькими кабинами., но можно посмотреть что написано в том же Бостоне, в классах, как там синхронизированы движение турелей в разных видах или в СБ-2М, так же. У меня нет вашего класса с 3До, но если бы я делал поворот турели, то - прежде всего - открыл себе несколько классов из похожих самолётов с турелями, даже открыл бы класс Джипа, и пытался бы подставлять коды управления турелью/пулемётом., я подобно делаю когда нужно что то настроить - это мне помогает понять что и как работает.

Novichok8 29.09.2014 17:48

Цитата:

Сообщение от Vasya (Сообщение 131924)
Извините!
Отсутствовал пару дней на сайте - работа, однако, на мододелание времени не было.
Мои мысли:
вот это -
public void clipAnglesGun(Orient orient) {
float f = orient.getYaw();
float f_0_ = orient.getTangage();
float f_1_ = Math.abs(f);
for (/**/; f < -180.0F; f += 360.0F) {
/* empty */
}
for (/**/; f > 180.0F; f -= 360.0F) {
/* empty */
}
for (/**/; prevA0 < -180.0F; prevA0 += 360.0F) {
/* empty */
}
for (/**/; prevA0 > 180.0F; prevA0 -= 360.0F) {
/* empty */
}
- примерно - отвечает за то что турель смотрит по курсу., собственно, я думаю, это - prevA0 += 360.0F; ориентация - остальное - как она крутиться.,
а вот эта команда -
prevTime = Time.current();
if (f_0_ > 89.0F)
f_0_ = 89.0F;
if (f_0_ < cvt(f_1_, 140.0F, 180.0F, -1.0F, 25.0F))
f_0_ = cvt(f_1_, 140.0F, 180.0F, -1.0F, 25.0F);
orient.setYPR(f, f_0_, 0.0F);
orient.wrap();
prevA0 = f;
}
}
по идее должна быть и не внешке, в основном классе самолёта., это я предполагаю, опираясь на логику., меши пулемёта должны сообразно двигаться с тем что происходит в кокпите. Я, честно говоря, не сильно ковырял многомоторники с несколькими кабинами., но можно посмотреть что написано в том же Бостоне, в классах, как там синхронизированы движение турелей в разных видах или в СБ-2М, так же. У меня нет вашего класса с 3До, но если бы я делал поворот турели, то - прежде всего - открыл себе несколько классов из похожих самолётов с турелями, даже открыл бы класс Джипа, и пытался бы подставлять коды управления турелью/пулемётом., я подобно делаю когда нужно что то настроить - это мне помогает понять что и как работает.

это углы из кокпита стрелка. А движение внешней модели не нашел пока. TurretRottation есть в флайтмодель классе, но там только имена мешей типа Turret1A_D0 самих углов там нет, а они для каждой разные, одни крутятся на все 360 а др нет. Находил метод в самих классах TurretAngles по логике это должно было быть. Наставил все параметры 0 ничего не изменилось, как крутилось так и крутится.


Текущее время: 04:39. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot