Полезное

Мы Вконтакте

Discord канал

#
Модератор: icms
Аватара пользователя
Пользователь
Сообщения: 1
Всем доброго времени суток в этой теме я бы хотел задать ( хотя даже наверное спросить как сделать ) пару вопросов по поводу реализации Blueprints'ами Ж/Д функций. Заранее благодарен всем тем кто ответит ( и даже покажет) как реализовать всё что будет написано ниже , все это для того чтобы узнать насколько будет трудоемким процесс создания Train Sim'а. Итак начнем.


1) Первое и наверное самое банальное , Склеивание 2х Spline в один ( посредством объединения их точек ) (например рельсы) , есть много ресурсов по созданию сплайнов и по тому как заставить геометрию на них сгибаться правильно , но вот как объединять их я так и не нашел.


2) Движения поезда По рельсам (Spline). Тут у меня были 2 варианта:1) 1й был сделать рельсы и вагонные тележки (колеса и их вращающий элемент) посредством физики с коллизией и двигать вагон посредством прокрутки колес,как при создании Blueprint'а автомобиля (идеальный вариант) но как я вычитал из той мизерной информации что имеется это не самый лучший вариант ибо вагон вагон часто сходит с рельс . 2) 2й вариант это привязать вагон к сплайну и двигаться по нему - тут решается проблема схода с рельс , но появляются другие нужно заставить вращаться ( при повороте) не весь объект (вагон) а только его тележку и сделать прокрутку колес.


3) Управление , про "симуляторное" управления я даже не заикаюсь , но для начала можно обойтись и простом - Сделать контроллер ( например) с 6 позициями и прописать в них значения скоростей и их убывания (например, п.-позиция :[1п.-0-10км\ч] [2п.-10-30км\ч] [3п(нейтральная).-0-0км\ч] [4п.-текскорость-10км\ч] [5п.-текскорость-30км\ч] [6п.-текскорость-0км\ч] Изображение.


4) Раскачака , она непрерывно связанна с движением , тут опять же имеются 2 варианта: 1) 1-й это сделать анимацию в 3d пакете и проигрывать её в зависимости от положения контроллера , но нужно еще приписать анимацию полного торможения (когда при остановке объект по инерции чуток толкает назад https://youtu.be/w7g25p0SrLY?t=563 ) 2) 2-й Попробовать ее сделать через симуляцию но тут я даже не знаю насколько это возможно и есть ли смысл.


4)Звуки , звуки мне кажется тоже можно привязать к контроллеру ( Пуп земли прям все вокруг него вертится )


Вроде для начала всё , если есть желающие помочь (объяснить\показать) буду очень благодарен .

Спасибо за внимание - Lok
Аватара пользователя
Пользователь
Сообщения: 10
Цитата:
1) Первое и наверное самое банальное , Склеивание 2х Spline в один ( посредством объединения их точек ) (например рельсы) , есть много ресурсов по созданию сплайнов и по тому как заставить геометрию на них сгибаться правильно , но вот как объединять их я так и не нашел.

Это как раз одно из самых сложных задач в перечне. Сложнее в реализации только раскачка.

Непосредственно слить сплайны не получится. Нет такого метода у SplineComponent-а. Но можно сплайн с которым сливаешь удлиннить на точки сплайна с которым сливаешь.
Координаты и все параметры точек спланов тебе известны. Изменяешь один сплайн и удаляешь второй. Либо удаляешь сливаемые и получаешь общий, создав его предварительно на лету и считав данные о точках.
Последний раз редактировалось Карамболь 03 окт 2016, 10:39, всего редактировалось 1 раз.
Аватара пользователя
Пользователь
Сообщения: 10
Цитата:
2) Движения поезда По рельсам (Spline). Тут у меня были 2 варианта:1) 1й был сделать рельсы и вагонные тележки (колеса и их вращающий элемент) посредством физики с коллизией и двигать вагон посредством прокрутки колес,как при создании Blueprint'а автомобиля (идеальный вариант) но как я вычитал из той мизерной информации что имеется это не самый лучший вариант ибо вагон вагон часто сходит с рельс . 2) 2й вариант это привязать вагон к сплайну и двигаться по нему - тут решается проблема схода с рельс , но появляются другие нужно заставить вращаться ( при повороте) не весь объект (вагон) а только его тележку и сделать прокрутку колес.

2-й вариант однозначно. Вращение колес - анимация через AnimBP и скорость тележки. Скорость тебе известна, передаешь ее в AnimBP, а там просто вращаешь колеса.
Аватара пользователя
Пользователь
Сообщения: 10
Цитата:
3) Управление , про "симуляторное" управления я даже не заикаюсь , но для начала можно обойтись и простом - Сделать контроллер ( например) с 6 позициями и прописать в них значения скоростей и их убывания (например, п.-позиция :[1п.-0-10км\ч] [2п.-10-30км\ч] [3п(нейтральная).-0-0км\ч] [4п.-текскорость-10км\ч] [5п.-текскорость-30км\ч] [6п.-текскорость-0км\ч] Изображение.

Тоже просто. Создаешь структуру (в BP варианте)
Код:
struct SpeedData
{
int State;
float maxSpeed;
}


И само пеерключение заключается в том, что ты устанавливаешь новую максимальную скорость в зависимости от передачи. И плавно в тике через Lerp ее меняешь (скорость).
Аватара пользователя
Пользователь
Сообщения: 10
Цитата:
4)Звуки , звуки мне кажется тоже можно привязать к контроллеру ( Пуп земли прям все вокруг него вертится )

Нет, контроллер управляет основными параметрами поезда и стоит в точке (0,0,0), звуки цепляются к вагонам и локомотиву.
У них (вагонов и локомотива) есть инфа о скорости и событиях (старт/стоп и прочее). Они реагируют на события и издают звуки в зависимости от скорости и событий.
Аватара пользователя
Пользователь
Сообщения: 10
Цитата:
4) Раскачака , она непрерывно связанна с движением , тут опять же имеются 2 варианта: 1) 1-й это сделать анимацию в 3d пакете и проигрывать её в зависимости от положения контроллера , но нужно еще приписать анимацию полного торможения (когда при остановке объект по инерции чуток толкает назад https://youtu.be/w7g25p0SrLY?t=563 ) 2) 2-й Попробовать ее сделать через симуляцию но тут я даже не знаю насколько это возможно и есть ли смысл.


Можно просто от локомотива к вагонам передавать событие: поехали/останавливается. Они (локомотив и вагоны) по цепочке с задержкой передают это событие и расстояние в сцепке между вагонами при разгоне сначала увеличивается потом сокращается, при торможении наоборот уменьшается после выравнивается. Но идея именно в цепной передаче события. При этом выгоны в сцепке следят за расстоянием которое нужно выдерживать. Это не физика, конечно, ее лучше не использовать совсем. Просто или сам контроллер заботится о рассчете растояний между вагонами в сцепке или каждый вагон сам в зависимости от состояния изменяет дистанцию. Нужно тестировать.
Аватара пользователя
Пользователь
Сообщения: 4069
5 постов описания что надо сделать, уверен у автора темы все сразу получится, ибо когда решение описывает Ogasoda, все становится легким, понятным и доступным, даже скринов не надо.
Аватара пользователя
Пользователь
Сообщения: 55
Ogasoda? Это тот неадектват что кучу акаунтов насоздавал?
лучше не упоминать его лишний раз от греха подальше.
свят, свят, свят как говорится
_________________
поосторожнее там с грибами

ПиСя. Желательно их вообще не употреблеать.


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

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