Годот 3д гайд Decal

Сейчас мы рассмотрим работу туториала Decal в Godot

Из описания следует, что Decal — это узел, проецирующий текстуру на MeshInstance3D. Проще говоря, 3D-тела покрываются текстурой. В этом туториале мы максимально подробно разберём, как разными способами и с разными настройками наложить текстуру на Decal. Мы видим несколько объектов, и у каждого из них есть свои свойства

Мы рассмотрим структуру проекта godot decal

Описанная сцена, камера и код во многом повторяют предыдущие уроки. Однако нас интересуют новые свойства узла Decal. Рассмотрим некоторые из них

Сразу перейдем к узлу Testers

Первый узел — BulletPlasmaDecals. Он состоит из MeshInstance3D и четырёх вложенных узлов Decal. Рассмотрим MeshInstance3D: во вкладке Mesh выбран BoxMesh, сплюснутый через свойство Size (x=1.0, y=0.1, z=1.0). Вложенные в MeshInstance3D узлы Decal содержат текстуру plasma_stain и также ограничены по размеру

Второй узел — PaintDecal. Он содержит несколько узлов Decal, которые можно вращать, уменьшать и перемещать — они ложатся на поверхность. В этих узлах используется прозрачная текстура, на которую накладывается краска, а также стрелочки, указывающие на разбрызганную краску

Рассмотрим третий узел. Это Decal с текстурой водяных капель. Внутрь него добавлен ReflectionProbe для более качественного отражения

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

Последний узел, который мы рассмотрим, — SciFiDecals. Это цилиндр, к которому через узлы Node3D прикреплены Decal’ы. Каждый Node3D имеет собственный поворот, благодаря чему Decal’ы поворачиваются и проецируются на сцену

Годот 3д гайд

Мы рассмотрели новый узел — Decal. Он позволяет наносить текстуру на трёхмерный объект. Кроме того, узел Decal можно анимировать — например, вращать и перемещать, — и он будет по-разному проецироваться на поверхность 3D-меша

Мы восстановим структуру туториала Decals в Godot

Создадим проект Decals experiment. Добавим узел WorldEnvironment, к нему — Node3D, внутрь него — MeshInstance3D, а затем вложим четыре узла Decal

Сохраним сцену как map.tscn. Добавим к MeshInstance3D BoxMesh и уменьшим размер по оси Y в 10 раз

Теперь займёмся Decal’ами. Уменьшим их в 20 раз и назначим текстуру. Затем перетащим изображение plasma_stain в поле Textures (Albedo). Добавим камеру — и увидим, что на коробке появились четыре плазменных нагара

Теперь создадим узел Node3D и вложим в него семь узлов Decal

Чтобы что-то отображалось, нужно добавить MeshInstance3D и поместить внутрь него Plane. Сам по себе Decal не может рисовать без меша. После добавления меша назначим текстуру стрелки, окрасим её в красный цвет, затем добавим текстуру краски на прозрачном фоне и также раскрасим её в разные цвета

Вот,что у нас вышло.

Продолжим. Добавим узел Decal и ReflectionProbe. В параметрах уменьшим значение Albedo

Получаем следущее

Добавим MeshInstance3D и поместим внутрь него сферу. Затем прикрепим Decal с градиентной текстурой, чтобы зате­нить сферу снизу

Добавим цилиндр, а затем поместим внутрь него три узла Node3D. Чтобы создать цилиндр, необходимо добавить элемент MeshInstance3D и назначить ему CylinderMesh

Нам останется переместить и повернуть по оси Y три узла Node3D. Затем добавим изображения в Decal — и вот что получится

Годот 3д гайд Decal.Конец

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

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх