AviaSkins.Forums

Вернуться   AviaSkins.Forums > Основные разделы > Моды для Ил-2 > Первым делом, первым делом - самолеты

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.08.2023, 01:35   #1401
Vasya
Звичайна людина на Землі
 
Аватар для Vasya
 
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,085
Вопрос

Очень нужно пояснение по именам коллизий в хит-боне!?
САСовские модели лепят как на японском конвеере,
но повреждаться они не желают... кроме крыльев, конечно.
Глотают по 5-7 снарядов в мотор и фюзеляж - и хоть бы хны.
Пытаюсь прописать коллизии в хит-бон, но всё равно чувствую,
что вписываю не правильно.
Мне всё равно как она приляпана внутри модели, главное что бы
они хоть как то заработали, потому как на код в классе 3Д не реагирует никак.
Ниже архив с джавой и хиер-химом., посмотри пожалуйста (!!!) -
насколько правильно повписывал коллизии?
Вложения
Тип файла: rar MB_152xyz.rar (6.9 Кб, 80 просмотров)

Последний раз редактировалось Vasya; 02.08.2023 в 16:29.
Vasya вне форума   Ответить с цитированием
Старый 02.08.2023, 12:20   #1402
Dimas1999
Местный
 
Аватар для Dimas1999
 
Регистрация: 18.11.2015
Адрес: Анапа
Сообщений: 1,380
По умолчанию

Вечером гляну.
Dimas1999 вне форума   Ответить с цитированием
Старый 02.08.2023, 16:29   #1403
Vasya
Звичайна людина на Землі
 
Аватар для Vasya
 
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,085
По умолчанию

Цитата:
Сообщение от Dimas1999 Посмотреть сообщение
Вечером гляну.
Спасибо!
Vasya вне форума   Ответить с цитированием
Старый 02.08.2023, 18:32   #1404
Dimas1999
Местный
 
Аватар для Dimas1999
 
Регистрация: 18.11.2015
Адрес: Анапа
Сообщений: 1,380
По умолчанию

Как можно проверить имена коллизий и при необходимости переименовать их без 3Д Макса?
Открываем Ноутпадом все меши с коллизиями (CF, Engine, Tail, Wing, Keel, Stab, Rudder, Vator, Arone, GearL2/R2 (обычно в них коллизии шасси), так же могут быть дополнительные невидимые меши с дополнительными коллизиями), пишешь в поиск (Ctrl + F) "Cocommon", тебя перенесёт в раздел с коллизиями. Там ищешь строки "Name", строки начинающиеся с одного x являются просто корпусом, обшивкой. Например, xengine1 - контур меша Engine1, типа кожух мотора. Такие коллизии идут в hier.him просто "CollisionObject xengine1".
Есть коллизии узлов и агрегатов, они идут ниже, их имена начинаются с "xx". Например, xxeng1case - коллизия картера двигателя. В hier.him они идут как "CollisionObject .xxeng1case". Тут уже добавляется точка "." перед названием. В меше и hitbone точки нет, в hier.him точка есть.
При пересохранении меша программой Mesh dump от NB79, перед именами коллизий добавляется точка, видимо, подхватывается из hier.him. Тогда я открываю меш Ноутпадом и через замену меняю .xx на xx.
Коллизии должны быть в мешах для каждого уровня повреждений (D0, D1, D2, D3), отличий между ними нет.

Не знаю под чем надо быть чтобы собрать вот так коллизии) Такое точно не будет правильно работать.
Миниатюры
Нажмите на изображение для увеличения
Название: МБ 152.jpg
Просмотров: 189
Размер:	252.4 Кб
ID:	74024  
Dimas1999 вне форума   Ответить с цитированием
Старый 02.08.2023, 18:52   #1405
Vasya
Звичайна людина на Землі
 
Аватар для Vasya
 
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,085
Вопрос

Цитата:
Сообщение от Dimas1999 Посмотреть сообщение
Как можно проверить имена коллизий и при необходимости переименовать их без 3Д Макса?
Открываем Ноутпадом все меши с коллизиями (CF, Engine, Tail, Wing, Keel, Stab, Rudder, Vator, Arone, GearL2/R2 (обычно в них коллизии шасси), так же могут быть дополнительные невидимые меши с дополнительными коллизиями), пишешь в поиск (Ctrl + F) "Cocommon", тебя перенесёт в раздел с коллизиями. Там ищешь строки "Name", строки начинающиеся с одного x являются просто корпусом, обшивкой. Например, xengine1 - контур меша Engine1, типа кожух мотора. Такие коллизии идут в hier.him просто "CollisionObject xengine1".
Есть коллизии узлов и агрегатов, они идут ниже, их имена начинаются с "xx". Например, xxeng1case - коллизия картера двигателя. В hier.him они идут как "CollisionObject .xxeng1case". Тут уже добавляется точка "." перед названием. В меше и hitbone точки нет, в hier.him точка есть.
При пересохранении меша программой Mesh dump от NB79, перед именами коллизий добавляется точка, видимо, подхватывается из hier.him. Тогда я открываю меш Ноутпадом и через замену меняю .xx на xx.
Коллизии должны быть в мешах для каждого уровня повреждений (D0, D1, D2, D3), отличий между ними нет.

Не знаю под чем надо быть чтобы собрать вот так коллизии) Такое точно не будет правильно работать.
Спасибо!
Про нотепад понятно.
Правильно ли имена коллизий из хиер-хим вписал в хит-бон?
Вписывал xxeng1oil1, xxeng1feed, xxeng1mag1, xxeng1sap, xxtank1 и т.д.
Может нужно без приставки "xxeng1"?
Потому как в дефолте таких приставок нет.
Или эти приставки обязательны?
--------------------
Можно ли на САС твою картинку вскрытия коллизий МБ-152 выложить?
Без указания авторства, конечно.
Чем ты вкрывал МБ-152?
Хочу попробовать увидеть коллизии у МБ155.
У меня есть меш-конвертр 1.18.
Открывал планер МБ-155, но меш роот не нашёл...

Последний раз редактировалось Vasya; 02.08.2023 в 18:57.
Vasya вне форума   Ответить с цитированием
Старый 02.08.2023, 20:23   #1406
Dimas1999
Местный
 
Аватар для Dimas1999
 
Регистрация: 18.11.2015
Адрес: Анапа
Сообщений: 1,380
По умолчанию

Открывал вот этой программой, в закрепе есть 2 версии (32 и 64 бита):
http://forum.aviaskins.com/showpost....&postcount=408

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

Не открывает некоторые "кривые" меши (Кабины из клеймор пака, пришлось открывать все меши и менять [LOD] 0 на [LOD] 10 или прицелы ПБП-1 от WxTech, пришлось очищать меш от комментариев).

Картинку выложить можно.

После перерыва вдумчиво смотрю и вот что вижу.

Нашёл про управление вот что:
if(s.startsWith("xxcontrols1"))
Не нужна единичка на конце, надо "xxcontrols".
Но у 155 их нет вообще)

if(s.startsWith("xengine1")) заменить на
if(s.startsWith("xxeng1")) т.е. код распространяется на то, что начинается с "xeng1", если перевести на русский: если(строка.начинаетсяС("xeng1")).

if(s.endsWith("xxeng1case")) заменить на if(s.endsWith("case")): если(строка.заканчиваетсяС("case")).

if(s.startsWith("xxeng1cyl")) заменить на if(s.startsWith("cyls")), движок игры ожидает увидеть окончание коллижена cyl, а в планере cyls.

Что-то попутал со 152 и 155. У 155 проблем меньше, но в очертания не попадают, поэтому мотор "глотает" снаряды.
Миниатюры
Нажмите на изображение для увеличения
Название: 155.jpg
Просмотров: 192
Размер:	235.1 Кб
ID:	74025  

Последний раз редактировалось Dimas1999; 02.08.2023 в 20:25.
Dimas1999 вне форума   Ответить с цитированием
Старый 02.08.2023, 22:22   #1407
Vasya
Звичайна людина на Землі
 
