Очень ранняя альфа. Масштабы проекта и его революционность не гарантированы xD
Делаю игру один.
Расскажу о том, каким напильником дорабатываю готовые ассеты, и почему.
Вот, что у нас получится.
Без регистрации и смс.
Худо-бедно-криво я умею моделить, рисовать, кодить, текстурить и вот это вот все... а еще я очень хорошо умею лениться и бросать начатые проекты (думаю, многим знакомо).
Однажды, на официальном ютуб канале Quixel, я наткнулся на серию видео, где их художники, используя мегасканы*, изменяя и комбинируя их, получают уникальное по стилю окружение.
Ссылка на плейлист, кому интересно.
*мегасканы - это навороченная фотограмметрия, когда со всех сторон фотографируют объект, а потом строят его модель на основе снимков.
Так вот, раньше я считал, что использовать готовые ассеты (модели, анимации, звуки и т.д.) - это не тру, и ты должен страдать делать все сам от начала и до последнего пикселя. Здесь же я увидел, что сами epic games продвигают иную концепцию.
Я попробовал, мне понравилось, и теперь не могу бросить xD
Такой подход позволил мне не терять энтузиазм, ведь за 20-30-60 минут я могу получить приемлемый результат.
Конечно, таким образом не получится сделать всю игру, но какие-то части окружения - можно.
Далее постараюсь передать основную идею, не воспринимайте это как урок. Думаю, у многих получится лучше, чем у меня.
Картинка “До” - это исходник, я взял модель из пакета “Modular Fantasy House”, который раздавали бесплатно в marketplace (магазин ассетов для UE4).
Модель экспортирую в формате fbx и загружаю в blender.
У этой модели были настроены LOD’ы, ( Level of Detail - чем дальше камера от объекта, тем менее детализированный вариант модели показыватся).
Сейчас LOD’ы мне не нужны и я оставляю, только LOD0
Дальше будет не совсем понятный, но важный шаг. Перехожу в режим редактирования развертки*, мысленно делю объект на части и для каждой из частей экспортирую UV layout (сохраняю картинку с частью развертки).
* Развертка - это как бы выкройка для 3d объекта, по ней движок понимает, какую часть плоской текстуры на какую часть объемной модели накладывать.
Выглядит развертка примерно так:
На основе развертки для каждого отдельного элемента я создаю черно-белую маску - это упростит мне работу при текстурировании.
Дело в том, что Quixel Mixer* проецирует текстуру на всю модель и как бы заливает ее краской. И если я хочу сделать часть модели, скажем, красной, а другую зеленой, мне нужно создать зеленый и красный слои и каждому слою назначить маску: показать, какую часть объекта каким слоем закрашивать (Простите, лучше объяснить не умею xD).
Для тех кто в теме: я знаю, что это решается разными материалами для модели или же через material id, но сейчас я делаю так :)
*Одна из программ текстурирования, для использования внутри Unreal Engine она бесплатна.
А вот так выглядит одна из масок.
Теперь открываю Mixer и создаю папки для деревянной и металлических частей фонаря. Деревянную часть я дополнительно разделяю на подпапки, так удобнее.
Как видите, каждому элементу я назначил маску (которую создал на основе развертки).
Далее нахожу в библиотеке Quixel подходящую текстуру дерева, кидаю в нужную папку, настраиваю цвет.
(Я использую solid layer с градиентной маской и еще один sold layer с маской curvature, таким образом стараюсь сделать текстуру более стилизованной - но это чистая вкусовщина, и достигаю я каких-то результатов методом тыка).
Дальше я поигрался со шрифтами с цветом, режимами наложения слоев и немного подправил кистью.
Вы, наверное, помните урок о том, как рисовать сову? Сейчас будет тоже самое ╮( ˘ 、 ˘ )╭
Делаем примерно вот так:
Простите-извините, пост и так получается очень длинным, а я хотел не научить вас текстурить, а показать идею. Принципы, которыми я достиг этого результата, я уже описал - вы сможете лучше, чем я!
После я немного изменил геометрию фонаря в blender и закинул модельку в Unreal. Дальше примеры того, что получилось.
Подозреваю кучу хейта от профессионалов, но прошу меня простить:)
И кстати говоря, а вот и И-испанцы!