AviaSkins.Forums

Go Back   AviaSkins.Forums > Основные разделы > Моды для Ил-2 > Первым делом, первым делом - самолеты > W.I.P.
Register FAQ Community Calendar Today's Posts Search

Notices

Reply
 
Thread Tools Search this Thread Display Modes
Old 03.12.2019, 21:51   #101
tvister
Местный
 
tvister's Avatar
 
Join Date: 26.12.2013
Location: Донецьк Україна
Posts: 1848
Default

Эх, это то же не то. Это совершенно верно, код регулирующий углы обстрела задней огневой точки. Вот что меня интересует на примере блендера. Для того что бы пулемет кое как наводился пришлось повернуть его по Z на 180 градусов а по Х на -90. Сейчас чешу репу и вижу, что у дефолтной модели "Вел" вообще ничего не накручено.
Attached Thumbnails
Click image for larger version

Name:	Новый рисунок.jpg
Views:	435
Size:	3078 KB
ID:	63293  
tvister is offline   Reply With Quote
Old 04.12.2019, 17:09   #102
Asura
Модератор
 
Asura's Avatar
 
Join Date: 28.02.2007
Location: Тула, Россия
Posts: 1892
Default

Не знаю как в бледрере, а в максе есть такая штука как "пивот" - вот его направленность как раз и важна для турелей. И для всего прочего. по осям пивота крутятся все части моделей. И если в кабине например все равно как установлен пивот - я могу принудительно задать ось и направление поворота, то для внешней модели направление осей пивота категорически важно! и ориентированы они должны быть только определенным образом. Я на картинке выше как раз и показывал как.
__________________
Их восемь — нас двое. Расклад перед боем
Не наш, но мы будем играть!
Серёжа! Держись, нам не светит с тобою,
Но козыри надо равнять.

© В. Высоцкий
__________________

Asura is offline   Reply With Quote
Old 04.12.2019, 17:35   #103
tvister
Местный
 
tvister's Avatar
 
Join Date: 26.12.2013
Location: Донецьк Україна
Posts: 1848
Default

Quote:
Originally Posted by Asura View Post
Не знаю как в бледрере, а в максе есть такая штука как "пивот"
Понял, спасибо.
tvister is offline   Reply With Quote
Old 08.12.2019, 20:02   #104
tvister
Местный
 
tvister's Avatar
 
Join Date: 26.12.2013
Location: Донецьк Україна
Posts: 1848
Default

Никак не могу наладить стрельбу задней огневой точки. Перепробовал все варианты ориентации и расположения мешей, но пулемет живет своей жизнью, наводится неправильно и не стреляет.
tvister is offline   Reply With Quote
Old 08.12.2019, 21:57   #105
Asura
Модератор
 
Asura's Avatar
 
Join Date: 28.02.2007
Location: Тула, Россия
Posts: 1892
Default

Если выгрузишь мод - могу посмотреть...
__________________
Их восемь — нас двое. Расклад перед боем
Не наш, но мы будем играть!
Серёжа! Держись, нам не светит с тобою,
Но козыри надо равнять.

© В. Высоцкий
__________________

Asura is offline   Reply With Quote
Old 08.12.2019, 23:57   #106
tvister
Местный
 
tvister's Avatar
 
Join Date: 26.12.2013
Location: Донецьк Україна
Posts: 1848
Default

Quote:
Originally Posted by Asura View Post
Если выгрузишь мод - могу посмотреть...
Решил не травмировать чувства наших коллег. Отправил "первый блин" в личку.
tvister is offline   Reply With Quote
Old 19.12.2019, 01:43   #107
tvister
Местный
 
tvister's Avatar
 
Join Date: 26.12.2013
Location: Донецьк Україна
Posts: 1848
Default

Содрал с Вел и поставил на Энн заднюю турель. Спасибо Asura! Пулемет крутится, наводится, но не стреляет... Причем при переходе в положение стрелка наблюдателя пулемет стреляет. Вроде уже все перепробовал, но толку пока нет.
tvister is offline   Reply With Quote
Old 19.12.2019, 15:35   #108
Asura
Модератор
 
Asura's Avatar
 
Join Date: 28.02.2007
Location: Тула, Россия
Posts: 1892
Default

Попробуй посмотреть код ограничений углов - нет ли там осечки зон хвостового оперения? Я бы для начала снял вообще все ограничения и проверил без них.
__________________
Их восемь — нас двое. Расклад перед боем
Не наш, но мы будем играть!
Серёжа! Держись, нам не светит с тобою,
Но козыри надо равнять.

© В. Высоцкий
__________________

Asura is offline   Reply With Quote
Old 19.12.2019, 23:45   #109
tvister
Местный
 
tvister's Avatar
 
Join Date: 26.12.2013
Location: Донецьк Україна
Posts: 1848
Default

Quote:
Originally Posted by Asura View Post
Попробуй посмотреть код ограничений углов - нет ли там осечки зон хвостового оперения? Я бы для начала снял вообще все ограничения и проверил без них.
Вот эти ?
Code:
    public boolean turretAngles(int i, float[] fs) {
	boolean bool = super.turretAngles(i, fs);
	float f = -fs[0];
	float f_0_ = fs[1];
	switch (i) {
	case 0:
	    if (f < -33.0F) {
		f = -33.0F;
		bool = false;
	    }
	    if (f > 33.0F) {
		f = 33.0F;
		bool = false;
	    }
	    if (f_0_ < -3.0F) {
		f_0_ = -3.0F;
		bool = false;
	    }
	    if (f_0_ > 62.0F) {
		f_0_ = 62.0F;
		bool = false;
	    }
	    /* fall through */
	default:
	    fs[0] = -f;
	    fs[1] = f_0_;
	    return bool;
	}
    }
Code:
    public void clipAnglesGun(Orient orient) {
	if (isRealMode()) {
	    if (!aiTurret().bIsOperable)
		orient.setYPR(0.0F, 0.0F, 0.0F);
	    else {
		float f = orient.getYaw();
		float f_0_ = orient.getTangage();
		if (f < -33.0F)
		    f = -33.0F;
		if (f > 33.0F)
		    f = 33.0F;
		if (f_0_ > 62.0F)
		    f_0_ = 62.0F;
		if (f_0_ < -3.0F)
		    f_0_ = -3.0F;
		orient.setYPR(f, f_0_, 0.0F);
		orient.wrap();
	    }
	}
    }
tvister is offline   Reply With Quote
Old 20.12.2019, 17:22   #110
Asura
Модератор
 
Asura's Avatar
 
Join Date: 28.02.2007
Location: Тула, Россия
Posts: 1892
Default

Да. Я думаю что бт не стреляет потому что не может прицелится... Если стволом водит - значит турель под управлением ИИ. А не стреляет - не может попасть. Если снять ограничение возможно начнет стрелять.
__________________
Их восемь — нас двое. Расклад перед боем
Не наш, но мы будем играть!
Серёжа! Держись, нам не светит с тобою,
Но козыри надо равнять.

© В. Высоцкий
__________________

Asura is offline   Reply With Quote
Old 23.12.2019, 00:24   #111
tvister
Местный
 
tvister's Avatar
 
Join Date: 26.12.2013
Location: Донецьк Україна
Posts: 1848
Default

Все строки контроля турели удалил. И в классе самолета, и в классе кокпита стрелка, и в разных вариантах, но толку нет никакого. Впрочем есть, иногда, но крайне редко, пулемет дает пару-тройку выстрелов и замолкает. Есть мысли, что виноват кокпит стрелка Энн. Уж очень велико расстояние между центральными точками опоры пулемета внешней модели и пулемета кокпита. Полагаю, что наводка обеих стволов как то взаимосвязанна. А навести оба ствола в одну точку невозможно. Единственный небольшой сектор сведения есть строго по средней линии, но именно там с классах наложено ограничение по стрельбе и где то в ту сторону пулемет иногда постреливает.
Пы. Сы. подзадолбался я с этим проектом. Вроде все правильно сделано, с названиями и пивотами, спасибо всем, разобрался. А все равно не работает. Попробую поковырять кокпит. Правда я им никогда не занимался, но ведь раньше я вообще ничего не знал и не умел... Если не получится с кокпитом, изменю положение стрелка и пулемета, сдвину их кпереди, что бы закрывался фонарь, а пулемет зафиксирую неподвижно, без подъёмного механизма.
tvister is offline   Reply With Quote
Old 23.12.2019, 03:20   #112
Vasya
Звичайна людина на Землі
 
