![]() |
С горизонтом и компасом разобрался. Прицел просто развернул на 180о перекинув нормали. У компаса чуток сдвинул координаты.
С прицелом сейчас работаю. Василий, тот фрагмент кода который ты выделил в кокпите А73А есть. Он имеет вот такой вид: Код:
private void leave() { |
Цитата:
Но ещё лучше, если названия мешей в коде будут совпадать с мешами в 3До кокпита твоего Джилика. Я бы не морочил себе голову, если бы :umora: научился ваять кокпиты, и оставил стандартные названия в коде, которые используются в классах дефолтных кокпитов... и в 3До так же б меши пообзывал(что бы совпадали имена мешей). :ok: Например, достал бы кокпит для Ки-27/43 и соорудил бы аналог(по именам). |
Цитата:
Цитата:
Цитата:
В кокпите от автожира все работает, кроме CAMERAAIM и выяснить причину, почему так, я не могу. Мало знаний по яве. Можно тупо поставить прицел по центру, но это не наш путь... Появится время, попробую поставить классы от И-15. Вчера уже попробовал, но без привязки к названиям мешей, получил "море". |
Цитата:
|
Цитата:
|
Цитата:
|
Видимо кокпит А7-3А работает нормально. В свободную минуту еще раз пересмотрел 3д и классы автожира. Потом уселся в кабину бомбера и то же при "включить прицел", "прильнуть к прицелу", получил незначительное движение камеры вперед. Другое дело жмакнуть кнопку "прильнуть к прицелу", из положения бомбардира, камера реально сдвигается к прицелу.
Вроде бы и знал об этом моменте...:I'm_thinking: Открыл классы бомбардира и вот он, хук CAMERAAIM. Как правило сидит вот здесь: Код:
|
По моему ты полез не в те дебри. Проверь, чтобы в классе кокпита был прописан родительский класс CockpitPilot.
Типа: public class CockpitA7-3A extends CockpitPilot Тогда при нажатии клавиши "смотреть через прицел вкл/выкл" всё должно получиться |
Такой класс есть.
|
Читаю про прицелы и начинаю путаться... А вы похоже совсем запутались. Есть всего три варианта работы прицела.
1-самый простой, когда прицел обычный - хук CAMERA - это глаза пилота, этот хук только поворачивается и смещается командами 6DOF. хук CAMERAAIM включается в режиме "прильнуть к прицелу", находится как и CAMERA в кабине и реализует возможность центрирования сетки - пример Bf-109. Для реализации этой схемы не нужен код. 2-это имитация перископического прицела. В этом случае хук CAMERAAIM выносится за пределы модели кабины и помещается в цилиндр, для его активации нужен код включения мешей цилиндра, сетки и т.д. пример SBD-3 3-реализация перископического прицела как отдельной кабины, пример Р-5. Эта реализация похожа на кабину бомбардира и по коду и по модели. Я вот смотрю куски вашего кода и вижу дикую мешанину. Вы что сделать то хотите? :) |
Свои посты удалил.
Не буду нагружать дикой мешаниной из класса кокпита Ки-43. Всем успехов! :ok: |
Уважаемые коллеги, не стоит так переживательно реагировать на проблемы взаимонепонимания.
Василий я успел скачать Ваш класс кокпита и обязательно его разберу. Японцы для меня конечно трудноваты, однако работать с ними надо. Буду доделывать Ки-36 с максимально исторично-реалистичным кокпитом. Цитата:
Цитата:
|
Вложений: 2
Василию много благодарностей и плюс в карму!:good: Класс нормально скомпилировался, пришлось только добавить правильную шапку. В игре тоже все работает. Ну почти все. При нажатии "ВКЛ/ВЫКЛ прицел" камера зависает как бы в воздухе. Однако во первых, я еще не переименовал меши, во вторых думаю поставить хук CAMERAAIM перед окуляром прицела.
Большое спасибо всем принявшим участие:thx:, надеюсь на Вашу помощь в дальнейшем. Уверен, это не последняя проблема которую предстоит решать... |
Вложений: 1
В архиве меш прицела с хуком CAMERAAIM. Этот меш надо прописать в hier.him. В файле java код для управления. Этого должно быть достаточно чтобы реализовать перископический прицел.
|
Асура спасибо! Скачал архив. Код и хиер открылись нормально, а в SuperReticle.msh какая то "абракадабра" вот фрагмент:
Код:
BS f “ w Л Ы [Common] [LOD] [Materials] |
Это потому, что меш в бинарном формате. Открой меш в мешконвертер или мешдампер и сохрани в виде текста
|
Спасибо помогло.
|
Вложений: 2
Обе системы и от Василия и от Асуры, рабочие. Первоначально как и хотел поставил камеру перед окуляром прицела. От этого варианта пришлось отказаться. Линию прицела перекрыли кольцо Тауненда и цилиндры мотора. Изменил имена мешей и код. В результате получилась как бы имитация прицела, но все равно с перекрытием линии огня. Сдвинул
всю конструкцию SuperReticle вперед, за кольцо. Теперь все нормально, осталось поправить положение прицела в кабине. |
Привалило основной работы, так что работа с автожиром притормозилась.
Пока прицепил рычаг бомбосбрасывателя и провожу эксперименты с управлением радиатором. Рычаг бомбосбрасывателя срабатывает как то очень резко. Подскажите, если кто знает, как регулировать скорость нажатия гашеток управления огнем? А вот управление радиатором пока не работает... |
плавность перемещения делается так (пример затемнения прицела Зеро):
private Variables setOld = new Variables(); private Variables setNew = new Variables(); в public boolean tick() setTmp = setOld; setOld = setNew; setNew = setTmp; if(cockpitDimControl) { if(setNew.dimPosition>0) setNew.dimPosition = setOld.dimPosition-0.05f; }else { if(setNew.dimPosition<1) setNew.dimPosition = setOld.dimPosition+0.05f; } в reflectWorldToInstruments mesh.chunkSetAngles("sunOFF", 0.0f, cvt(interp(setNew.dimPosition, setOld.dimPosition, delta), 0.0f, 1.0f, 0.0f, -77.0f), 0.0f); переменная setNew.dimPosition плавно изменяется за счет формулы setNew.dimPosition = setOld.dimPosition-0.05f в процедуре tick и мешь двигается плавно. меняя значение прироста переменной можно регулировать скорость перемещения. |
Текущее время: 23:04. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot