AviaSkins.Forums

AviaSkins.Forums (http://forum.aviaskins.com/index.php)
-   Моды для Ил-2 (http://forum.aviaskins.com/forumdisplay.php?f=9)
-   -   Вопросы (http://forum.aviaskins.com/showthread.php?t=86)

ZloyPetrushkO 09.02.2010 19:42

имхо, оттуда надо пробовать вычленить именно поведение ботов.

а вот ФМ оттуда не брать ни в коем случае :)

mishapilot 09.02.2010 19:48

миссия с PZL P-7 не запускается, виснет на 100 % загрузки.:( можно что-нибудь сделать с этим?

Kirill 09.02.2010 20:04

Цитата:

Сообщение от ZloyPetrushkO (Сообщение 45562)
имхо, оттуда надо пробовать вычленить именно поведение ботов.

а вот ФМ оттуда не брать ни в коем случае :)

+100:)
А как вычленить? Папку ai тока поставить?

ZloyPetrushkO 09.02.2010 20:31

а хз как...там уже думать надо...ето лучше спросить у специалистов по АИ :)

lacota 09.02.2010 20:40

Цитата:

Сообщение от SLeS (Сообщение 45418)
Объявляю ..
.. наступила новая эра!

SLeS, вот ты явный фаворит с саундМодом, ну в моих глазах, так это точно.. Я тут за последнее время всяких наслушал..
Вопрос -
КАК сделать так, чтоб попадания в самолет, были попаданием в самолет (звуки ессно), а не в ухо пилота? Ну, чтоль чутка потише - дальше от головы? Теперь вот будто в рельсину у уха ((

ZloyPetrushkO 10.02.2010 00:57

на желтом форумеподнимался вопрос на тему реалистичности динамики полета игрока :)

отвечу тут, а то я там огребу :)

сеня начну, чуть позже закончу, ибо класс етот длинный, рассуждать много можно))
ну поехали(с)

собсна сам класс лежит вот тут :)а может мне кст прям на нем комментарии делать по ходу процесса?
http://slil.ru/28622720

Hayate.RU[53] 10.02.2010 01:04

Вопрос про правильность ФМ Ила. В каких местах она правильна, а в каких -- не очень (или очень не)? Исходя из кода, конечно :cool:

И из конкретных вопросов -- штопор, особенно на аэрокобре... как он сделан?

ZloyPetrushkO 10.02.2010 01:22

да не вопрос)

начну с того что уже выкладывал и что переделал для атмосферного мода
а именно- ето скольжение с большими углами. неадыкват идет полнейший.

начнем вот с етого, со стабилика вертикального
вот тута значит код( в первых строчках кст мы видим тот самый скос потока от винта. это кстати нелпохо сделано имхо :))
f1 = CT.getRudder() * (Sq.squareRudders >= 0.05F ? 28F : 0.0F);
float f11;
/* 707*/ if (EI.engines[0].getType() < 2) {
/* 708*/ f11 = -FMMath.RAD2DEG((float)Math.atan2(Vn.y - 0.5D * d4 * (double)EI.getPropDirSign(), Vn.x)) + SensYaw * rudderInfluence * f1;
} else {
/* 712*/ f11 = -FMMath.RAD2DEG((float)Math.atan2(Vn.y, Vn.x)) + SensYaw * rudderInfluence * f1;
}
/* 716*/ Cv.x = -d15 * (double)Tail.new_Cx(f11);
/* 717*/ Cv.y = d15 * (double)Tail.new_Cy(f11);
/* 718*/ Cv.z = 0.0D;
/* 720*/ if (!Realism.Stalls_N_Spins) {
/* 720*/ Cv.y += Cv.y;

}
/* 722*/ Vn.set(Vflow);


ну а подчеркнутым выделено то что нас интересует, собсна коэф-сопротивления на стабилике по углу скольжения.
если снять его показания на всех углах, выясниться что он растет постоянно, и его макс приходиться на 90 градусов.
короче на стабилике тупо нет отрыва :lol:
критический угол атаки есть, а критического угла сокльжения нет...

едем дальше)
фюзюляж у нас в дефолте не выделен в отдельное тело:
Cwl.y = -d * (double)Fusel.new_Cy(AOS);
/* 563*/ Cwl.x -= d * (double)Fusel.new_Cx(AOS);
/* 565*/ Cwr.y = -d * (double)Fusel.new_Cy(AOS);
/* 566*/ Cwr.x -= d * (double)Fusel.new_Cx(AOS);

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

в дефолте какая то хренотня ( я не совсем вогнал ка кработает етот опертор) с воздушной и ветровой скоростью:
if (Realism.Wind_N_Turbulence) {
/* 442*/ World.wind().getVector(Loc, Vwind);
} else {
/* 443*/ Vwind.set(0.0D, 0.0D, 0.0D);
}
/* 444*/ Vair.sub(Vwld, Vwind);
/* 445*/ Or.transformInv(Vair, Vflow);

но ветер они планировали изначально...по ветру вообще заготовки были, там чтобы сделать постоянный ветер нужно всего 1-2 строчки дописать кода :)

еще по сокльжению...опять же, плечо растет по закону синуса. такого нам не надо, ибо на угле скольжения 90 град момента разворачивающего нет =)
double d22 = (double)Arms.GCENTER + (double)Arms.GC_FLAPS_SHIFT * d18 * (1.0D - d20) + (double)Arms.GC_AOA_SHIFT * d20;
/* 824*/ TmpV.set(-d22, (double)Arms.WING_MIDDLE * (1.3D + 1.0D * Math.sin(FMMath.DEG2RAD(AOS))), -Arms.GCENTER_Z);


немного не понял как там с весом, который распределяеться по шасси...но тут уж мб я затупил...
вообще, с трением скольжения покая-косячокс. или недоработка. грубочато сделано :)
вот они граничные условия
if (Gears.gearsChanged) {
/* 952*/ dryFriction = 1.0F;
}
/* 953*/ if (Gears.nOfPoiOnGr > 0) {
/* 953*/ dryFriction += 0.02F;
}
/* 954*/ if (dryFriction < 1.0F) {
/* 954*/ dryFriction = 1.0F;
}
/* 955*/ if (dryFriction > 32F) {
/* 955*/ dryFriction = 32F;
}
/* 956*/ float f18 = 4F * (0.25F - EI.getPowerOutput());
/* 957*/ if (f18 < 0.0F) {
/* 957*/ f18 = 0.0F;
}
/* 958*/ f18 *= f18;
/* 959*/ f18 *= dryFriction;
/* 960*/ float f19 = f18 * M.mass * M.mass;
/* 961*/ if (!brakeShoe && (Gears.nOfPoiOnGr == 0 && Gears.nOfGearsOnGr < 3 || f18 == 0.0F || SummM.lengthSquared() > (double)(2.0F * f19) || SummF.lengthSquared() > (double)(80F * f19) || W.lengthSquared() > (double)(0.00014F * f18) || Vwld.lengthSquared() > (double)(0.09F * f18))) {
в общем то привязка к скорости...т.е. едет там саомлет или нет...и на границе езды\стояния выходит бредовато...но ет мелочи =)


еще для всех самолетов одинаковая разрушающая перегрузка:

if (getOverload() > 13.5F && !Gears.onGround() && World.Rnd().nextInt(0, 100) > 98) {
/* 756*/ cutWing();
}
да и вообще, самолеты взрываються все на 1 скорости, на 1 скорости всем ломает шасси и т.п.


вот взрыв на 310 м\с
if (indSpeed > 310F) {
/* 792*/ if (World.cur().isDebugFM()) {
/* 792*/ System.out.println("*** Sonic overspeed....");
}
/* 793*/ flutter();
}


if (indSpeed > 180F) {
/* 765*/ if (World.Rnd().nextInt(0, 100) > 76) {
/* 766*/ ((Aircraft)actor).msgCollision(actor, "GearR2_D0", "GearR2_D0");
}
/* 767*/ if (World.Rnd().nextInt(0, 100) > 76) {
/* 768*/ ((Aircraft)actor).msgCollision(actor, "GearL2_D0", "GearL2_D0");
}

а вот заклинивание закрылок :)
if (indSpeed > 81F && CT.bHasFlapsControl && CT.FlapsControl > 0.21F && (indSpeed - 81F) * CT.getFlap() > 8F) {
/* 780*/ if (World.getPlayerAircraft() == actor && CT.bHasFlapsControl) {
/* 781*/ HUD.log("FailedFlaps");


но вот ети крайние пункты кст поправимы) мб займусь в будущем :)

в общем на 1 раз хватит...
скажу токо еще вот что. не все так плохо в иле. я бы сказал что много чего очень и очень хорошего. ето обнаруживалось с удивлением)))
и в большинстве своем сделано прально)
что интересует то, а то я так долго могу? :)

ZloyPetrushkO 10.02.2010 01:24

Цитата:

Сообщение от Hayate.RU[53] (Сообщение 45589)
И из конкретных вопросов -- штопор, особенно на аэрокобре... как он сделан?

да так же как и на всех...есть предельный угол атаки для нее и некие граничные условия...
пересекаемс- у нас бац, поехали)
но так чтобы совсем уж четкий отдельный скрипт- я не встречал.
Сх и Су мб и заскриптованы как то, но все же игра пытаеться честно считать силы...
тут дело скорее в др... формулы в игре корректны для малых углов атаки, но никак не 90 и не 120....
да и вообще, корректных формул на такие углы просто нет ни в одном ависиме, т.к. их нет в реале :)
такой штопор-ето на каждыйсамолет надо писать свои формулы)

BORMANN 10.02.2010 01:33

Цитата:

Сообщение от OLORIN (Сообщение 45445)
ФМ потому и запаковывали в Баттонсы, чтобы не меняли всяких Трим=0 на 1. А то получим не Ишака а Швальбу.

Нет уж... такие игрушки должны быть только у узкоограниченного круга лиц, которые ФМ собственно и делают.

+1000000000000
Эт точно....

Kirill 10.02.2010 01:54

Петруш, а там не посмотреть динамику полета ботов? Добавить бы им несколько маневров (вираж, например). А некоторые реже сделать (вывешивание) или убрать...
Если бы занялся, было бы здорово. :);)

Grog 10.02.2010 06:35

Цитата:

Сообщение от BORMANN (Сообщение 45594)
+1000000000000
Эт точно....

Хм....меня похоже не поняли, про работу триммеров элеронов..

Попробую ещё раз....

"ИЛ-2 "Забытые сражения", запускавшийся по v1.0..
Ещё до "Асов в небе", до "Перл-Харлбора"..( дополнения типа Операция "Блау", операция "Барбаросса", "второй фронт", "дороги войны" --после которых ИЛ запускался по v1.21 -v1.22--- в расчёт не беру)

Так вот, в v 1.0 те же Яки, Лавки-ЛаГГи, Мессеры и т.д---у всех работала триммеровка по элеронам.... Так были на них эти устройства-механизмы или всё же не были??? Естественно, на Ишаках, чайках их не было конструктивно--там они и не работали..


После установки "Асов в небе" (Ил работал по v 2.0) триммерование по элеронам перестало работать почти на всех типах самолётов....Точно не упомню на каких осталось( сейчас не до переустановки ради проверки), но осталось на к примеру B-239, ещё на чем то..немногих...у мессов скажем и фок перестали..

"Перл -Харбор" ИЛ по v 3.03. Самолёты, "пришедшие" в ИЛ после этого дополнения---триммеры элеронов работают.

