Unreal Engine 4
http://uengine.ru/forum/

Редактор (конструктор) объектов из модулей
http://uengine.ru/forum/viewtopic.php?f=2&t=11067
Страница 1 из 3

Автор:  PavelZX [ 21 сен 2017, 03:00 ]
Заголовок сообщения:  Редактор (конструктор) объектов из модулей

Для проекта UEF https://vk.com/uefpro надо сделать редактор (конструктор) космических кораблей, станций и зданий на планетах (спутниках и астероидах). Хочу попробовать сделать его на UE4. Основная идея, что все объекты собираются из модулей определённого типоразмера, по сетке из равносторонних треугольников в горизонтальной плоскости, по этажам. Подскажите пожалуйста с чего начать. К примеру есть урок Creating a Space Flight Simulator, можно взять от туда сцену, что надо сделать чтоб, как бы управляя роботом сборщиком, летать в пространстве и монтировать модули выбирая их к примеру из инвентаря?

В итоге, по окончании сборки, надо будет получить поэтажный план объекта (в виде таблиц из модулей), чтоб его как-то просматривать, возможно в другой программе, где уже проверять логику взаимодействия блоков по функционалу.

Заранее прощу прощения у администрации, если разместил тему не там где надо.

Автор:  PavelZX [ 21 сен 2017, 03:33 ]
Заголовок сообщения: 

Первый модуль ставится просто в центре сцены, остальные будут примыкать к нему в любой последовательности. Отлетая от места сборки, мы можем просто осмотреть конструкцию со стороны. Подлетаем близко, появляется контур нового модуля, который будет примыкать к ближайшей к нам плоскости, уже установленного модуля.

Изображение

По клавише, к примеру "I" выбирается другой модуль из групп, вначале выбирается внутренний или внешний модуль, потом выбираются группы по функциональности. Выбранный из инвентаря модуль может вращаться на 60 гр. в горизонтальной плоскости. При установке нового модуля проверяются условия, к примеру любой внешний модуль может примыкать только к внутреннему, а не какому-нибудь другому внешнему. Если устанавливаемый модуль больше чем минимальный воксель (треугольная призма), то проверяются коллизии с соседними модулями. Могут быть ещё другие условия, к примеру внешний модуль должен примыкать к внутреннему только в одной плоскости (есть исключения), а внутренние модули могут иметь шлюзы, которые должны соединяться со шлюзами других внутренних модулей или специальным внешним модулем.

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

Автор:  PavelZX [ 21 сен 2017, 07:13 ]
Заголовок сообщения: 

Есть момент, который я ещё не проработал. Внешние модули, составляя оболочку объекта, соприкасаются между собой, в первую очередь это броневые пластины. Вот, в месте соприкосновения они должны сопрягаться графически, вид этого сопряжения зависит от места сопряжения, разный угол и направление вдоль уровня (этажа) или с этажа на этаж. Думаю это можно всё просчитать заранее (все варианты) и прописать соответствующую логику, а при отображении при монтаже выводить некий усреднённый, вариант, который потом будет заменяться окончательным вариантом. Этот окончательный вариант хорошо бы увидеть сразу при удалении от объекта, чтоб можно было оценить внешний вид транспортного средства или стационарной конструкции.

Также не отметил, что как стационарные объекты, так и космические корабли могут иметь как горизонтальную планировку с зеркальной симметрией (желательно это соблюдать прежде всего при монтаже внутренних модулей), так и вертикальную компоновку с лучевой симметрией. Соответственно модули, прежде всего внешние, должны иметь варианты дизайна для обоих компоновок, при одном и том же функционале.

Автор:  PavelZX [ 21 сен 2017, 09:55 ]
Заголовок сообщения: 

Так, предположительно в сцене редактора необходимо создать некий объект, в котором уже будет какой-то начальный модуль. Таким начальным модулем может быть, к примеру, кабина управления. В концепте UEF в космических кораблях и станциях не будет иллюминаторов, вместо них информация об окружении будет собираться со множества видеокамер и радаров, на внешних модулях и поступать на мониторы кабины управления. Поэтому данный модуль может быть размещён в центре космической станции или корабля, что наиболее логично из соображений безопасности экипажа.

