AviaSkins.Forums

AviaSkins.Forums (http://forum.aviaskins.com/index.php)
-   W.I.P. (http://forum.aviaskins.com/forumdisplay.php?f=38)
-   -   Mitsubishi Ki-30 (http://forum.aviaskins.com/showthread.php?t=5315)

Vasya 24.12.2019 01:02

Код:

        try
        {
            ArrayList arraylist = new ArrayList();
            Property.set(class1, "weaponsList", arraylist);
            HashMapInt hashmapint = new HashMapInt();
            Property.set(class1, "weaponsMap", hashmapint);
            byte byte0 = 13;
            String s = "default";
            Aircraft._WeaponSlot a_lweaponslot[] = new Aircraft._WeaponSlot[byte0];
            a_lweaponslot = new Aircraft._WeaponSlot[byte0];
            a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunVikkersKsi", 700);
            a_lweaponslot[1] = new Aircraft._WeaponSlot(10, "MGunVikkersKt", 600);
            a_lweaponslot[2] = null;
            a_lweaponslot[3] = null;
            a_lweaponslot[4] = null;
            a_lweaponslot[5] = null;
            a_lweaponslot[6] = null;
            a_lweaponslot[7] = null;
            a_lweaponslot[8] = null;
            a_lweaponslot[9] = null;
            a_lweaponslot[10] = null;
            a_lweaponslot[11] = null;
            a_lweaponslot[12] = null;
            for(int i = 13; i < byte0; i++)
                a_lweaponslot[i] = null;
       
            arraylist.add(s);
            hashmapint.put(Finger.Int(s), a_lweaponslot);
            s = "6x50kg";
            a_lweaponslot = new Aircraft._WeaponSlot[byte0];         
            a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunVikkersKsi", 700);
            a_lweaponslot[1] = new Aircraft._WeaponSlot(10, "MGunVikkersKt", 600);
            a_lweaponslot[2] = null;
            a_lweaponslot[3] = null;
            a_lweaponslot[4] = null;
            a_lweaponslot[5] = null;
            a_lweaponslot[6] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1);
            a_lweaponslot[7] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1);
            a_lweaponslot[8] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1);
            a_lweaponslot[9] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1);
            a_lweaponslot[10] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1);
            a_lweaponslot[11] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1);
            a_lweaponslot[12] = null;
            for(int j = 13; j < byte0; j++)
                a_lweaponslot[j] = null;
       
            arraylist.add(s);
            hashmapint.put(Finger.Int(s), a_lweaponslot);
            s = "3x100kg";
            a_lweaponslot = new Aircraft._WeaponSlot[byte0];
            a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunVikkersKsi", 700);
            a_lweaponslot[1] = new Aircraft._WeaponSlot(10, "MGunVikkersKt", 600);
            a_lweaponslot[2] = null;
            a_lweaponslot[3] = null;
            a_lweaponslot[4] = null;
            a_lweaponslot[5] = null;
            a_lweaponslot[6] = null;
            a_lweaponslot[7] = null;
            a_lweaponslot[8] = null;
            a_lweaponslot[9] = null;
            a_lweaponslot[10] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1);
            a_lweaponslot[11] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1);
            a_lweaponslot[12] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1);
            for(int j1 = 13; j1 < byte0; j1++)
                a_lweaponslot[j1] = null;


Vasya 24.12.2019 01:02

Код:

            arraylist.add(s);
            hashmapint.put(Finger.Int(s), a_lweaponslot);
            s = "4x100kg";
            a_lweaponslot = new Aircraft._WeaponSlot[byte0];
            a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunVikkersKsi", 700);
            a_lweaponslot[1] = new Aircraft._WeaponSlot(10, "MGunVikkersKt", 600);
            a_lweaponslot[2] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1);
            a_lweaponslot[3] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1);
            a_lweaponslot[4] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1);
            a_lweaponslot[5] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1);
            a_lweaponslot[6] = null;
            a_lweaponslot[7] = null;
            a_lweaponslot[8] = null;
            a_lweaponslot[9] = null;
            a_lweaponslot[10] = null;
            a_lweaponslot[11] = null;
            a_lweaponslot[12] = null;
            for(int j2 = 13; j2 < byte0; j2++)
                a_lweaponslot[j2] = null;
                               
            arraylist.add(s);
            hashmapint.put(Finger.Int(s), a_lweaponslot);
            s = "1x250kg";
            a_lweaponslot = new Aircraft._WeaponSlot[byte0];         
            a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunVikkersKsi", 700);
            a_lweaponslot[1] = new Aircraft._WeaponSlot(10, "MGunVikkersKt", 600);
            a_lweaponslot[2] = null;
            a_lweaponslot[3] = null;
            a_lweaponslot[4] = null;
            a_lweaponslot[5] = null;
            a_lweaponslot[6] = null;
            a_lweaponslot[7] = null;
            a_lweaponslot[8] = null;
            a_lweaponslot[9] = null;
            a_lweaponslot[10] = null;
            a_lweaponslot[11] = null;
            a_lweaponslot[12] = new Aircraft._WeaponSlot(3, "BombGun250kgJ", 1);
            for(int j3 = 1; j3 < byte0; j3++)
                a_lweaponslot[j3] = null;                               
                                       
            arraylist.add(s);
            hashmapint.put(Finger.Int(s), a_lweaponslot);
            s = "1x250kg+4x50kg";
            a_lweaponslot = new Aircraft._WeaponSlot[byte0];         
            a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunVikkersKsi", 700);
            a_lweaponslot[1] = new Aircraft._WeaponSlot(10, "MGunVikkersKt", 600);
            a_lweaponslot[2] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1);
            a_lweaponslot[3] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1);
            a_lweaponslot[4] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1);
            a_lweaponslot[5] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1);
            a_lweaponslot[6] = null;
            a_lweaponslot[7] = null;
            a_lweaponslot[8] = null;
            a_lweaponslot[9] = null;
            a_lweaponslot[10] = null;
            a_lweaponslot[11] = null;
            a_lweaponslot[12] = new Aircraft._WeaponSlot(3, "BombGun250kgJ", 1);
            for(int j4 = 1; j4 < byte0; j4++)
                a_lweaponslot[j4] = null;                               
                                       
            arraylist.add(s);
            hashmapint.put(Finger.Int(s), a_lweaponslot);
            s = "1x250kg+2x100kg";
            a_lweaponslot = new Aircraft._WeaponSlot[byte0];         
            a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunVikkersKsi", 700);
            a_lweaponslot[1] = new Aircraft._WeaponSlot(10, "MGunVikkersKt", 600);
            a_lweaponslot[2] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1);
            a_lweaponslot[3] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1);
            a_lweaponslot[4] = null;
            a_lweaponslot[5] = null;
            a_lweaponslot[6] = null;
            a_lweaponslot[7] = null;
            a_lweaponslot[8] = null;
            a_lweaponslot[9] = null;
            a_lweaponslot[10] = null;
            a_lweaponslot[11] = null;
            a_lweaponslot[12] = new Aircraft._WeaponSlot(3, "BombGun250kgJ", 1);
            for(int j5 = 1; j5 < byte0; j5++)
                a_lweaponslot[j5] = null;                                       
           
            arraylist.add(s);
            hashmapint.put(Finger.Int(s), a_lweaponslot);
            s = "10x50kg";
            a_lweaponslot = new Aircraft._WeaponSlot[byte0];         
            a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunVikkersKsi", 700);
            a_lweaponslot[1] = new Aircraft._WeaponSlot(10, "MGunVikkersKt", 600);
            a_lweaponslot[2] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1);
            a_lweaponslot[3] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1);
            a_lweaponslot[4] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1);
            a_lweaponslot[5] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1);
            a_lweaponslot[6] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1);
            a_lweaponslot[7] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1);
            a_lweaponslot[8] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1);
            a_lweaponslot[9] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1);
            a_lweaponslot[10] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1);
            a_lweaponslot[11] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1);
            a_lweaponslot[12] = null;
            for(int j6 = 13; j6 < byte0; j6++)
                a_lweaponslot[j6] = null;
           
            arraylist.add(s);
            hashmapint.put(Finger.Int(s), a_lweaponslot);
            s = "5x100kg";
            a_lweaponslot = new Aircraft._WeaponSlot[byte0];
            a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunVikkersKsi", 700);
            a_lweaponslot[1] = new Aircraft._WeaponSlot(10, "MGunVikkersKt", 600);
            a_lweaponslot[2] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1);
            a_lweaponslot[3] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1);
            a_lweaponslot[4] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1);
            a_lweaponslot[5] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1);
            a_lweaponslot[6] = null;
            a_lweaponslot[7] = null;
            a_lweaponslot[8] = null;
            a_lweaponslot[9] = null;
            a_lweaponslot[10] = null;
            a_lweaponslot[11] = null;
            a_lweaponslot[12] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1);
            for(int j7 = 13; j7 < byte0; j7++)
                a_lweaponslot[j7] = null;
           
            arraylist.add(s);
            hashmapint.put(Finger.Int(s), a_lweaponslot);
            s = "none";
            a_lweaponslot = new Aircraft._WeaponSlot[byte0];
            a_lweaponslot[0] = null;
            a_lweaponslot[1] = null;
            a_lweaponslot[2] = null;
            a_lweaponslot[3] = null;
            a_lweaponslot[4] = null;
            a_lweaponslot[5] = null;
            a_lweaponslot[6] = null;
            a_lweaponslot[7] = null;
            a_lweaponslot[8] = null;
            a_lweaponslot[9] = null;
            a_lweaponslot[10] = null;
            a_lweaponslot[11] = null;
            a_lweaponslot[12] = null;
            for(int l = 0; l < byte0; l++)
                a_lweaponslot[l] = null;

            arraylist.add(s);
            hashmapint.put(Finger.Int(s), a_lweaponslot);
        }
        catch(Exception exception) { }
    }
}


Vasya 24.12.2019 01:24

Взято из CockpitD3A2_TGunner.java

Код:

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

    public void clipAnglesGun(Orient orient)
    {
        if(isRealMode())
            if(!aiTurret().bIsOperable)
            {
                orient.setYPR(0.0F, 0.0F, 0.0F);
            } else
            {
                float f = orient.getYaw();
                float f1 = orient.getTangage();
                if(f < -33F)
                    f = -33F;
                if(f > 33F)
                    f = 33F;
                if(f1 > 62F)
                    f1 = 62F;
                if(f1 < -3F)
                    f1 = -3F;
                orient.setYPR(f, f1, 0.0F);
                orient.wrap();
            }
    }

Код:

    static java.lang.Class _mthclass$(java.lang.String s)
    {
        java.lang.Class class1;
        try
        {
            class1 = java.lang.Class.forName(s);
        }
        catch(java.lang.ClassNotFoundException classnotfoundexception)
        {
            throw new NoClassDefFoundError(classnotfoundexception.getMessage());
        }
        return class1;
    }
   
    static
    {
        Property.set(com.maddox.il2.objects.air.CockpitKi30A_TGunner.class, "aiTuretNum", 0);
        Property.set(com.maddox.il2.objects.air.CockpitKi30A_TGunner.class, "weaponControlNum", 10);
        Property.set(com.maddox.il2.objects.air.CockpitKi30A_TGunner.class, "astatePilotIndx", 1);
    }
}


Vasya 24.12.2019 01:50

Вложений: 1
Вот, что получилось на скорую руку.
Компилится в среде 4.13.4.
В архиве классы+джава и готовые хеши.
Очень хочеться что бы получилось настроить Ки-30. :ok:
Буду рад участвовать и далее в проектах. :ups:
---------------------------
Исправил очепятки 25 декабря.

GUZKNIFE 24.12.2019 12:02

Цитата:

Сообщение от Vasya (Сообщение 203825)
Код:

   
    private static Aircraft._WeaponSlot[] GenerateDefaultConfig(int i)
    {
        Aircraft._WeaponSlot a_lweaponslot[] = new Aircraft._WeaponSlot[i];
        try
        {
            a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunVikkersKsi", 700);
            a_lweaponslot[1] = new Aircraft._WeaponSlot(10, "MGunVikkersKt", 600);
            a_lweaponslot[2] = null;
            a_lweaponslot[3] = null;
            a_lweaponslot[4] = null;
            a_lweaponslot[5] = null;
            a_lweaponslot[6] = null;
            a_lweaponslot[7] = null;
            a_lweaponslot[8] = null;
            a_lweaponslot[9] = null;
            a_lweaponslot[10] = null;
            a_lweaponslot[11] = null;
            a_lweaponslot[12] = null;       
        }
        catch(Exception exception) { }
        return a_lweaponslot;
    }


Немного комментария по этому классу.В данном классе этот раздел-бесполезная функция.Если бы её не было,то на классе это никак не отразиться.Вопрос?Вы знаете её назначение???

Asura 24.12.2019 14:44

Цитата:

Сообщение от tvister (Сообщение 203807)
Есть мысли, что виноват кокпит стрелка Энн. Уж очень велико расстояние между центральными точками опоры пулемета внешней модели и пулемета кокпита.

Это не верное предположение. Управляется и стреляет один ствол - на внешней модели. Ствол в кабине это "муляж" по сути. Совмещение внешней модели и модели кабины необходимо только из эстетических соображений.

Могу предположить, что проблема в изначальном наклонном положении хука стрелковой точки. То есть в момент старта миссии нулевыми считаются координаты "транспортного положения". У СБ - там где верхний шкас поднимается - ствол изначально горизонтально. В Р-5 и У-2 перемещение стволов реализовано через фейковый мешь. То есть крутится ствол, который не связан с хуком. после завершения анимации перевода в боевое положение фейковый ствол скрывается а связанный с хуком наоборот показывается. И он изначально в горизонтальном "рабочем" состоянии. Может попробовать так сделать?

Vasya 24.12.2019 17:51

Цитата:

Сообщение от GUZKNIFE (Сообщение 203831)
Немного комментария по этому классу. В данном классе этот раздел-бесполезная функция. Если бы её не было,то на классе это никак не отразиться. Вопрос? Вы знаете её назначение???

Для меня не безполезная.
Я знаю, что это дубляж дефаулт. И шо?
Просто раздел дефаулт с этой функцией можно не писать, но я пишу.
Пререпроверка наличного вооружения.

tvister 24.12.2019 21:23

Цитата:

Сообщение от Vasya (Сообщение 203829)
Вот, что получилось на скорую руку.
Компилится в среде 4.13.4.

Василий спасибо за помощь! Увы, но вашими классами вылет на 60%. Может потому, что у меня версия Ил-а 4.12? :I'm_thinking:

Цитата:

Сообщение от Asura (Сообщение 203829)
Это не верное предположение. Управляется и стреляет один ствол - на внешней модели. Ствол в кабине это "муляж" по сути. Совмещение внешней модели и модели кабины необходимо только из эстетических соображений.

Ясно, значит кокпит тут не причем.
Цитата:

Сообщение от Asura (Сообщение 203829)
Могу предположить, что проблема в изначальном наклонном положении хука стрелковой точки. То есть в момент старта миссии нулевыми считаются координаты "транспортного положения". У СБ - там где верхний шкас поднимается - ствол изначально горизонтально. В Р-5 и У-2 перемещение стволов реализовано через фейковый мешь. То есть крутится ствол, который не связан с хуком. после завершения анимации перевода в боевое положение фейковый ствол скрывается а связанный с хуком наоборот показывается. И он изначально в горизонтальном "рабочем" состоянии. Может попробовать так сделать?

Интересная идея, тем более, что сидя на месте стрелка, на автомате, я замечал, что он как бы чуть задирает ствол. Может как раз на те же 30 градусов?:I'm_thinking:
Попробую разобрать хеши от Василия и глянуть дефолт Р-5.

tvister 24.12.2019 21:48

Глянул Р-5 в дефолте. У него нет анимации подъема или спуска пулемета. Обычный жестко закрепленный вариант пулемета.

Vasya 25.12.2019 00:02

Цитата:

Сообщение от tvister (Сообщение 203850)
Василий спасибо за помощь! Увы, но вашими классами вылет на 60%. Может потому, что у меня версия Ил-а 4.12? :I'm_thinking:


Ясно, значит кокпит тут не причем.

Интересная идея, тем более, что сидя на месте стрелка, на автомате, я замечал, что он как бы чуть задирает ствол. Может как раз на те же 30 градусов?:I'm_thinking:
Попробую разобрать хеши от Василия и глянуть дефолт Р-5.