Чем это те же корсары заслужили, а фоки к примеру нет?

Вот, про это и речь вёл....Где истина? Причем здесь делать из "Ишака" "Швальбу"

andrey65 10.02.2010 07:04

Про триммеры
Цитата:

Сообщение от Grog (Сообщение 45599)
Чем это те же корсары заслужили, а фоки к примеру нет?

А на фоках триммеров и не было, были отгибаемые на земле пластинки, кажется...

Grog 10.02.2010 12:29

Цитата:

Сообщение от andrey65 (Сообщение 45600)
Про триммеры

А на фоках триммеров и не было, были отгибаемые на земле пластинки, кажется...

вот про ишачки--точно на них не было, только отгибаемые на земле пластины:), а про фокке-вульфы---хм...сомневаюсь что бы оные отсутствовали......

Hayate.RU[53] 10.02.2010 14:35

ZloyPetrushkO, спасибо :beer:
А можно посмотреть на код штопора?
ПыСы А вот отрыв закрылок было бы очень хорошо добавить в будущем :)

Hayate.RU[53] 10.02.2010 14:39

Цитата:

Сообщение от Grog (Сообщение 45599)
Так вот, в v 1.0 те же Яки, Лавки-ЛаГГи, Мессеры и т.д---у всех работала триммеровка по элеронам....

Это косяк, его поправили. Триммеры были у всех поголовно, по всем каналам. Но управлялись из кабины они далеко не по всем каналам и не у всех. Вот и отключили управление у тех, у кого управления не было :beer:

Цитата:

Сообщение от Grog (Сообщение 45599)
Чем это те же корсары заслужили, а фоки к примеру нет?

...стараниями инженеров Chance Vought? ;)

Hayate.RU[53] 10.02.2010 16:01

Тут один камрад утверждает, что моменты инерции в Иле криво реализованы (http://forums.games.1c.ru/index.php?mid=2334852). Так ли это, или камрад гонит?

ZloyPetrushkO 10.02.2010 22:06

Цитата:

Сообщение от Hayate.RU[53] (Сообщение 45643)
ZloyPetrushkO, спасибо :beer:
А можно посмотреть на код штопора?
ПыСы А вот отрыв закрылок было бы очень хорошо добавить в будущем :)

да немазашо...
а как я покажу код штопора, если я, как уже писал выше, собсна если скриптов оного я и не находил пока что. т.е. ничего типа " если угол атаки больше 20 град, то взть и покрутить самолет вот так"

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

вообще же, по ходу кода реалфлайт модель вот такие есть ответвления на пункт сложности "штопор"

if(!Realism.Stalls_N_Spins)
00780 AM.y += AF.z * 0.5D * Math.sin(FMMath.DEG2RAD(Math.abs(AOA)));
00781 if(W.lengthSquared() > 25D)
00782 W.scale(5D / W.length());
00783 if(!Realism.Stalls_N_Spins && Vflow.x > 20D)
00784 W.z += AOS * f;
т.е. видно, что без штопора сила на одной половине автоматически равна другой, и не возникает разворачиваюешго момента на больших углах атаки...
больше ничо с отключенный ползунком "штопор" неотключаеться :)

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

Hayate.RU[53] 10.02.2010 22:24

А что означают многочисленные коэффициенты? Пока, если честно, приведенный участок кода непонятен. Видно, что есть несколько проверок на отключение реализма и одна на вызов непонятной функции, вызывающее масштабирование чего-то...

Про класс - лучше просто скажи его название. Я пока препарировать код не планирую, сложно это, особенно когда физики не знаешь. А я не знаю :)

И еще хотелось бы узнать про инерцию...

d1310 10.02.2010 22:41

Цитата:

Сообщение от andrey65 (Сообщение 45600)
Про триммеры

А на фоках триммеров и не было, были отгибаемые на земле пластинки, кажется...

На фоках не было,на ТА-152 нарисовались на элеронах.


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

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