Редактор шейдеров Strumpy Shader Editor в Unity

Редактор шейдеров Strumpy для UnityВ движке Unity 3D версии 3.5 нет встроенного редактора материалов, такого, как, например, в UDK. Но на помощь игроделам пришли коллеги по цеху и создали бесплатный инструмент, который позволяет в визуальном редакторе создавать свои собственные шейдеры (shaders) для Unity без необходимости разбираться с языком написания шейдеров. Инструмент этот называется Strumpy Shader Editor (редактор шейдеров Strumpy), который доступен бесплатно в Unity Asset Store.

Однако хороших примеров и документации по Strumpy, к сожалению, нету. Есть одна огромная ветка на форуме Unity, но там чаще всего выкладывают шейдеры с вопросом «Подскажите, где у меня тут ошибка?», поэтому приходится разбираться самому.

Тут я постараюсь немного осветить самые часто задаваемые (мною) вопросы по созданию шейдеров в Strumpy Shader Editor. Это и создание эффекта свечения (Light Shafts — такие красивые лучики), и имитация объемного локализованного тумана (Fog Volume). А начнем мы, пожалуй, с самого простого — создания прозрачного материала.


( Читать дальше )

Материалы с автоматическим тайлингом в UDK

2 фото
Забор с авто-тайлингом текстуры в UDK
image
Работая над сценой игры в редакторе UnrealEd очень часто сталкиваешься с ситуацией, когда нужно растянуть объект на произвольную ширину, но при этом сохранить исходный размер текстуры. Иными словами, текстура при растягивании объекта должна автоматически размножаться (тайлиться) на дополнительную поверхность объекта, полученную в результате растягивания.

Показать все 2 фото →

Оптимизация текстур под UDK

Мощный редактор материалов в UDK (Unreal Development Kit) позволяет использовать оптимизированные текстуры для экономии памяти. В чем заключается оптимизация текстур? Возьмем, например, карту спекуляра (Specular Map). Она показывает, какие части текстуры должны отражать свет и в каком количестве (подробнее про Specular Map). Для создания карты Specular Map нам достаточно всего одного канала в RGB-изображении. Если использовать под эту карту отдельную текстуру, то остальные каналы не будут использоваться вовсе. Это непростительное расточительство! Мы поступим хитрее, и запакуем карту Spacular Map в неиспользуемый канал другой текстуры, например Diffuse Map.

Аналогичным образом мы можем поступить и с картой прозрачности для прозрачных текстур, используемых в частности для создания решетчатых заборчиков. В данном примере я покажу, как запаковать карту прозрачности Opacity Mask в альфа-канал текстуры карты нормалей (Normal Map) того же заборчика. А так как я стараюсь использовать бесплатные программы, то сделаем мы это в Gimp.

Оптимизация текстур для UDK


( Итак, приступим... )