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)

NB79 11.11.2019 15:59

Кол-во полигонов не влияет на время сдвига/поворота меша. Фонарь - это просто модель, как и всё остальное, сдвигает/поворачивает его процедура, которая просто устанавливает новое положение/угол.

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

- Есть таймер, который тикает с определённым, очень маленьким интервалом
- На каждый тик этого таймера мы шлём определённое сообщение, в зависимости от того, что у нас в игре происходит
- Объекты принимают эти сообщение и в зависимости от того, что это за сообщение, выполняют определённые действия (если это сообщение к ним относится, конечно)

Вот и надо смотреть с какими значениями эта процедурка вызывается для мессов и с какими для Су. Естественно, если эта процедура именно для сдвига/поворота. Ну и потом можно поменять у Су значения на нужные.

tarakan67 11.11.2019 16:10

И как эти значения посмотреть?

NB79 11.11.2019 17:01

Так они где-то в коде должны присутствовать, в том месте, где эта процедура вызывается. Там и надо смотреть. Повторю, если это именно та самая, нужная процедура.

И ещё раз для понимания. Все цифры будут условными, ибо точных значений у меня нет. Итак.

Допустим, что наш таймер щёлкает 100 раз в секунду, т.е. каждые 10 мс. Мы хотим, чтоб наш меш сдвигался на определённое расстояние за одну секунду. Соответственно, всё, что нам надо, это разделить расстояние на сто и на каждый тик таймера добавлять нужную величину и устанавливать меш на вновь полученную позицию. По крайней мере по процедуре получается так, в ней, в самом начале, есть некий resetYPRmodifier, который, как я понимаю, устанавливает параметры для меша в некую исходную позицию. Вот таким образом мы можем плавный сдвиг/поворот получить.

Если нужен не плавный, то нужно действовать по-другому. Например, нам надо, чтоб две трети расстояния меш проходил с одной скорость., а последнюю треть с другой, медленнее. Или не треть, а пятую часть, вот как при закрытии фонаря, доводка в конце движения медленнее происходит. Тут надо уже иначе действовать. Логика та же, реализация чуть другая. 4/5 расстояния мы будем проходить за 4/5 секунды. :) А оставшуюся дистанцию за 2/5. Рассчитаем нужные коэффициенты, занесём их в табличку и на каждый тик таймера будем брать новое значение из таблички по индексу, который будет номер тика от начала операции сдвига.

В принципе, всё это можно оформить в виде некоего виртуального метода (ХЗ есть это в Яве, или нет) и перекрывая в нужном классе организовывать нужные реализации, табличные методы, либо расчеты по произвольным нужным формулам. Решение получится прозрачным и простым и скорее всего в Старичке так и сделано, это не я придумал, а обычная практика.

В общем, надо где-то рядом с вызовом метода сдвигающего фонарь искать соответствующие значения сдвига.

tarakan67 11.11.2019 18:44

Ну этот фонарь не сдвигается, а открывается, об этом говорит, как я понял, hierMesh().chunkSetAngles, т.е. угол поворота меша Blister1_D0 на 100 градусов(100F) по оси Y (вторая ось в списке). При каждом "тике" таймера к углу поворота добавляется приращение f, а вот как отрегулировать/прописать это приращение?

GUZKNIFE 11.11.2019 20:01

Цитата:

Сообщение от tarakan67 (Сообщение 202727)
Здравствуйте! Кто-нибудь знает, как уменьшить время закрытия/открытия фонаря?
Вот код:
Код:

public void moveCockpitDoor(float f)
    {
            resetYPRmodifier();
            hierMesh().chunkSetAngles("Blister1_D0", 0.0F, 100F * f, 0.0F);
            if(Config.isUSE_RENDER())
            {
              if(Main3D.cur3D().cockpits != null && Main3D.cur3D().cockpits[0] != null)
                  Main3D.cur3D().cockpits[0].onDoorMoved(f);
                setDoorSnd(f);
            }
    }