Не нужно разбирать хеши - там вложены исходники.
Скинь мне будь-ласка в личку планер с кокпитом - я посмотрю как работает анимация пулемётиста. :ok:
И версия 4.12.2 - 4.13.4 должна быть без разницы.
Там простой код.

tvister 25.12.2019 00:28

Отправил в личку. Это версия с анимированным не стреляющим пулеметом и корявыми сканами за которые я еще не брался.

Vasya 25.12.2019 01:49

Вложений: 2
Цитата:

Сообщение от tvister (Сообщение 203854)
Отправил в личку. Это версия с анимированным не стреляющим пулеметом и корявыми сканами за которые я еще не брался.

Уже скачал.
Сейчас проверю.
Пока проверял классы:
приделал 3До от Д3А2.,
миссия загрузилась в патчах 4.12.2 и в 4.13.4.
Правда в кокпит не смог зайти - какчество приборов Айчы не соответствует классам от Ки-30.
Попутно переписал фм и мотор для Айчи - буду тестить сегодня.
На картинках планер Айчы на классах от Ки-30.

Vasya 25.12.2019 02:21

Уже грузиться в миссии.
Читаю фм и рою интернет.

Vasya 25.12.2019 11:19

Вложений: 5
Цитата:

Сообщение от Vasya (Сообщение 203856)
Уже грузиться в миссии.
Читаю фм и рою интернет.

Поисправлял мелкие очепятки и накалякал фм с мотором.
http://forum.aviaskins.com/showthrea...829#post203829
Всё грузиться в патчах 4.12.2 и 4.13.4.
Скорость паспортная.
Мотор откровенно слабый для самолёта более 3-х тонн.
Разгоняеться по полосе вяленько.
Скорость отрыва с триммерами в ноль - 190 км. в час.
Есть некоторые артефакты в кокпите.
Пулемёт и вправду не стреляет.
Наверное нужен другой код.
В Д3А2 пулемёт стоит ровно без наклона.
Углы в коде - по моему - это углы отклонения пулемёта при стрельбе.
Для перевода пулемёт в нерабочее положение нужно наверное задавать
в коде ещё одно положение.
Тут я не спец, чесно.

tvister 25.12.2019 12:00

Цитата:

Сообщение от Vasya (Сообщение 203860)
Поисправлял мелкие очепятки и накалякал фм с мотором.
http://forum.aviaskins.com/showthrea...829#post203829
Всё грузиться в патчах 4.12.2 и 4.13.4.
Скорость паспортная.
Мотор откровенно слабый для самолёта более 3-х тонн.
Разгоняеться по полосе вяленько.
Скорость отрыва с триммерами в - 190 км. в час.

Супер!!! Приду домой полетаем.
Цитата:

Сообщение от Vasya (Сообщение 203860)
Есть некоторые артефакты в кокпите.

Это да, кокпитом не занимался.
Цитата:

Сообщение от Vasya (Сообщение 203860)
Пулемёт и вправду не стреляет.
Наверное нужен другой код.
В Д3А2 пулемёт стоит ровно без наклона.

Что ж "будем искать". К сожалению у меня крайне мало знаний по яве, а в иле относительно мало механизмов анимации огневых точек. Присматриваюсь к опускным башням как на Б-25. Если башня опускается, значит её можно и поднять, а дальше мысли теряются... Или механизм подобный СБ...:I'm_thinking:

Vasya 25.12.2019 22:09

Вложений: 1
Цитата:

Сообщение от tvister (Сообщение 203863)
....................................
Что ж "будем искать"...................

Если есть желание - можно поставить "автентичное" вооружение -
японский кулэмэт Тип-89.
http://www.airwar.ru/weapon/guns/type89-2.html
http://www.airwar.ru/image/idop/weap...type89-2-1.jpg
http://www.airwar.ru/image/idop/weap...type89-2-3.jpg

tvister 25.12.2019 23:24

Василий, спасибо за работу, поставил Энн с твоим ФМ. Ты говоришь вялый мотор? Сравнил старую ФМ и новую, записи в аир.ини разные, так что можно. Так вот, при равной загрузке Твоя модель оказалась быстрее чем старая! А пулемет в Твоей загрузке уже новый стоит?

Vasya 25.12.2019 23:49

Цитата:

Сообщение от tvister (Сообщение 203884)
Василий, спасибо за работу, поставил Энн с твоим ФМ. Ты говоришь вялый мотор? Сравнил старую ФМ и новую, записи в аир.ини разные, так что можно. Так вот, при равной загрузке Твоя модель оказалась быстрее чем старая! А пулемет в Твоей загрузке уже новый стоит?

Ещё старий.
Переписать?
Старая фм вообще от фонаря - там и близко нет данных для Ки-30,
даже крыло больше на 7 метров по площади.
Так как площадей и плечей у меня нет, то лопатил разные фм
и подставлял для Ки-30 близкие значения.
Разница с реально померянными плечами и площадями Ки-30
и записями в моей фм будут не очень большая: +- 15-30 см.
Крило смотрел по твоей модели - оно интересной формы/профиля.
Вообще то угол установки крыла там небольшой - 8-11 градусов,
я поставил 13, иначе самолёт будет туповат на взлёте.
Просто большинство не пользуется триммерами.
С выкрученным триммером руля высоты даже с бомбами Ки-30 -
думаю - взлетал на скорости 170-180 км. в час.
В Иле тяга прописанного мотора немного меньше реальногй тяги мотора Ки-30.
Издержки древности игры.
Накрутить мощность, а потом зажать сопротивлением как это сделано
в дефолте для многих моделей, полагаю не выход.
Сопротивление крыла и самолёта расчитана под меньшую площадь - около 18 метров.
Недостающее сопротивление игра сама вычисляет
согласно прописанной площади крыла в фм.
------------------------------------------------------
Ки-30 развивает максимальную скорость на высоте 4050 метров. :ok:
Можешь померять. :ups:
Нажмёшь стабилизацию и радиатор 6.

tvister 26.12.2019 01:56

Спасибо. Василий, это все тяжелая работа, но дело в том, что сама модель очень неточная. Все равно спасибо, даже если мы не знаем хотя бы приблизительных геометрических характеристик, то привяжем параметры к уже имеющейся модели. По поводу пулемета, велики ли там отличия от Виккерса? Пока смотрю анимацию СБ, Ю-86, и ранних Хеншелей-111. Хотя все это конечно не то, что надо...

Vasya 26.12.2019 02:34

Цитата:

Сообщение от tvister (Сообщение 203889)
Спасибо. Василий, это все тяжелая работа, но дело в том, что сама модель очень неточная. Все равно спасибо, даже если мы не знаем хотя бы приблизительных геометрических характеристик, то привяжем параметры к уже имеющейся модели. По поводу пулемета, велики ли там отличия от Виккерса? Пока смотрю анимацию СБ, Ю-86, и ранних Хеншелей-111. Хотя все это конечно не то, что надо...

У меня с ходу Ки-30 полетел 388 км. в час.
Замерил маневренность.
Потом я снова тщательно пересчитал крыло и сопротивление, увеличил К_Макс.
Улучшил аэродинамическое качество крыла выставил приблизительную
подъёмную силу.
Но на разбеге Ки-30 показался очень вялым.
Хотя максималка пришла в норму со второй попытки:
ничего потом уже не пересчитывал.
И маневренность показалась приемлемой - даже слегка лучше, чем планировал.
У нас ресурса в фм для отображения поведения самолёта намного больше,
чем во Флайт-симуляторе. Там всё очень плоско - модели летают одинаково.
По коду пулемёта:
или оставить горизонтально, или просить Ут2 помочь.
Другого выхода не вижу.
И ещё: в 3Д модель Ки-30 нужно поставить мотораму и противопожарную
перегородку - через цилиндры видны ноги пилота.
И в кокпите нужно одеть стрелка, а то он пока зелебобик. :ok:
Успехов!
Кстати: я исправил сваливание Ки-32.
В оригинальной фм кто то поломал К_Макс.
Я весной не досмотрел эту корявость.
Бывает так часто, что в САСовских фм встречаються очепятки и бяки.
Я тоже делаю ошибки, особенно очепятки из-за плохого зрения.
Вот пишу и радуюсь - сердечный приступ (больше часа держал)
прошёл, думал ласты склею,
даже сознание потерял на секунд 30-40, потом судорга всего дёрнула
и пришёл в себя. Пидтоптаный уже, однако.:ups:


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

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