Vasya's Avatar
 
Join Date: 06.11.2011
Location: Україна, м.Київ, Печерський район, вул. Кіквідзе
Posts: 8357
Вопрос

Quote:
Originally Posted by tvister View Post
................Впрочем есть, иногда, но крайне редко, пулемет дает пару-тройку выстрелов и замолкает. .............
Какой пулемёт прописан в классе?
Vasya is offline   Reply With Quote
Old 23.12.2019, 07:52   #113
tvister
Местный
 
tvister's Avatar
 
Join Date: 26.12.2013
Location: Донецьк Україна
Posts: 1848
Default

Quote:
Originally Posted by Vasya View Post
Какой пулемёт прописан в классе?
MGunVikkersKt.
tvister is offline   Reply With Quote
Old 23.12.2019, 17:57   #114
Vasya
Звичайна людина на Землі
 
Vasya's Avatar
 
Join Date: 06.11.2011
Location: Україна, м.Київ, Печерський район, вул. Кіквідзе
Posts: 8357
Вопрос

Quote:
Originally Posted by tvister View Post
MGunVikkersKt.
Можно сделать так:
Взять Велл или чего другое и поставить код стрелка туда и проверить.
А лучше давай класс мне - я проверю на похожем самолёте.
Думаю, что очепятки в классе с пропиской вооружения или в самом классе виккерса. Возможно стоит модный класс виккерса с ошибками.
Vasya is offline   Reply With Quote
Old 23.12.2019, 22:59   #115
tvister
Местный
 
tvister's Avatar
 
Join Date: 26.12.2013
Location: Донецьк Україна
Posts: 1848
Default

Quote:
Originally Posted by Vasya View Post
Можно сделать так:
Взять Велл или чего другое и поставить код стрелка туда и проверить.
А лучше давай класс мне - я проверю на похожем самолёте.
Думаю, что очепятки в классе с пропиской вооружения или в самом классе виккерса. Возможно стоит модный класс виккерса с ошибками.

Перепробовал все варианты и этот то же.
Василий, проблема в классе, но не в самом вооружении, а в анимации огневой точки.
Какая была задумка, (скрин1) в положении полета части фонаря закрыты. Основание пулемета TurretА, приаттачено к мешу TurretBase который опущен на 30 градусов к горизонту. Пулемет спрятан в шахте хвостовой балки. В боевом положении (скрин2), секции фонаря сдвигаются вперед, а TurretBase поворачивается на 30 градусов вверх, соответственно пулемет занимает боевое положение. По моему красиво и технически правильно. Но, максимум чего я добился, спасибо Asura,это наведения пулемета, без стрельбы.
Вчера-сегодня провел пару опытов. Первое, было соображение, что наводку сбивает пулемет кокпита. Полностью почистил классы от упоминания кокпита пулеметчика. Не помогло, пулемет наводится но не стреляет. Второе убрал меш TurretBase напрямую присоединив TurretА к CF и все заработало. Пулемет наводится и стреляет, но анимация, подъём спуск пулемета, не работает(скрин3-4).
В классах TurretBase стоит в блоке отвечающем за закрытие-открытие фонаря в походно-боевом положении. Как связан java-механизм открытия фонаря с невозможностью вести огонь, я не знаю
Вот архив классов с кокпитом стрелка. Может кто то лучше в яве разбирается, подскажет. Кокпит стрелка-наблюдателя-бомбардира, переделаю под новое положение пулемета и верну назад.
Attached Thumbnails
Click image for larger version

Name:	1.jpg
Views:	352
Size:	2799 KB
ID:	63456   Click image for larger version

Name:	2.jpg
Views:	350
Size:	2714 KB
ID:	63457   Click image for larger version

Name:	3.jpg
Views:	356
Size:	2597 KB
ID:	63458   Click image for larger version

Name:	4.jpg
Views:	353
Size:	2687 KB
ID:	63459  
Attached Files
File Type: rar РАБОЧИЙ КИ-30.rar (97 KB, 280 views)
tvister is offline   Reply With Quote
Old 23.12.2019, 23:59   #116
Vasya
Звичайна людина на Землі
 
Vasya's Avatar
 
Join Date: 06.11.2011
Location: Україна, м.Київ, Печерський район, вул. Кіквідзе
Posts: 8357
Смущение

Quote:
Originally Posted by tvister View Post
Перепробовал все варианты и этот то же.
Василий, проблема в классе, но не в самом вооружении, а в анимации огневой точки.
Какая была задумка, (скрин1) в положении полета части фонаря закрыты. Основание пулемета TurretА, приаттачено к мешу TurretBase который опущен на 30 градусов к горизонту. Пулемет спрятан в шахте хвостовой балки. В боевом положении (скрин2), секции фонаря сдвигаются вперед, а TurretBase поворачивается на 30 градусов вверх, соответственно пулемет занимает боевое положение. По моему красиво и технически правильно. Но, максимум чего я добился, спасибо Asura,это наведения пулемета, без стрельбы.
Вчера-сегодня провел пару опытов. Первое, было соображение, что наводку сбивает пулемет кокпита. Полностью почистил классы от упоминания кокпита пулеметчика. Не помогло, пулемет наводится но не стреляет. Второе убрал меш TurretBase напрямую присоединив TurretА к CF и все заработало. Пулемет наводится и стреляет, но анимация, подъём спуск пулемета, не работает(скрин3-4).
В классах TurretBase стоит в блоке отвечающем за закрытие-открытие фонаря в походно-боевом положении. Как связан java-механизм открытия фонаря с невозможностью вести огонь, я не знаю
Вот архив классов с кокпитом стрелка. Может кто то лучше в яве разбирается, подскажет. Кокпит стрелка-наблюдателя-бомбардира, переделаю под новое положение пулемета и верну назад.
Скачал... обомлел.
Классы не рабочие от слова вообще.
Там весь код нужно чистить от мусора - раз.
Если у тебя в веапонсе стоит 0, то пулемёт с приставкой t
не прописуется.
Пытаюсь разобраться с классом.
Vasya is offline   Reply With Quote
Old 24.12.2019, 00:02   #117
Vasya
Звичайна людина на Землі
 
Vasya's Avatar
 
Join Date: 06.11.2011
Location: Україна, м.Київ, Печерський район, вул. Кіквідзе
Posts: 8357
Default

Он-лайн декомпилятор.
http://www.javadecompilers.com/?fbcl...LEyqOVAWWk9FGw
Vasya is offline   Reply With Quote
Old 24.12.2019, 00:26   #118
tvister
Местный
 
tvister's Avatar
 
Join Date: 26.12.2013
Location: Донецьк Україна
Posts: 1848
Default

Я не специалист, но все кроме пулемета работает.
tvister is offline   Reply With Quote
Old 24.12.2019, 00:51   #119
Vasya
Звичайна людина на Землі
 
Vasya's Avatar
 
Join Date: 06.11.2011
Location: Україна, м.Київ, Печерський район, вул. Кіквідзе
Posts: 8357
Default

Quote:
Originally Posted by tvister View Post
Я не специалист, но все кроме пулемета работает.
Откуда код для стрелка брал в класс?
От Д3А дефолтного не подошёл?
Code:
public boolean turretAngles(int i, float af[])
    {
        boolean flag = super.turretAngles(i, af);
        float f = -af[0];
        float f1 = af[1];
        switch(i)
        {
        case 0: // '\0'
            if(f < -33F)
            {
                f = -33F;
                flag = false;
            }
            if(f > 33F)
            {
                f = 33F;
                flag = false;
            }
            if(f1 < -3F)
            {
                f1 = -3F;
                flag = false;
            }
            if(f1 > 62F)
            {
                f1 = 62F;
                flag = false;
            }
            break;
        }
        af[0] = -f;
        af[1] = f1;
        return flag;
    }
Уже потихоньку один класс перебрал.
Кокпит стрелка должен называться так:
Code:
com.maddox.il2.objects.air.CockpitKi30A_TGunner.class

Last edited by Vasya : 24.12.2019 at 00:59
Vasya is offline   Reply With Quote
Old 24.12.2019, 01:00   #120
Vasya
Звичайна людина на Землі
 
Vasya's Avatar
 
Join Date: 06.11.2011
Location: Україна, м.Київ, Печерський район, вул. Кіквідзе
Posts: 8357
Default

