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 ничего не изменилось, как крутилось так и крутится.

Vasya 01.10.2014 15:34

Скиньте мне - пожалуйста - в личку ваш класс и 3До, я тоже попробую., если очень сопротивляеться, то это уже становиться интересным. Я ни на что не претендую - просто хочеться потренироваться:rtfm: :I'm_thinking: и, помочь, конечно же. :rolleyes:

Novichok8 01.10.2014 19:03

Цитата:

Сообщение от Vasya (Сообщение 132049)
Скиньте мне - пожалуйста - в личку ваш класс и 3До, я тоже попробую., если очень сопротивляеться, то это уже становиться интересным. Я ни на что не претендую - просто хочеться потренироваться:rtfm: :I'm_thinking: и, помочь, конечно же. :rolleyes:

с компа буду выложу. ;-)

Grejf11 27.12.2015 23:46

Цитата:

И такой вопрос, можно анимированный меш вставить в самолет?
Неожиданно наткнулся на такой - кокпит Бленхейма от Ранверса правый пилот Игорь Франкенштейн моргает. Вид жутко мерзкий но показывает возможность анимации мешей в иле.

Asura 28.12.2015 11:52

В кабине бомбардира ТБ-3 катается карандаш, в кабине Рамы качается бинокль... К классе можно прописать смену одного меша другим, получится анимация.

NB79 28.12.2015 13:27

Меш может содержать в себе несколько фреймов. Солдатики так сделаны, парашют и парашютисты. Может ещё чего, не помню сейчас. Анимация происходит за счёт переключения фреймов. Как конкретно в игре это переключение осуществляется можно наверное в классе парашютиста смотреть. Но может управление фреймами и где-то в другом месте осуществляется.

Внутри одного меша может быть несколько различных фаз движения. Номер стартового фрейма и кол-во фреймов для фазы нигде в данных меша не сохранён. Вероятно эти значения где-то в коде класса жестко забиты.

Сама реализация такой анимации простая как пятак. По таймеру, через определённые интервалы, просто последовательно отрисовываются заранее просчитанные фреймы. Тут основная работа, это изготовление соответствующей модели.

Ну и ещё один момент. Возможно Иловский движок может работать с костями (bones которые). Но работает ли это и как работает (если поддержка есть) не знаю. По крайней мере в самой оригинальной игре таких моделей нет. Хотя в коде какая-то загрузка данных связанных с костями есть.

Может ничего нового и не рассказал. :) Тогда заранее простите за боян. :)

Grejf11 28.12.2015 17:44

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

carsmaster 28.12.2015 18:00

Цитата:

Сообщение от Grejf11 (Сообщение 147685)
Тот же движок только со снятыми заглушками использует игра 2 я Мировая откуда уже утянуто множество моделей. Так вот там кости солдат, трава и самозатенение включены.
Правда пользователи этой игрухи жаловались на ресурсоемкость но это было давно когда деревья были большими а память компов была маленькой.

Все верно Андрей, за исключением одного маленького, НО ОЧЕНЬ БОЛЬШОГО "НО".

Движок то почти тот-же, визуальная часть движка в ИЛ-2 это в основном графическая ДЛЛ.

А вот без перекомпиляции с добавлениями для включений дополнительных возможностей организовать сами возможности невозможно.

Так как полных исходников, необходимых для создания НОВОЙ графической ДЛЛ нету и никогда уже не будет, то увы Андрей, просто забудь про то что есть во Второй мировой и нету в ИЛ-2:(

NB79 28.12.2015 18:11

Цитата:

Сообщение от Grejf11 (Сообщение 147685)
Правда пользователи этой игрухи жаловались на ресурсоемкость но это было давно когда деревья были большими а память компов была маленькой.

Оно почти так-же будет тормозить и на современном железе. Движок старый, технологии отрисовки старые. О некоторых новых фичах, которые за это время появились в DX/OGL, движок просто не знает. Практически всё АПИ (по крайней мере OpenGL-вское), которое движок использует, начиная с версии 3.0 объявлено depricated, а с версии 3.3 вообще изъято из ядра. Такое не вылечишь, только переписывать.

Собственно, именно по этому в своё время и возник БоБ. Чтоб ехать дальше нужно было перебираться на новую платформу. Правда - не задалось перескочить мягко.

Grejf11 28.12.2015 18:14

Дык рукописи не горят и может кто и сохранил исходники которые всплывут. Но вот без серьезной психиатрической помощи богоизбранным тут надежды мало.

tarakan67 04.08.2018 08:08

Цитата:

Сообщение от Molva (Сообщение 131528)
Attaching 0 1 0 -1 0 0 0 0 1 0 0 0
Первые девять чисел это углы по трем осям. Три последние - координаты в метрах. Получить эти первые девять чисел можно при помощи программы MatrixParams.

Из 3DS max это более быстрый и точный метод. И нужна тоже программа MatrixParams или после каждого преобразования делать экспорт.

Если имеются два меша в максе. Один крепится к другому. Какой инструмент макса позволяет увидеть координаты одного относительно другого и, главное, углы их взаимного наклона по трём осям?

Molva 04.08.2018 09:16

Цитата:

Сообщение от tarakan67 (Сообщение 181208)
Если имеются два меша в максе. Один крепится к другому. Какой инструмент макса позволяет увидеть координаты одного относительно другого и, главное, углы их взаимного наклона по трём осям?

Если речь идет о Ил-2, то какая цель преследуется. Если о чем-то другом - тогда ОЙ.

tarakan67 04.08.2018 09:23

Цитата:

Сообщение от Molva (Сообщение 181213)
Если речь идет о Ил-2, то какая цель преследуется. Если о чем-то другом - тогда ОЙ.

Речь идёт об Ил-2. Цель - максимально упростить составление Hier.him. То есть в 3d максе я располагаю в требуемой позиции 2 меша друг относительно друга. Могу ли я в максе увидеть значения строчки
Attaching Х Х Х Х Х Х Х Х Х Х Х Х
при внесении которых в Hier.him, в игре эти меши располагались так же как и в сцене в максе?

Molva 04.08.2018 09:38

Цитата:

Сообщение от tarakan67 (Сообщение 181214)
Речь идёт об Ил-2. Цель - максимально упростить составление Hier.him.

А зачем его составлять. После экспорта он рядом с мешами лежит.

tarakan67 04.08.2018 09:46

Цитата:

Сообщение от Molva (Сообщение 181215)
А зачем его составлять. После экспорта он рядом с мешами лежит.

Проблема в том, что я умею экспортировать только отдельный меш. Может научите, как экспортировать всю сцену?

Molva 04.08.2018 10:09

Цитата:

Сообщение от tarakan67 (Сообщение 181217)
Проблема в том, что я умею экспортировать только отдельный меш. Может научите, как экспортировать всю сцену?

Учитель из меня никакой. А коротенько, нужен инструмент для экспорта, сцена в 3DS max, для каждого меша написать файл XXXXX.cfg и файл для экспорта XXX.prj. А дальше - нажать на кнопку.

tarakan67 04.08.2018 10:18

Цитата:

Сообщение от Molva (Сообщение 181218)
Учитель из меня никакой. А коротенько, нужен инструмент для экспорта, сцена в 3DS max, для каждого меша написать файл XXXXX.cfg и файл для экспорта XXX.prj. А дальше - нажать на кнопку.

buggi buggi в качестве экспортёра подойдёт?

Molva 04.08.2018 10:24

Цитата:

Сообщение от tarakan67 (Сообщение 181220)
buggi buggi в качестве экспортёра подойдёт?

Нет. Он для одного меша, а hier.him писать вручную.

Нужен
IL2 Exporter plugin for 3DS MAX by 6S.Maraz
На SAS его переделывали для разных версий макса (ссылки у меня нет).

Molva 04.08.2018 10:54

Цитата:

Сообщение от Molva (Сообщение 181221)
На SAS его переделывали для разных версий макса

https://www.sas1946.com/main/index.p...html#msg630701

tarakan67 04.08.2018 11:04

Спасибо за ссылку, но, к сожалению, ни один плагин не подошёл к моему 3ds max 9 X64bit

Molva 04.08.2018 11:10

Цитата:

Сообщение от tarakan67 (Сообщение 181230)
3ds max 9 X64bit

Это уже раритет. Надо обновиться.


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

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