С таким же кодом у мессеров фонарь закрывается/открывается нормально, а у Су-6 ну о-о-очень медленно(10-12 сек.)
Единственное отличие - фонарь у Су-6 имеет в разы больше полигонов, чем фонари мессеров, это может влиять на скорость открытия/закрытия?

Попробуйте после этой команды добавить эти строки:


public void onAircraftLoaded()
{
super.onAircraftLoaded();
FM.CT.bHasCockpitDoorControl = true;
FM.CT.dvCockpitDoor = 0.65F;
}

Иногда скорость открытия фонаря прописывают в FM.Если это не поможет,то нужно изменять в FM.

tvister 11.11.2019 20:16

Мне тоже интересен этот вопрос, на Ки-30 фонарь летчика работает с нормальной скоростью, фонарь стрелка очень быстро. А что нужно крутить в FM?

GUZKNIFE 11.11.2019 20:25

Цитата:

Сообщение от tvister (Сообщение 202738)
Мне тоже интересен этот вопрос, на Ки-30 фонарь летчика работает с нормальной скоростью, фонарь стрелка очень быстро. А что нужно крутить в FM?

В FM разделе [Controls] есть такие строчки:

[Controls]

CCockpitDoor 1
CockpitDoorPeriod 1.5

из этого делаем некоторые выводы.По поводу заднего стрелка возможно где-то прописано в классе.Детально к сожалению этим не занимался.:DONT_KNOW:

P.S.Посмотрите как реализован задний стрелок в Barracudaxyz.class.

tarakan67 11.11.2019 20:44

Цитата:

Сообщение от GUZKNIFE (Сообщение 202737)
Попробуйте после этой команды добавить эти строки:


public void onAircraftLoaded()
{
super.onAircraftLoaded();
FM.CT.bHasCockpitDoorControl = true;
FM.CT.dvCockpitDoor = 0.65F;
}

Спасибо! Помогло.

tvister 11.11.2019 20:54

Спасибо.

NB79 11.11.2019 21:35

Цитата:

Сообщение от tarakan67 (Сообщение 202736)
Ну этот фонарь не сдвигается, а открывается...

А это в случае 3Д одно и тоже, ну почти :) , там дальше всё равно всё сводится к перемножению матриц. :) Но формально да, поворот на определённое кол-во градусов.

UPD: Да, ещё. Там в параметрах не сложение, а умножение. Т.е., некое число умножается на 100. А само это число высчитывается где-то раньше. Во оно и есть искомое. Почему на 100 умножают и для чего это сделано именно так - ХЗ. Возможно для того, чтобы снизить влияние погрешностей возникающих при операциях с числами с плавающей точкой. Но это только моё предположение.

Vasya 13.11.2019 08:50

Цитата:

Сообщение от NB79 (Сообщение 202673)
Про понты в конце не очень понятно................. и разговоры о "понтах и понятиях" для этой темы не приемлемы.

ИМХО.

Выше мной написанное - так же "ИМХО".
От слов не отказываюсь.
Человек я простой - чего думаю, то и написал. Увы. :cry:

Vasya 13.11.2019 08:52

Цитата:

Сообщение от Sita. (Сообщение 202675)
"Всё смешалось в доме Облонских" )))
..................

Согласен.
Как бы так оно и есть. :ups:
Другими словами:
космические корабли бороздят просторы Тихого океана. :eek:

Vasya 13.11.2019 09:00

http://forum.aviaskins.com/showpost....postcount=2079

Цитата:

Сообщение от Vasya (Сообщение 202787)
Наверное получилось адаптировать все модели ТВ-1 к патчу 4.13.4.
Возможно будет работать и с более поздними патчами.
Код:

TB_1_ANT4        air.TB_1_ANT4 1                      NOINFO  r01  SUMMER
TB_1_ANT4b        air.TB_1_ANT4b 1                      NOINFO  r01  SUMMER
TB_1_ANT4Ski      air.TB_1_ANT4Ski 1                    NOINFO  r01  SUMMER
TB_1P_Float      air.TB_1P_Float 1                    NOINFO  r01  SUMMER
TB_1_ANT4T        air.TB_1_ANT4T 1                      NOINFO  r01  SUMMER

Пробуйте плиз! :ok:

Замечания принимаются. :ok:

Vasya 15.11.2019 08:17

Цитата:

Сообщение от SkyFan (Сообщение 202643)
Василий, СПАСИБО, теперь дошло, что означают "первые два"! Зафлешил "лыжника" и гидроплан, после чего ТБ-1 и ТБ-1Б отлично полетели. :ok: :good:
СПАСИБО еще раз! :beer:

Остальные полетели с новым фиксом?

SkyFan 15.11.2019 10:20

Василий, доброе утро!
Прошу прощения, только сейчас увидел оба сообщения: это и предыдущее.
Цитата:

Сообщение от Vasya (Сообщение 202833)
Остальные полетели с новым фиксом?

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

vitaly 15.11.2019 13:39

Удачи Коллега.
С уважением

SkyFan 15.11.2019 20:29

Вложений: 3
Василий, и еще приветствую!
Цитата:

Сообщение от Vasya (Сообщение 202833)
Остальные полетели с новым фиксом?

Докладываю, как обещал: полетели шикарно все пятеро. :ok: :good:
Спасибо за труды еще раз! :thx: :beer:
Единственное паранормальное явление, которое обнаружил в 4.14.1 + DGenPACK 3.0 - торпеда у торпедоносца крепится в толще левой консоли :DONT_KNOW: Скриншоті в прицепе. Но сбрасывается штатно. :ok:
С уважением.
P.S.Кроме фото добавил в прицеп архив с текстами для прописей в plane_ru.properties & weapons_ru.properties - чтобы нгазвания самолетов и список вооружения в меню выбора были русскими.

Vasya 15.11.2019 20:48

Цитата:

Сообщение от SkyFan (Сообщение 202842)
Василий, и еще приветствую!

Докладываю, как обещал: полетели шикарно все пятеро. :ok: :good:
Спасибо за труды еще раз! :thx: :beer:
Единственное паранормальное явление, которое обнаружил в 4.14.1 + DGenPACK 3.0 - торпеда у торпедоносца крепится в толще левой консоли :DONT_KNOW: Скриншоті в прицепе. Но сбрасывается штатно. :ok:
С уважением.

У меня в патче 4.13.4 вообще наполовину в крыле торчит.
Это баг крепления торпеды от автора мода, скорее всего.
В принципе поправить можно, но куда её крепить?
И какую торпеду нужно ставить?
Самолёт довоенный и торпеды, скорее всего, должны быть довоенные.
Если будет информация по торепеде, то чего то придумаем с креплением.

SkyFan 15.11.2019 21:06

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

Сообщение от Vasya (Сообщение 202843)
Самолёт довоенный и торпеды, скорее всего, должны быть довоенные.

Чаще всего ТАН-12: http://www.airwar.ru/enc/bww1/tb1p.html
Цитата:

Сообщение от Vasya (Сообщение 202843)
Если будет информация по торепеде, то чего то придумаем с креплением.

Крепилась под фюзеляжем. См. картинки в прицепе.

Vasya 16.11.2019 14:58

Цитата:

Сообщение от SkyFan (Сообщение 202845)
Чаще всего ТАН-12: http://www.airwar.ru/enc/bww1/tb1p.html

Крепилась под фюзеляжем. См. картинки в прицепе.

Получилось "малой кровью".
Слот для торпеды в 3До уже был. :ok:
Просто дописал этот хук в класс и поместил на него торпеду.
Пробуйте, плииз.
http://forum.aviaskins.com/showthrea...787#post202787


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

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