Posted November 10, 2019 by RazielSun
Привет!
Пока я думаю над концептом, решил разобраться как делать уровни. Я давно присматриваюсь к Houdini и задумал потренироваться с ним в производстве ассетов уровней для Unity. Коротко расскажу что у меня получилось.
В Houdini можно создавать Digital Assets (HDA) и потом их добавлять в Unity проект. Для движка есть плагин Houdini Engine, который может выполнять HDA в Unity. Там можно вывести разные параметры, подпихивать геометрию или кривые. Плагин не поддерживает realtime в движке, но для создания и запекания в префабы в самый раз.
Задача сделать уровень. Уровень состоит из плиток пола. Стены и пол должны иметь коллайдеры. Добавлю еще возможность делать дырки в уровне.
Начинаем :) Первое что делаю - создать саму сетку уровня. Два параметра Width & Height.
Добавляю точки с помощью ноды Attribute Wrangle (Details mode). Потом я сделаю ответвление чтобы можно было нарисовать дырки в уровне. Пока отображаю точки.
Выделяю нужные поинты и штампую туда геометрию. Простые квадраты. Еще я им делаю развертку. Выделаю грани по бокам и у задней стенки делаю им extrude. Разворачиваю стены. В итоге получается так:
Еще добавляю ноды, чтобы подцеплять сразу нужный материал в Unity.
И вот уже можно создавать сетку с геометрией. Конечно можно сделать и в Unity своими средствами, но здесь мне кажется быстрее если нет наработок.
Теперь добавим дырок на уровень. Я решил что удобнее будет покрасить те места где нужна дыра. Другого способа я пока не нашел или не придумал, поэтому я добавил ноду paint.
Выставил в настройках у своего HDA как Editable.
Теперь разбираюсь с коллайдерами. Стоит их тоже добавлять процедурно, настраивать их для каждого уровня было бы тяжко для меня. У плагина есть настройка: всё что в группе с название collision_geo будет считаться коллайдером. Там еще есть разные названия групп какими могут быть коллайдеры. И еще стоит планировать свой ассет, если хочешь чтобы было много простых box collider.
Собираем всё вместе. Вжух! И вот как это все выглядит в Unity.
Вывод: думаю что Houdini очень полезный и удобный инструмент, если нужна оптимизация в построении уровня. Но это совсем не быстро и стоит принимать взвешенное решение при его использовании на простых прототипах. Но всё таки это чертовски интересно для меня!
Title photo by Markus Spiske from unsplash.com