Думал, что необходимо создавать некую сетку, на основе вокселей в виде призм (размером с самый маленький модуль), как это сделать в UE4 не знаю. Возможен вариант, когда каждый модуль будет иметь так называемые сокеты, в местах сопряжения, в данном случае, помимо дополнения в модель модулей, потребуется пересчитывать готовую конструкцию, для создания таблиц модулей.

Автор:  PavelZX [ 22 сен 2017, 01:16 ]
Заголовок сообщения: 

И так, задачу размещения модулей можно решить двумя способами. Первый, это пространственная (объёмная) воксельная сетка. В Майнкрафте, к примеру, воксель это кубик, у нас треугольная призма. При чём как и в этом случае, так и в другом, в итоге должна получится трёхмерная матрица (массив) из вокселей, с id модуля, его типом и ориентацией (6 шагов по 60 гр.) по горизонтали для внутренних, а для внешних или по горизонтали с треугольным основанием и (4 по 90 гр.) с квадратным основанием.

Второй способ, это сокет у каждого модуля, на каждом треугольнике (горизонтальные грани) и каждом прямоугольнике одинарного размера (прямоугольные грани). Во втором случае у самого маленького внутреннего модуля будет 5 сокетов, а у самого большого 192. У внешних модулей будет 1, 2, или 3 сокета, в зависимости от их высоты.

Но самое сложное будет, это создание единого меша из набора внешних модулей в качестве оболочки вновь создаваемого объекта, чтоб передать информацию в демо космосим.

Автор:  Prytaleks [ 22 сен 2017, 05:16 ]
Заголовок сообщения: 

как я вижу есть документ с тонной мечт(именно мечты, и никакой конкретики), и несколько примитивов, в том числе из пластилина. Серьезный багаж, далеко пойдешь.

p.s. а эта фраза меня вообще поразила)) - "если в проекте вдруг нет программистов, весь проект делается на блупринтах"

p.p.s. а вот еще одна - "Визуальное программирование — это не программирование. Это применимо лишь в качестве стейт-машины для анимаций, простых сценарий.", а я вот думаю что текстовый код в будущем также отпадет, как и машинный отпал в свое время. И да, лично у меня, код для анимаций у меня составляет максимум 10% от всего объема кода.

p.p.p.s. осмелюсь предположить, что автор не сделал на блюпринтах ничего, не организовал ни одного полноценного алгоритма. И вообще не понял для чего он предназначен.

Автор:  PavelZX [ 22 сен 2017, 07:39 ]
Заголовок сообщения:  Re:

Prytaleks писал(а):
а эта фраза меня вообще поразила))

Это даже не статья ещё, а просто фразы с мнениями разных людей, выдернутые из комментариев. Сайт вообще в процессе разработки.

Тему эту создал не для того чтоб обсуждать мой "набор мечт", а в расчёте, что кому-то будет интересно разобраться с определённым вопросом.

В программировании вообще не новичок, а с UE4 разбираюсь всего несколько дней.

Автор:  Noob256 [ 22 сен 2017, 14:20 ]
Заголовок сообщения: 

Делать редактор лучше на том движке на котором будет игра

Если конструирования кораблей в процессе игры не будет - то лучше просто в 3Д мах это сделать

Автор:  kuirp [ 22 сен 2017, 16:25 ]
Заголовок сообщения: 

Вот что-то похожее:
https://www.youtube.com/watch?v=t1gpILSwhkg
Так, для визуализации идеи

Автор:  Snake [ 22 сен 2017, 17:33 ]
Заголовок сообщения: 

а почему призма? почему не прямоугольная воксельная сетка? чтоб строитель не смог прямой угол сделать нигде?
https://www.google.com.ua/search?q=space+engineers
"все уже украдено до нас"(С)

Страница 1 из 3 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/