Полезное

Мы Вконтакте

Discord канал

#
Пред.
12345 ... 7
Модератор: icms
Аватара пользователя
Пользователь
Сообщения: 32
Всем привет. В мире существует всего несколько доступных для обычного населения (не считая спец тренажёров) симуляторов судовождения. Наиболее открытым для моддинга является vehicle simulator. Создавался и поддерживался до поры до времени одним человеком. http://www.hangsim.com/vsf/ Именно на нём мне и моим знакомым удалось частично реализовать идею симулятора судовождения с теплоходами времён СССР.
Изображение
Нами была разработана модель 305-го проекта и внедрена в Винакл Симулятор.
Изображение
Но к сожалению Винакл симулятор безнадёжно устарел и не развивается. И в нём нет возможности реализовать многие фишки, хотя бы в плане раздельной управляемости двигателями, и работы, к примеру водной струи создаваемой винтом, и отбрасываемой от балансирных рулей в нужном направлении. Невозможно отрегулировать работу рулевой машины, т.к. скорость перекладки рулей на настоящем теплоходе 30 сек с борта на борт, а в симуляторе - почти мгновенно, как в игрушке. И многое многое другое. Unreal Engine 4 подкупает своей возможностью закладывать нужные функции с помощью визуального программирования. Например тут, я за первые 3-4 часа почти сумел создать логику работы машинного телеграфа. (Скрин с винакл симулятора
Изображение)
Т.е. Создаём действие - 1.Идёт сигнал в машинное отделение. 2.Звенит звоночек, в машинном загорается лампочка. 3.В машинном моторист как будто видит команду к примеру увеличить обороты, с помощью Delay и Random Time исполняем команду (каждая команда исполняется с разной задержкой, как в жизни, ведь не всегда человек рагирует с одинаковой скоростью).4.Команда выполняется, лампочка гаснет, звонок прекращает звенеть, движок увеличил обороты. В общем получается сделать то что я к примеру с помощью строчного кода не сделал бы никогда.