Code:
package com.maddox.il2.objects.air;
import java.io.IOException;
import java.util.ArrayList;

import com.maddox.rts.Finger;
import com.maddox.rts.NetMsgGuaranted;
import com.maddox.rts.NetMsgInput;
import com.maddox.rts.Property;
import com.maddox.util.HashMapInt;

public class Ki30A extends Ki30
    implements TypeBomber
{

    public Ki30A()
    {
    }
    
    public boolean turretAngles(int i, float[] fs) {
	boolean bool = super.turretAngles(i, fs);
	float f = -fs[0];
	float f_0_ = fs[1];
	switch (i) {
	case 0:
	    if (f < -33.0F) {
		f = -33.0F;
		bool = false;
	    }
	    if (f > 33.0F) {
		f = 33.0F;
		bool = false;
	    }
	    if (f_0_ < -3.0F) {
		f_0_ = -3.0F;
		bool = false;
	    }
	    if (f_0_ > 62.0F) {
		f_0_ = 62.0F;
		bool = false;
	    }
	    /* fall through */
	default:
	    fs[0] = -f;
	    fs[1] = f_0_;
	    return bool;
	}
    }
    
    public boolean typeBomberToggleAutomation()
    {
        return false;
    }

    public void typeBomberAdjDistanceReset()
    {
    }

    public void typeBomberAdjDistancePlus()
    {
    }

    public void typeBomberAdjDistanceMinus()
    {
    }

    public void typeBomberAdjSideslipReset()
    {
    }

    public void typeBomberAdjSideslipPlus()
    {
    }

    public void typeBomberAdjSideslipMinus()
    {
    }

    public void typeBomberAdjAltitudeReset()
    {
    }

    public void typeBomberAdjAltitudePlus()
    {
    }

    public void typeBomberAdjAltitudeMinus()
    {
    }

    public void typeBomberAdjSpeedReset()
    {
    }

    public void typeBomberAdjSpeedPlus()
    {
    }

    public void typeBomberAdjSpeedMinus()
    {
    }

    public void typeBomberUpdate(float f)
    {
    }

    public void typeBomberReplicateToNet(NetMsgGuaranted netmsgguaranted)
        throws IOException
    {
    }

    public void typeBomberReplicateFromNet(NetMsgInput netmsginput)
        throws IOException
    {
    }
    
    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;
    } 

    static Class _mthclass$(String s)
    {
        Class class1;
        try
        {
            class1 = Class.forName(s);
        }
        catch(ClassNotFoundException classnotfoundexception)
        {
            throw new NoClassDefFoundError(classnotfoundexception.getMessage());
        }
        return class1;
    }
    
    static 
    {
        Class class1 = com.maddox.il2.objects.air.Ki30A.class;
        new NetAircraft.SPAWN(class1);
        Property.set(class1, "iconFar_shortClassName", "Ki-30A");
        Property.set(class1, "meshName", "Ki30A(Multi1)/hier.him");
        Property.set(class1, "PaintScheme", new PaintSchemeFMPar01());
        Property.set(class1, "yearService", 1935F);
        Property.set(class1, "yearExpired", 1946.5F);
        Property.set(class1, "FlightModel", "FlightModels/Ki30A.fmd:Ki30A_FM");
        Property.set(class1, "cockpitClass", new Class[] {
            com.maddox.il2.objects.air.CockpitKi30A.class, com.maddox.il2.objects.air.CockpitKi30A_TGunner.class
        });
        Property.set(class1, "LOSElevation", 0.742F);
        Aircraft.weaponTriggersRegister(class1, new int[] {
            0, 10, 3, 3, 3, 3, 3, 3, 3, 3,
	    3, 3, 3
        });
	Aircraft.weaponHooksRegister(class1, new String[] {
            "_MGUN01", "_MGUN02", "_ExternalBomb01", "_ExternalBomb02", "_ExternalBomb03", "_ExternalBomb04", "_BombSpawn01", "_BombSpawn02", "_BombSpawn03", "_BombSpawn04",
            "_BombSpawn05", "_BombSpawn06", "_BombSpawn07"
        });

Last edited by Vasya : 24.12.2019 at 17:55
Vasya is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +3. The time now is 16:03.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Рейтинг@Mail.ru