Все знают, как тяжело начинать что-то новое. Например, вести вот этот самый блог на gamedev… О чем же писать в самом начале…
То ли рассказать о своей будущей игре, где в угаре боя дымится джойстик. А может поведать о целом списке проектов, что ждут своего часа. Или «мега-проекте», где злобные полчища гоблинов мечутся в полностью разрушаемом мире. Ой, а это ведь пока секрет!
Начну я, пожалуй, с текущей задачи, которая возникла буквально неделю назад. А началось все с малого…
— Зайчик мой, а ведь скоро 8 марта, — оторвала меня от работы вторая половинка.
— Мм-м, — невразумительно промычал я, рассматривая неожиданно перекрутившуюся сетку модели в Blender. — Да, дорогая, я в курсе.
— Я жду два подарка и надеюсь, что цветы не считаются одним из них.
Нужно вам сказать, что мне жутко повезло, так как моя любимая родилась именно 8 марта. Впрочем, как показала семейная жизнь, одним подарком отделаться никогда не удавалось. И каждый год выбор подаркОВ всегда стоял очень остро.
Именно это подвигло меня задуматься, а что же можно подарить такого оригинального и необычного. Идея красивой электронной открытки в тот момент показалась мне очень интересной (конечно, это не исключает реальные подарки). Её можно отослать по электронной почте, затем хвастаться перед подругами в социалках.
Увы, хорошего качества открыток в сети не нашлось. Пара убогих подделок на flash вызывали рвотный рефлекс. Так и появилась идея сделать ее самому.
Эврика!
Идея очень простая. Создать яркую трехмерную сцену. Разумеется, с цветами, добавить бабочек и многие другие приятные глазу плюшки. Но самое главное — разрешить пользователю создавать произвольное текстовое послание прямо в сцене и отсылать открытку адресату. В свою очередь дама может бесконечное количество раз просматривать её, а также делиться в соц. сетях. Вот такая идея…
Итак, рабочий инструмент — Blender. Реал-тайм движок — Blend4Web. Монетизации ноль. Результативность… ну как выйдет.
Одна из главных задач — это красота. Дамам плевать на технологичность, должен быть вау-эффект. Однако, мы все знаем — чем круче сцена, тем больше ресурсов она требует. А это для браузерных проектов смерти подобно.
Несколько месяцев назад, в одном из релизов Blend4Web появилась информация, что они стали интегрировать в движок ноды Cycles. Те, кто работают с Blender знают, что это качественный фотореалистичный рендер и очень неторопливый. Когда я прочитал эту новость, то недоверчиво хмыкнул. Как, Cycles и в реал-тайм? Да быть такого не может! Дальнейшие исследования новинки показали, что сомнения не напрасны и большинство нод Cycles не поддерживается.
Однако вышедший буквально несколько дней назад новый релиз Blend4Web добавил нужные мне возможности, а главное вовремя! (Кому интересны подробности, то читаем здесь)
Итак, в чем суть проблемы. Сакура, прекрасная цветущая сакура, которая не может оставить равнодушным никого на свете. Вот только выглядеть она в 3D должна, как настоящая. Полупрозрачные лепестки бутона очень легко создать с помощью ноды Transparent BSDF, поддержка которой как раз и появилась в новом релизе движка.
В итоге, я состряпал несложный нодовый конвейер с двумя текстурами и простой связкой.