Хотелось бы задать теоретический вопрос знатокам: возможна ли симуляция большого плавучего объекта? Возможно ли будет придать большому плавучему объекту характеристики настоящего судна?
Изображение
Хотелось бы большой ландшафт, что бы нарисовать реку для передвижения из пункта "А" в пункт "Б" к примеру. Где стоит предусмотреть "подводные" камни? Я не программист, и в нашей группе вконтакте (http://vk.com/club43980121) нет программистов, но потихонечку ваяем, что то получается, что то нет... Для себя понял что реализовать логику работы судовых механизмов получится даже без спец образования, а вот симуляцию поведения на воде.... Вот тут вопрос... В общем спасибо за ответы.
_________________
Изображение Симулятор Советского Речного транспорта. Группа вконтакте: http://vk.com/srms2016
Аватара пользователя
Администратор
Сообщения: 1581
Теоретически возможно, почему бы и нет. Зависит от ваших знаний блупринтов и от логики. Хотя, конечно, саму физическую модель я бы написал на С++ (Если бы знал его), но, думаю, на БП тоже можно реализовать.
_________________
Просьба, не писать вопросы по движку в ЛС. Я не единственный, кто знает UE4, и поэтому пишите на форум или в группу.
Аватара пользователя
Пользователь
Сообщения: 110
Модель силы противодействия воды движению судна (т.е. переменное давление на площадь сложной поверхности) Вам придётся скорее всего заменять эквивалентными силами, прилагаемыми в точке (тут уже теория предметной области Вам в помощь), но приложение усилия в точке тут реализовать сможете - почитайте про неоднократно упомянутые тут Thrusters. Ими же можно, видимо, реализовать движители судна.
Аватара пользователя
Пользователь
Сообщения: 564
Зачем симулировать сопротивление воды, если можно просчитать сопротивление при максимальной и минимальной нагрузке и хоть криволинейно интерполировать между значениями в зависимости от погружения в воду, указывая торможение судна. Не будет же симулироваться состояние краски, полипы на днище и температура воды, не будет же судно двигаться боком?
Аватара пользователя
Пользователь
Сообщения: 110
Hoyt Ridge, Вы говорите о сопротивлении воды как просто о неком линейном замедлителе. Я же предположил, что ребятам интересно сделать симулятор, в котором и положение судна определяется сопротивлением как некоей интегральной функцией по 3D-поверхности погружённой в воду части корабля (в т.ч. при манёврах).
Аватара пользователя
Пользователь
Сообщения: 14
Всем, привет! В общем, я продвинулся немного. Очень помог Ocean Project https://forums.unrealengine.com/showthread.php?42092-Community-Project-WIP-Weather-amp-Ocean-Water-Shader отличная вещь! Идеально подходит для наших целей. Занимаюсь пока разработкой один, снимаю видео для группы, что бы подтянуть и других людей. Вот два видео где сначала мне удалось заставить держатся на воде модель, а затем и придать ему плавучесть с помощью трастеров.

http://www.youtube.com/watch?v=Bjd7tGl30nY
http://www.youtube.com/watch?v=LDREhZ8ZT38

Сейчас я упёрся в програмирование. Нужна небольшая помощь.
Последний раз редактировалось Кораблёв Евгений 04 авг 2015, 12:21, всего редактировалось 1 раз.
Аватара пользователя
Пользователь
Сообщения: 14
Хотелось бы сказать огромное спасибо за вот этот урок:



Но я никак не могу добить до конца свою задачу. Цель - заставить поворачивать трастеры с клавиатуры, по оси Z, примерно так же как колёса у автомобиля, только перья рулей у теплоходов находятся сзади, но смысл тот же. Итак - есть модель теплохода:

Изображение

У неё есть два трастера на корме, которые будут симулировать отброс водной струи от винтов. По умолчанию сейчас после старта модель плывёт вперёд на полном ходу. Нужно заставить её управляться путём отклонения трастеров.

Изображение

У меня наконец то, благодаря уроку, получилось создать полноценную логику рулевой машины. Именно так как она должна работать, а именно: замкнули контакт - началось перемещение. отпустили контакт - перемещение остановилось. Вот блюпринт, в которм я пытаюсь присоеденить трастеры к таймлайн блоку:

Изображение

А вот таймлайн из которой мы получаем значения от -20 до +20

Изображение

Проблема в том что внутри блока всё работает, а трастеры не перемещаются... Что я делаю не так?
Подозреваю что AddRelativeLocation не будет воздействовать на трастеры, а будет затрагивать всю модель, потому что играясь с переменными я получал дикое вращение всей модели по выбранным мною осям...
Аватара пользователя
Пользователь
Сообщения: 1297
Если честно не совсем понял а зачем тут lepr vector? Я бы все сделал в тайм лайне, где float и был бы вектор. И надо не AddRelativeLocation п просто RelativeLocation. Add Постоянно добавляет значение к уже имеющемуся. Он добавляет а не устанавливает. Поэтому у тебя и крутит корабль. Если я правильно тебя понял.
_________________
Мои работы.
Youtube Channel
Форум по геймдеву.
Аватара пользователя
Пользователь
Сообщения: 14
Deus Ex Machina огромное спасибо! только просто relative location нет, есть set relative location. Все заработало по простейшей схеме, завтра выложу блюпринт, просто щас с телефона сижу... крутить получается по оси y. Корабль теперь поворачивает вправо и влево!!!!!
Аватара пользователя
Пользователь
Сообщения: 14
Всё оказалось гораздо проще чем я себе представлял изначально. Вот схема управления:

Изображение

При нажатии клавиши мы запускаем анимацию с таймлайна, при отпускании клавиши - останавливаем. Теперь можно регулировать время перекладки с борта на борт (те же 30 сек выставить как на настоящем судне), и по этому же принципу можно реализовать управление тягой трастеров!!!

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

Изображение


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница