Blender 3d-среда для быстрого прототипирования уровней [UE4]

Blender 3d-среда для быстрого прототипирования уровней [UE4]

Делюсь своим маленьким тулом. Сыллка на скачивание внутри.

Зачем и почему

Причина создания данного тула проста - крайняя фиговость BSP геометрии в UE4, после взаимодействия с которой, не хочется трогать сам UE4 и трехметровой палкой. Поэтому, когда мне нужно было быстро что-то ,быстро накидать, я использовал обычные кубы с наложенной на них кастомной aligned текстурой:

"Mirrors Edge Style" уровень для тестов бега по стенам<br />
"Mirrors Edge Style" уровень для тестов бега по стенам

Однако, данный способ страдал от двух проблем: необходимостью возится с размерами самих кубов, и их крайнюю "негибкость" заставляющую, в некоторых случаях, прибегать к их использованию в больших количествах.

Техническая составляющая/вдохновители

Главным вдохновителем этой системы послужил новейший Hammer Editor от Source 2, работа в котором с BSP геометрией была доведена до уровня, на котором находятся пакеты для 3D моделирования:

Ну не прям "выкидывайте пакеты моделирования" но тоже хорошо.

И тут мне пришла в голову простая идея - почему бы не рисовать уровень в том же Blender-e, а затем выгружать его на UE4? Ответ оказался прост: отсутствие визуальной метрики, по которой можно было бы оценить размеры модели относительно внутриигровых обьектов. К сожалению, в Blender-e нету такой полезной вещи как Aligned нодов, позволяющих накладывать текстуру не по ее развертке, а по положению в пространстве.
Благо я знал приблизительный принцип "пространственного наложения", что позволило мне путем реверсивной инженерии воссоздать его:

Воооот так это было<br />
Воооот так это было

Инструкция по эксплуатации

Создание и выгрузка в UE4

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

Редактировать полигоны стоит преимущественно в последних двух режимах визуализации.<br />
Редактировать полигоны стоит преимущественно в последних двух режимах визуализации.

Когда соберетесь выгружать все это дело, разверните всю модель "для карты освещения" и спокойно грузите внутрь UE4. По прибытии, выставите нужное вам разрешение карты теней (для запекания текстур) и включите использование комплексной коллизии как упрощенной. Готово!

Как на картинке<br />
Как на картинке

Желательно, чтобы у вас были Alighed материалы в самом UE4.

А еще убедитесь, что полигоны вывернуты туда куда нужно.

Свои текстуры/цвет

В материале GrayGrid есть аннотации к блокам, которые можно модифицировать. Все остальное трогать на свой страх и риск:

Blender 3d-среда для быстрого прототипирования уровней [UE4]

Моя сетка была рассчитана на мою игру, и может не подходить метрике вашей, поэтому её по желанию можно заменить:

Для всех трех направлений, предварительно выгрузив мои текстуры
Для всех трех направлений, предварительно выгрузив мои текстуры

Материал использует две текстуры: "маленькую сетку" (размером в метр) и "большую сетку" с настраиваемым размером (по умолчанию в 3 метра). Если вам нужно в качестве второй сетки использовать размер в 2 метра, то в блоках "кастомный размер" выставите двойку в качестве делителя:

для всех трех направлений
для всех трех направлений

Настраивать цвет здесь:

Настраивать цвет здесь:
Настраивать цвет здесь:

Первая градиентная карта настраивает прозрачность мелкой сетки, а во второй настраивает цвет линий и заливки.

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

Скачать/Сыллки:

Сам тул:

Тут можно посмотреть на то, что я делаю:

Donation Alerts:

148148
28 комментариев

Спасибо, это круто, красавчик,)
Открытое ПО, свободная передача опыта и в целом такие кастомные вещи — моё почтение.

<сохранено в закладках и лайкнуто>

9
Ответить

Всё в Блендере есть. И давно.

7
Ответить

Вот тоже не понял этого, вродеж все есть или автор имел ввиду что то другое.

Ответить

Я инди, я без денег :)

Ответить

Комментарий недоступен

Ответить

Смысл прототипирования в игровом движке - минимум манипуляций, чтобы получить грубую прикидку уровня и побегать персонажем / камерой. Кроме этого, есть наборы предназначенные для создания прототипов уровня. Данный подход лишь увеличивает затраты времени и никаких их не оправдывает.

1
Ответить