Аватар для Vasya
 
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,085
Вопрос

Так строка в хиер начинается с xengine1, а не с xxeng1.
И дальше повписывал точные назвиния коллизий.
Почему нужно писать по другому?
А вообще, если можно, исправь пожалуйста (!!!) мне 1 раз в хит-бон
МБ-152 - как должны быть правильно вписаны коллизии из хиер-хима.
(выше архив http://forum.aviaskins.com/showpost....postcount=1401 ).
МБ-155 попробую сделать по примеру.
Они оба на обстрел не реагируют, не дымят и не текут вообще.
Миниатюры
Нажмите на изображение для увеличения
Название: Дамаж МБ-152.jpg
Просмотров: 79
Размер:	648.9 Кб
ID:	74028  

Последний раз редактировалось Vasya; 02.08.2023 в 22:24.
Vasya вне форума   Ответить с цитированием
Старый 02.08.2023, 22:39   #1408
Dimas1999
Местный
 
Аватар для Dimas1999
 
Регистрация: 18.11.2015
Адрес: Анапа
Сообщений: 1,380
По умолчанию

Это блок повреждений мотора, все имена коллиженов начинаются с xxeng1 и заканчиваются cyls, case и тд и тп. В таком виде, как у тебя написан hitbone, движок ищет коллижены с именами xengine1xxeng1case, xengine1xxeng1cyl и тд и тп.
xengine1 - оболочка, её вписывают в конце hitbone, это для переключения видимых повреждений. Туда пишут все коллизии с именами начинающимися с x.
Код:
        if(s.startsWith("xeng"))
        {
            if(chunkDamageVisible("Engine1") < 2)
                hitChunk("Engine1", shot);
        } else
Dimas1999 вне форума   Ответить с цитированием
Старый 02.08.2023, 22:56   #1409
Vasya
Звичайна людина на Землі
 
Аватар для Vasya
 
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,085
Восклицание

Цитата:
Сообщение от Dimas1999 Посмотреть сообщение
Это блок повреждений мотора, все имена коллиженов начинаются с xxeng1 и заканчиваются cyls, case и тд и тп. В таком виде, как у тебя написан hitbone, движок ищет коллижены с именами xengine1xxeng1case, xengine1xxeng1cyl и тд и тп.
xengine1 - оболочка, её вписывают в конце hitbone, это для переключения видимых повреждений. Туда пишут все коллизии с именами начинающимися с x.
Код:
        if(s.startsWith("xeng"))
        {
            if(chunkDamageVisible("Engine1") < 2)
                hitChunk("Engine1", shot);
        } else
Очень нужен пример - уже расписаный хит-бон для МБ-152...
Потому как я писал и без xengine1, но ничего не менялось с повреждениями.
Vasya вне форума   Ответить с цитированием
Старый 02.08.2023, 23:11   #1410
Dimas1999
Местный
 
Аватар для Dimas1999
 
Регистрация: 18.11.2015
Адрес: Анапа
Сообщений: 1,380
По умолчанию

Пока точно нет. Несколько вечеров экспериментирую с кодом повреждения баков.
Опознал флаги повреждения баков setTankState.
0 - нормальное состояние
1 - утечка
2 - светлый дым
3 - тёмный дым
4 - пожар без дыма
5 - пожар с дымом

Код:
            if(s.startsWith("xxtank"))
            {
                int k = s.charAt(6) - 49;
                if(getEnergyPastArmor(2.25F, shot) > 0.0F && World.Rnd().nextFloat() < 0.45F)// 2.25 - броня бака, 0.45 - вероятность пробития
                {
                    if(FM.AS.astateTankStates[k] == 0)
                    {
                        debuggunnery("Fuel Tank (" + k + "): Pierced..");
                        FM.AS.hitTank(shot.initiator, k, 1);
                        FM.AS.doSetTankState(shot.initiator, k, 1);
                    }
                    if(World.Rnd().nextFloat() < 0.02F || shot.powerType == 3 && World.Rnd().nextFloat() < 0.4F)// 0.02 - вероятность возгорания при любом попадании или при пробитии бака боеприпасом типа 3 вероятность возгорания 0.4
                    {
                        FM.AS.hitTank(shot.initiator, k, 4);// 4 - пожар без дыма
                        debuggunnery("Fuel Tank (" + k + "): Hit..");
                    }
                }
                return;
            }
Сейчас играю с кодом протектора, кодом перекидывания огня на соседние баки и кодом случайного затухания бака.

Последний раз редактировалось Dimas1999; 02.08.2023 в 23:19.
Dimas1999 вне форума   Ответить с цитированием
Старый 03.08.2023, 00:24   #1411
Vasya
Звичайна людина на Землі
 
Аватар для Vasya
 
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,085
Печаль

Цитата:
Сообщение от Vasya Посмотреть сообщение
Очень нужен пример - уже расписаный хит-бон для МБ-152...
Потому как я писал и без xengine1, но ничего не менялось с повреждениями.
Цитата:
Сообщение от Dimas1999 Посмотреть сообщение
Пока точно нет. .............
Очень жаль.

----------------------------------
Но СПАСИБО!!! за пояснения.
После коррекции дм улучшилась.
МБ-152 стал иногда дымить, даже гореть баком и вероятно
отключать рули управления, пилот прыгает даже при очереди из МГ-17.
Но для горения МБ-152 нужно всадить штук 10 снарядов из МЖФФ.
Наверное потому что все коллизии смешаны в кучу и друг друга перекрывают.

Последний раз редактировалось Vasya; 03.08.2023 в 04:54.
Vasya вне форума   Ответить с цитированием
Старый 03.08.2023, 00:47   #1412
Dimas1999
Местный
 
Аватар для Dimas1999
 
Регистрация: 18.11.2015
Адрес: Анапа
Сообщений: 1,380
По умолчанию

Эксперимент.
1. Бак горит, состояние 4.
2. Горящий бак успел повредить соседний бак, огонь уже пропал, состояние 3.
3. Протектор загерметизировал текущий бак.
4. Дымящийся бак стал меньше дымить, состояние 2.
5. Бак перестал дымить и теперь он течёт, состояние 1.
Позже бак перестал течь, состояние 0.

К сожалению, игре не возможно определить от чего потёк бак и протектор ремонтирует любую течь. Зато отсюда получается багофича. Скорее всего, всё топливо успеет сгореть или вытечь пока бак "ремонтируется". Т.к. нет топлива, больше шансов на прекращение пожара (в жизни). Теперь есть шанс спланировать на самолёте до своей территории.
Для теста поставил 100% воспламеняемость бака, 10% вероятность "ремонта" бака в каждом состоянии и 14% вероятность перекидывания огня. С предыдущими вариантами кода получались интересные варианты, когда один бак тух, но в последнюю секунду огонь перебрасывался на соседний бак и от него снова загорался первый бак. Иногда дымящийся бак снова вспыхивал. Надо играть с вероятностью затухания, чтобы код из базового класса вызывал снова пожар.
Случайное затухание и возгорание ещё прописано в базовых классах, но с такими настройками дымление никогда у меня ещё не пропадало.
При тестах стоит бесконечный запас топлива, иначе, пока потухнет бак и прекратится течь, топлива может уже не остаться.
Взрыв бака зарыт где-то в базовых классах, иногда бак почти сразу взрывается, а иногда можно летать несколько минут.


Код:
    public void rareAction(float paramFloat, boolean paramBoolean)
    {
        super.rareAction(paramFloat, paramBoolean);
        if(paramBoolean)
        {
            if(((FlightModelMain) (super.FM)).AS.astateTankStates[0] > 4 && World.Rnd().nextFloat() < 0.14F)
                ((FlightModelMain) (super.FM)).AS.hitTank(this, 1, 1);
            if(((FlightModelMain) (super.FM)).AS.astateTankStates[1] > 4 && World.Rnd().nextFloat() < 0.14F)
                ((FlightModelMain) (super.FM)).AS.hitTank(this, 0, 1);
            if(((FlightModelMain) (super.FM)).AS.astateTankStates[2] > 4 && World.Rnd().nextFloat() < 0.14F)
                ((FlightModelMain) (super.FM)).AS.hitTank(this, 3, 1);
            if(((FlightModelMain) (super.FM)).AS.astateTankStates[3] > 4 && World.Rnd().nextFloat() < 0.14F)
                ((FlightModelMain) (super.FM)).AS.hitTank(this, 2, 1);

            if(((FlightModelMain) (super.FM)).AS.astateTankStates[0] == 1 && World.Rnd().nextFloat() < 0.1F)
                ((FlightModelMain) (super.FM)).AS.repairTank(0);
            if(((FlightModelMain) (super.FM)).AS.astateTankStates[1] == 1 && World.Rnd().nextFloat() < 0.1F)
                ((FlightModelMain) (super.FM)).AS.repairTank(1);
            if(((FlightModelMain) (super.FM)).AS.astateTankStates[2] == 1 && World.Rnd().nextFloat() < 0.1F)
                ((FlightModelMain) (super.FM)).AS.repairTank(2);
            if(((FlightModelMain) (super.FM)).AS.astateTankStates[3] == 1 && World.Rnd().nextFloat() < 0.1F)
                ((FlightModelMain) (super.FM)).AS.repairTank(3);

            if(((FlightModelMain) (super.FM)).AS.astateTankStates[0] == 2 && World.Rnd().nextFloat() < 0.1F)
				((FlightModelMain) (super.FM)).AS.setTankState(this, 0, ((FlightModelMain) (super.FM)).AS.astateTankStates[0] - 1);
            if(((FlightModelMain) (super.FM)).AS.astateTankStates[1] == 2 && World.Rnd().nextFloat() < 0.1F)
				((FlightModelMain) (super.FM)).AS.setTankState(this, 1, ((FlightModelMain) (super.FM)).AS.astateTankStates[1] - 1);
            if(((FlightModelMain) (super.FM)).AS.astateTankStates[2] == 2 && World.Rnd().nextFloat() < 0.1F)
				((FlightModelMain) (super.FM)).AS.setTankState(this, 2, ((FlightModelMain) (super.FM)).AS.astateTankStates[2] - 1);
            if(((FlightModelMain) (super.FM)).AS.astateTankStates[3] == 2 && World.Rnd().nextFloat() < 0.1F)
				((FlightModelMain) (super.FM)).AS.setTankState(this, 3, ((FlightModelMain) (super.FM)).AS.astateTankStates[3] - 1);

            if(((FlightModelMain) (super.FM)).AS.astateTankStates[0] == 3 && World.Rnd().nextFloat() < 0.1F)
				((FlightModelMain) (super.FM)).AS.setTankState(this, 0, ((FlightModelMain) (super.FM)).AS.astateTankStates[0] - 1);
            if(((FlightModelMain) (super.FM)).AS.astateTankStates[1] == 3 && World.Rnd().nextFloat() < 0.1F)
				((FlightModelMain) (super.FM)).AS.setTankState(this, 1, ((FlightModelMain) (super.FM)).AS.astateTankStates[1] - 1);
            if(((FlightModelMain) (super.FM)).AS.astateTankStates[2] == 3 && World.Rnd().nextFloat() < 0.1F)
				((FlightModelMain) (super.FM)).AS.setTankState(this, 2, ((FlightModelMain) (super.FM)).AS.astateTankStates[2] - 1);
            if(((FlightModelMain) (super.FM)).AS.astateTankStates[3] == 3 && World.Rnd().nextFloat() < 0.1F)
				((FlightModelMain) (super.FM)).AS.setTankState(this, 3, ((FlightModelMain) (super.FM)).AS.astateTankStates[3] - 1);

            if(((FlightModelMain) (super.FM)).AS.astateTankStates[0] == 4 && World.Rnd().nextFloat() < 0.1F)
				((FlightModelMain) (super.FM)).AS.setTankState(this, 0, ((FlightModelMain) (super.FM)).AS.astateTankStates[0] - 1);
            if(((FlightModelMain) (super.FM)).AS.astateTankStates[1] == 4 && World.Rnd().nextFloat() < 0.1F)
				((FlightModelMain) (super.FM)).AS.setTankState(this, 1, ((FlightModelMain) (super.FM)).AS.astateTankStates[1] - 1);
            if(((FlightModelMain) (super.FM)).AS.astateTankStates[2] == 4 && World.Rnd().nextFloat() < 0.1F)
				((FlightModelMain) (super.FM)).AS.setTankState(this, 2, ((FlightModelMain) (super.FM)).AS.astateTankStates[2] - 1);
            if(((FlightModelMain) (super.FM)).AS.astateTankStates[3] == 4 && World.Rnd().nextFloat() < 0.1F)
				((FlightModelMain) (super.FM)).AS.setTankState(this, 3, ((FlightModelMain) (super.FM)).AS.astateTankStates[3] - 1);

            if(((FlightModelMain) (super.FM)).AS.astateTankStates[0] == 5 && World.Rnd().nextFloat() < 0.1F)
				((FlightModelMain) (super.FM)).AS.setTankState(this, 0, ((FlightModelMain) (super.FM)).AS.astateTankStates[0] - 1);
            if(((FlightModelMain) (super.FM)).AS.astateTankStates[1] == 5 && World.Rnd().nextFloat() < 0.1F)
				((FlightModelMain) (super.FM)).AS.setTankState(this, 1, ((FlightModelMain) (super.FM)).AS.astateTankStates[1] - 1);
            if(((FlightModelMain) (super.FM)).AS.astateTankStates[2] == 5 && World.Rnd().nextFloat() < 0.1F)
				((FlightModelMain) (super.FM)).AS.setTankState(this, 2, ((FlightModelMain) (super.FM)).AS.astateTankStates[2] - 1);
            if(((FlightModelMain) (super.FM)).AS.astateTankStates[3] == 5 && World.Rnd().nextFloat() < 0.1F)
				((FlightModelMain) (super.FM)).AS.setTankState(this, 3, ((FlightModelMain) (super.FM)).AS.astateTankStates[3] - 1);
Миниатюры
Нажмите на изображение для увеличения
Название: 2023.08.02 21-27-36.jpg
Просмотров: 121
Размер:	762.6 Кб
ID:	74029   Нажмите на изображение для увеличения
Название: 2023.08.02 21-27-47.jpg
Просмотров: 120
Размер:	761.4 Кб
ID:	74030   Нажмите на изображение для увеличения
Название: 2023.08.02 21-27-59.jpg
Просмотров: 110
Размер:	845.3 Кб
ID:	74031   Нажмите на изображение для увеличения
Название: 2023.08.02 21-28-11.jpg
Просмотров: 111
Размер:	814.1 Кб
ID:	74032   Нажмите на изображение для увеличения
Название: 2023.08.02 21-28-17.jpg
Просмотров: 107
Размер:	903.8 Кб
ID:	74033  


Последний раз редактировалось Dimas1999; 03.08.2023 в 00:50. Причина: дописка текста
Dimas1999 вне форума   Ответить с цитированием
Старый 04.08.2023, 23:17   #1413
Dimas1999
Местный
 
Аватар для Dimas1999
 
Регистрация: 18.11.2015
Адрес: Анапа
Сообщений: 1,380
По умолчанию

Обновил сборки ЛаГГ и Ла.
Пошлифовал ещё код возгорания бака. Жду отзывы и предложения.
Для пятибачных вариантов с вероятность 0.0196 огонь может перекинуться на соседнюю консоль. Имитация пятого фюзеляжного бака, 0.14*0.14=0.0196
У ЛаГГов подправил дальность лодов, теперь крайний лод виден до 6 км, как и у серии Ла. Так же добавил углы отклонения рулей по ТО.
У Ла-5Ф/ФН не было хуков утечки топлива в крыле, добавил их.

ЛаГГ
https://drive.google.com/file/d/1yML...ew?usp=sharing

Ла
https://drive.google.com/file/d/1Ojq...ew?usp=sharing

Последний раз редактировалось Dimas1999; 04.08.2023 в 23:20.
Dimas1999 вне форума   Ответить с цитированием
Старый 05.08.2023, 00:23   #1414
Grog
Местный
 
Аватар для Grog
 
Регистрация: 09.05.2009
Адрес: Хабаровск
Сообщений: 1,752
По умолчанию

Спасибо Дима, за труды твои!
__________________
...каждый болен ИЛ-2 по разному,
но похоже что навсегда!
Grog вне форума   Ответить с цитированием
Старый 05.08.2023, 18:52   #1415
Dimas1999
Местный
 
Аватар для Dimas1999
 
Регистрация: 18.11.2015
Адрес: Анапа
Сообщений: 1,380
По умолчанию

Кто пробовал сборку Ла-5, у меня вопрос к вам. Как вам новые пилоты от Ранверса (https://www.sas1946.com/main/index.p...c,69518.0.html), которых я поставил туда? Есть ли с ними какие-либо проблемы? У них довольно много полигонов, могут быть некоторые проблемы.
Dimas1999 вне форума   Ответить с цитированием
Старый 06.08.2023, 00:53   #1416
Dimas1999
Местный
 
Аватар для Dimas1999
 
Регистрация: 18.11.2015
Адрес: Анапа
Сообщений: 1,380
По умолчанию

В очередной раз доработал ДМ для Яков.
У всех "жидкостных" Яков:
поменял "самопальный" коллижен нагнетателя на вариант от МиГ-3;
поставил 2 магнето от МиГ-3;
сделал элементы топливной системы Fuel и Feed, взял от bf-109.

Для опытных моделей с М-82 поставил коллижены мотора от Ла-5.

Сделал код горения бака аналогично моделям КБ Лавочкина.
Як-1 до 102 серии не имели системы нейтрального газа, в моде теперь тоже его нет. Вероятность воспламенения от зажигательного снаряда 0.955. Цифру взял у японских самолётов.
Код:
if(shot.powerType == 3 && World.Rnd().nextFloat() < 0.995F)
Нейтральный газ есть только у Як-1Б 136 серии (стандартный Як-1Б от ОМа).
У моделей с нейтральным газом вероятность пожара 0.25. Цифра от стандартного Ла-5.
Код:
if(shot.powerType == 3 && World.Rnd().nextFloat() < 0.25F)
Убрал небольшую вероятность воспламенения от любой пули.
Як-1 69 серии, Як-7В, Як-7УТИ не имеют так же протектора бака.

Убрал лобовое бронестекло у Як-1Б 99 серии, все улучшения внесли со 110 серии.
Так же у Як-1Б 99 серии убрал обтекатели выхлопных патрубков, их ввели со 106 серии.

Произвёл корректировку боезапаса у моделей Як-1.

Поправил ЛОДы, теперь крайний ЛОД виден до 6 км, было 2,6 км.

https://drive.google.com/file/d/1F88...ew?usp=sharing
Миниатюры
Нажмите на изображение для увеличения
Название: ДМ Яков.jpg
Просмотров: 84
Размер:	238.0 Кб
ID:	74040   Нажмите на изображение для увеличения
Название: Доп оборудование Яков.jpg
Просмотров: 85
Размер:	219.3 Кб
ID:	74041  

Последний раз редактировалось Dimas1999; 06.08.2023 в 00:56.
Dimas1999 вне форума   Ответить с цитированием
Старый 06.08.2023, 05:38   #1417
andrey65
Модератор
 
Аватар для andrey65
 
Регистрация: 05.11.2007
Адрес: Кемеровская область
Сообщений: 7,038
Отправить сообщение для andrey65 с помощью ICQ
По умолчанию

Цитата:
Сообщение от Dimas1999 Посмотреть сообщение
Кто пробовал сборку Ла-5, у меня вопрос к вам. Как вам новые пилоты от Ранверса (https://www.sas1946.com/main/index.p...c,69518.0.html), которых я поставил туда? Есть ли с ними какие-либо проблемы? У них довольно много полигонов, могут быть некоторые проблемы.
У меня изначально при появления этого мода были проблемы - часть самолетов не отражалась, тормозило. Убрал и больше не пробовал. Вчера полетал на ФН раннеем - вроде все нормально, ни тормозов, ни прчеих проблем пока не увидел. Попробую еще. Но вопрос возник - у меня стоит мод эффектов - https://www.sas1946.com/main/index.p...c,70438.0.html. Он нормально работает с твоими мод-паками?
andrey65 вне форума   Ответить с цитированием
Старый 06.08.2023, 06:10   #1418
andrey65
Модератор
 
Аватар для andrey65
 
Регистрация: 05.11.2007
Адрес: Кемеровская область
Сообщений: 7,038
Отправить сообщение для andrey65 с помощью ICQ
По умолчанию

На Ла-7Б-20 вот так отображается рамка РПК. В БАТ.
Миниатюры
Нажмите на изображение для увеличения
Название: 2023.08.06 03-05-19.jpg
Просмотров: 109
Размер:	675.4 Кб
ID:	74042  
andrey65 вне форума   Ответить с цитированием
Старый 06.08.2023, 07:42   #1419
Vasya
Звичайна людина на Землі
 
Аватар для Vasya
 
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,085
Вопрос

Скачал обновлённые Яки - Большое Спасибо!
--------------
Начал вносить правки.
Для крыльев без протектора баков код пока сделал таким:
Код:
            if(s.startsWith("xxtank"))
            {
                int k = s.charAt(6) - 49;
                if(getEnergyPastArmor(0.8F, shot) > 0.0F && World.Rnd().nextFloat() < 0.45F)
                {
                    if(FM.AS.astateTankStates[k] == 0)
                    {
                        debuggunnery("Fuel Tank (" + k + "): Pierced..");
                        FM.AS.hitTank(shot.initiator, k, 1);
                        FM.AS.doSetTankState(shot.initiator, k, 1);
                    }
                    if(World.Rnd().nextFloat() < 0.1F || shot.powerType == 3 && World.Rnd().nextFloat() < 0.6F)
                    {
                        FM.AS.hitTank(shot.initiator, k, 4);
                        debuggunnery("Fuel Tank (" + k + "): Hit..");
                        FM.AS.doSetTankState(shot.initiator, k, 5);
                    }
                }
                return;
            }
Резко уменьшена сила для пробития.
Оставлена возможность зажигать баки разными боеприпасами.
По твоему пояснению добавил состояние горения.
Буду тестить вечером.
Переброску огня буду убирать у двубачных моделей.
Мне кажется, что загореться бак правого крыла от левого не очень может.
И вопрос - в классах кокпитов законтрен код limits6DoF -
так правильно? - или это временно?
---------------------------
Так же готовлю Я-7Б-М-106, который был в реале(пару машин) под твою сборку.
Нужно проверить по коду с последним общим обновлением.
Для Як-1 улучшенный поменяю планер на "дефолтный" Як-1.

Последний раз редактировалось Vasya; 06.08.2023 в 07:53.
Vasya вне форума   Ответить с цитированием
Старый 06.08.2023, 09:58   #1420
Molva
Местный
 
Аватар для Molva
 
Регистрация: 06.07.2009
Адрес: г.Гомель
Сообщений: 2,538
Отправить сообщение для Molva с помощью ICQ Отправить сообщение для Molva с помощью Skype™
По умолчанию

Цитата:
Сообщение от andrey65 Посмотреть сообщение
На Ла-7Б-20 вот так отображается рамка РПК. В БАТ.
В текстуре нет альфа-канала для этого элемента.
Миниатюры
Нажмите на изображение для увеличения
Название: La7.jpg
Просмотров: 107
Размер:	895.0 Кб
ID:	74043  
Molva вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Рейтинг@Mail.ru