![]() |
Кол-во полигонов не влияет на время сдвига/поворота меша. Фонарь - это просто модель, как и всё остальное, сдвигает/поворачивает его процедура, которая просто устанавливает новое положение/угол.
По этой процедуре. Если эта процедура отвечает именно за сдвиг/поворот, то надо смотреть место где она вызывается (в нужных моделях). Параметр, который в неё передаётся, отвечает за величину сдвига/поворота. Как обычно такие вещи делают: - Есть таймер, который тикает с определённым, очень маленьким интервалом - На каждый тик этого таймера мы шлём определённое сообщение, в зависимости от того, что у нас в игре происходит - Объекты принимают эти сообщение и в зависимости от того, что это за сообщение, выполняют определённые действия (если это сообщение к ним относится, конечно) Вот и надо смотреть с какими значениями эта процедурка вызывается для мессов и с какими для Су. Естественно, если эта процедура именно для сдвига/поворота. Ну и потом можно поменять у Су значения на нужные. |
И как эти значения посмотреть?
|
Так они где-то в коде должны присутствовать, в том месте, где эта процедура вызывается. Там и надо смотреть. Повторю, если это именно та самая, нужная процедура.
И ещё раз для понимания. Все цифры будут условными, ибо точных значений у меня нет. Итак. Допустим, что наш таймер щёлкает 100 раз в секунду, т.е. каждые 10 мс. Мы хотим, чтоб наш меш сдвигался на определённое расстояние за одну секунду. Соответственно, всё, что нам надо, это разделить расстояние на сто и на каждый тик таймера добавлять нужную величину и устанавливать меш на вновь полученную позицию. По крайней мере по процедуре получается так, в ней, в самом начале, есть некий resetYPRmodifier, который, как я понимаю, устанавливает параметры для меша в некую исходную позицию. Вот таким образом мы можем плавный сдвиг/поворот получить. Если нужен не плавный, то нужно действовать по-другому. Например, нам надо, чтоб две трети расстояния меш проходил с одной скорость., а последнюю треть с другой, медленнее. Или не треть, а пятую часть, вот как при закрытии фонаря, доводка в конце движения медленнее происходит. Тут надо уже иначе действовать. Логика та же, реализация чуть другая. 4/5 расстояния мы будем проходить за 4/5 секунды. :) А оставшуюся дистанцию за 2/5. Рассчитаем нужные коэффициенты, занесём их в табличку и на каждый тик таймера будем брать новое значение из таблички по индексу, который будет номер тика от начала операции сдвига. В принципе, всё это можно оформить в виде некоего виртуального метода (ХЗ есть это в Яве, или нет) и перекрывая в нужном классе организовывать нужные реализации, табличные методы, либо расчеты по произвольным нужным формулам. Решение получится прозрачным и простым и скорее всего в Старичке так и сделано, это не я придумал, а обычная практика. В общем, надо где-то рядом с вызовом метода сдвигающего фонарь искать соответствующие значения сдвига. |
Ну этот фонарь не сдвигается, а открывается, об этом говорит, как я понял, hierMesh().chunkSetAngles, т.е. угол поворота меша Blister1_D0 на 100 градусов(100F) по оси Y (вторая ось в списке). При каждом "тике" таймера к углу поворота добавляется приращение f, а вот как отрегулировать/прописать это приращение?
|
Цитата:
public void onAircraftLoaded() { super.onAircraftLoaded(); FM.CT.bHasCockpitDoorControl = true; FM.CT.dvCockpitDoor = 0.65F; } Иногда скорость открытия фонаря прописывают в FM.Если это не поможет,то нужно изменять в FM. |
Мне тоже интересен этот вопрос, на Ки-30 фонарь летчика работает с нормальной скоростью, фонарь стрелка очень быстро. А что нужно крутить в FM?
|
Цитата:
[Controls] CCockpitDoor 1 CockpitDoorPeriod 1.5 из этого делаем некоторые выводы.По поводу заднего стрелка возможно где-то прописано в классе.Детально к сожалению этим не занимался.:DONT_KNOW: P.S.Посмотрите как реализован задний стрелок в Barracudaxyz.class. |
Цитата:
|
Спасибо.
|
Цитата:
UPD: Да, ещё. Там в параметрах не сложение, а умножение. Т.е., некое число умножается на 100. А само это число высчитывается где-то раньше. Во оно и есть искомое. Почему на 100 умножают и для чего это сделано именно так - ХЗ. Возможно для того, чтобы снизить влияние погрешностей возникающих при операциях с числами с плавающей точкой. Но это только моё предположение. |
Цитата:
От слов не отказываюсь. Человек я простой - чего думаю, то и написал. Увы. :cry: |
Цитата:
Как бы так оно и есть. :ups: Другими словами: космические корабли бороздят просторы Тихого океана. :eek: |
http://forum.aviaskins.com/showpost....postcount=2079
Цитата:
|
Цитата:
|
Василий, доброе утро!
Прошу прощения, только сейчас увидел оба сообщения: это и предыдущее. Цитата:
|
Удачи Коллега.
С уважением |
Вложений: 3
Василий, и еще приветствую!
Цитата:
Спасибо за труды еще раз! :thx: :beer: Единственное паранормальное явление, которое обнаружил в 4.14.1 + DGenPACK 3.0 - торпеда у торпедоносца крепится в толще левой консоли :DONT_KNOW: Скриншоті в прицепе. Но сбрасывается штатно. :ok: С уважением. P.S.Кроме фото добавил в прицеп архив с текстами для прописей в plane_ru.properties & weapons_ru.properties - чтобы нгазвания самолетов и список вооружения в меню выбора были русскими. |
Цитата:
Это баг крепления торпеды от автора мода, скорее всего. В принципе поправить можно, но куда её крепить? И какую торпеду нужно ставить? Самолёт довоенный и торпеды, скорее всего, должны быть довоенные. Если будет информация по торепеде, то чего то придумаем с креплением. |
Вложений: 3
Цитата:
Цитата:
|
Цитата:
Слот для торпеды в 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