Тайлится текстура что значит
Тайлится текстура что значит
но переключаться между окнами проектов (словом, как в Опере). Не скажу что мне стало легче работать с несколькими документами из-за этого нововведения (хотя, опять таки, на любителя), но одно преимущество все-таки есть: легче стало работать с открытым документом, так как он открывается в увеличенном варианте на всю рабочую область (в зависимости от размера картинки, разумеется);
— при увеличении изображения инструментом масштабирования Zoom (в виде раскрытой ручки) картинка меняется плавно даже на документах с большим разрешением и в процессе увеличения изображение остается четким, вплоть до того, когда на экране отображаются отдельные пиксели картинки. Это очень удобно для ретуши;
Для изготовления бесшовных текстур в фотошопе применяют инструменты ретуширования:
Clone Stamp (Штамп)
Вызывается быстрой клавишей S
1.выбирается кисть, необходимого размера и жесткости (на панели параметров);
2.при нажатой клавише Alt щелчком мыши берется образец того участка изображения, который нам необходим для последующей коррекции (лучше делать с увеличенным масштабом для более точной обработки);
3.при нажатой левой кнопке мыши закрашивается необходимый участок. Причем, закрашивание можно делать плавно и щелчками. На мой взгляд, щелчками получается более корректно, но более долго.
При каждом новом мазке кистью образец берется в новом месте, справа от текущего положения указателя мыши, что соответствует включенному режиму Aligned (Выравнивание). При сброшенном флажке Aligned для каждого мазка кистью образец будет браться в том же месте, где вы щелкнули мышью при нажатой клавише Alt.
И теперь усовершенствование в CS4: при наведении уже взятого образца мы точно видим, какой именно участок этого образца ляжет на нужную нам область. Это важно для выравнивания тональности.
Spot Healing Brush (кисть местной ретуши, определяющая восстанавливающая кисть)
Вызывается быстрой клавишей J
Этот инструмент предназначен для удаления мелких погрешностей, точек, царапин и т.п. Он заменяет погрешности с учетом цветовых характеристик фона, на котором они находятся. Говоря проще, сам решает, в отличие от штампа, откуда брать эталонный участок. Работать им очень просто – надо только провести кистью в нужном месте. Сразу появляется темная полоса, которая почти сразу заменяется на определенный оттенок.
Создание бесшовной текстуры
Текстура с раппортом
Текстура с уменьшенными элементами
1.дана исходная текстура с большим разрешением, но с одним крупным элементом и неоднородная
2.создаем новый документ с разрешением 2000*2000
3.выделяем на исходной текстуре лассо небольшой участок и инструментом перемещения переносим на новый документ
4.тем же инструментом перемещения с нажатой клавишей Shift (для пропорционального уменьшения) уменьшаем данный участок
5.выделяем и переносим новый участок
6.состыковываем оба участка так, чтобы было не видно стыков. Рисунок изображения позволяет сразу это сделать; оба участка при этом сразу сливаются воедино
7.так повторяем, пока не заполним пространство документа
8.перейдем на слой «фон» и зальем его цветом текстуры, так мы еще раз подстрахуемся, чтобы не просвечивался белый цвет в месте стыков
9.если места стыков все же кое-где прослеживаются, то обработаем их инструментами ретуширования.
10.выровняем новую текстуру кропом
В итоге у нас получается следующее:
Текстура с применением инструментов ретуширования
Дана исходная текстура
После применения фильтра получаем следующее:
Подвигав ползунки в горизонтальном и вертикальном направлениях, получаем текстурный шов, который нам надо будет сделать невидимым плюс учитывать раппорт. Изучив внимательно изображение мы видим, что текстуру не удастся сделать бесшовной в вертикальном направлении, так как не хватает участка рисунка, но место в интерьере, к которому надо впоследствии применить текстуру, небольшое и достаточно только горизонтального направления. Используя инструменты ретуширования и кроп, в итоге получаем следующее:
Что такое тайловое текстурирование — общие принципы и использование Статьи редакции
Как создавать тайлы и зачем это нужно.
Этот обучающий материал посвящён тайловому текстурированию: как создаются и применяются тайлы и почему это одна из важных основ в геймдеве — акцент будет на применение в разработке игр.
Не стану детально описывать пайплайн в конкретных программах, а сосредоточимся на общих принципах работы и ответах на возможные вопросы.
В одном из своих обучающих материалов я уже упоминал метод тайлового текстурирования, но рассказал о нём поверхностно — тогда основная тема касалась оптимизации UV-развертки.
Tile — произносится как «тайл», переводится как «плитка», а означает повторение. Повторяющуюся текстуру используют для текстурирования больших поверхностей: грунта, стен, домов, модулей и иногда мелких объектов. Такой вид текстур позволяет добиться высокого качества и при этом уменьшить количество применяемых материалов в игровой сцене.
Бесшовные текстуры — это и есть тайлы, но иногда их так называют. Паттерны на краях текстуры продолжают друг друга, чтобы избавиться от швов и сделать повторяемость менее заметной.
Tile Atlas или атлас тайлов — несколько тайлов на одной текстуре. При использовании атласов приходится жертвовать числом полигонов, чтобы использовать оверлапинг — наложение UV-островов на один участок текстуры. Атласы создают ради того, чтобы снизить количество материалов, чаще всего используются в мобильных играх, где требования к оптимизации более высокие.
Tileset или тайл сет — подразумевается сет модулей, из которых делают уровни. Эти модули используют общие тайловые материалы или тримы, поэтому их можно назвать сетом одного тайла.
Оптимизация. Известно, что файлы игр состоят примерно на 60-80% из текстур, а возможно и на 95% — всё зависит от конкретного проекта. Однотипные, бесшовные текстуры часто используются повторно на различных моделях, тем самым позволяя экономить место на жёстком диске, снижать время загрузки и обращение к видеопамяти. Повторное использование материала в сцене вместо создания нового снижает количество Draw Calls — вызовов отрисовки.
Сокращение времени на разработку. Опытный левелдизайнер может создавать новые и уникальные локации, используя одни и те же модели и текстуры. Разумеется, это занимает меньше времени нежели создание каждой сцены с нуля.
Повторяемость ассетов. Если в игре часто использовать ассеты повторно, то через несколько часов геймплея визуально игра станет скучной. Этим особенно страдают игры с большим миром, например TESO, да и вообще вся серия «Свитков». После нескольких походов по пещерами можно увидеть все возможные тайлсеты, и новые локации не вызовут никаких впечатлений, так как они почти идентичны во всём, кроме проектировки уровня.
Зато большая часть Тамриеля (Мира вселенной The Elder Scrolls) умещается в 95 гигабайт, что по сравнению с новыми играми не так уж и много.
Сложный пайплайн для инди и новичков. При создании своего примера, я потратил больше дня на подбор скачанных текстур для одной очень простой модельки, при этом получилось так себе.
Основная трудность для меня была в том, что я не знал, что хочу визуализировать, не хватало предварительных артов или референсов, а если я и знал, что мне нужно, то нужных текстур не находил. Потратить ещё кучу времени на создание своих текстур исключительно для примера я не решился.
А теперь представьте те же сложности в масштабах игрового проекта или большого ассета. Для реализации качественных тайл сетов понадобится хоть какой-то опыт, время или деньги на покупку готовых.
Обработка фотографий в 2D редакторе — в Photoshop или в специализированных программах. Для создания полноценного PBR-материала не достаточно одной текстуры цвета — необходимы маски метала, шероховатости и карта рельефа (Metallic, Roughness, Normal Map). Всё это нужно либо рисовать вручную, либо генерировать из той же фотографии, что, конечно, даст результат, но не лучшего качества. По этой причине способ считается устаревшим.
Для генерации существуют отдельные программы — например бесплатный materialize или Bitmap2Material — который по сути является набором нод из Substance Designer. Ещё есть онлайн-сервис NormalMap-Online, он может создать Normal, AO, Sepcular из любого изображения. У всех этих генераторов похожий принцип, цвет используется как маска, карта нормалей получается вдавленной в тёмных местах и выдавленной на светлых, в некоторых случаях из этого можно получить приемлемое качество.
Моделирование и запекание. Художник создаёт геометрию на прямой плоскости при помощи скульптинга или моделирования. Геометрию окрашивают ID-материалами или через Vertex Paint. Далее это запекается на обычный плейн в текстуры: Normal, ID map, Curvature, Ambient Occlusion.
Остальное создаётся вручную. ID Map помогает отделять друг от друга элементы на плоской текстуре. Metallic, roughness и базовый цвет можно создать в Substance painter, в Blender через нодовый редактор, в Photoshop или даже внутри игрового движка, смешивая текстуры по ID-маске.
Hand Paint — создание текстур вручную, рисование в Photoshop или в других 2D-редакторах. Как правило, этот метод подходит для стилизованной графики, так как добиться реализма мазками кисти крайне сложно, если вообще возможно. Для создания стилизованной графики с PBR можно комбинировать с методом запекания.
Процедурные редакторы. Благодаря нодовым редакторам можно создать, а затем в любой момент отредактировать, что угодно, изменять не только цвета, но и каждый паттерн в отдельности, создавать множество вариаций одного материала.
Ноды — это что-то вроде визуального программирования. В каждой программе они реализованы по-разному, но суть везде похожая: первая нода создает простой паттерн или шум, вторая нода его редактирует, а третья — добавляет цвета. Конечно, при создании реалистичного материала тремя-четырьмя нодами не обойтись.
Лучшей нодовой программой для создания тайлов и не только, считается Substance Designer, так как она, её инструментарий и библиотека нодов были созданы для этой задачи.
Фабрика тайлов
Мы в нашем игрострой-цеху постоянно сталкиваемся с необходимостью делать подобные текстуры и сегодня поделимся с вами основами текстурирования. Рассмотрим процесс подготовки артов, их преобразования в Photoshop, изучим некоторые хитрости ручного и автоматического (он же — конвейерный) производства фототекстур.
Материал будет интересен в первую очередь начинающим модмейкерам, продвинутые же игростроевцы, возможно, узнают что-то новое из описаний программ для создания тайлов.
Основы цифровой фотосъемки
У любого мастера, чем бы он ни занимался, должен быть полный набор инструментов, с помощью которых он и будет творить. При этом инструменты должны быть качественные. При производстве тайл-фототекстур дело обстоит аналогичным образом. Перво-наперво необходимо получить несколько качественных цифровых фотоснимков и лишь потом делать их дальнейшую обработку и трансформацию непосредственно в текстуру. Какие же инструменты нам понадобятся для получения качественного сырьевого материала, то есть фотографий?
Примеры тайлов, созданных нами в графическом редакторе Adobe Photoshop.
Для создания качественных снимков нам прежде всего необходимо обзавестись простенькой, но качественной моделью цифрового фотоаппарата с достаточной глубиной резкости, чтобы даже снятые под углом текстуры получались четкими. Работая над этой статьей, мы, например, использовали недорогую по современным меркам фотокамеру Sony DSC-W40 (но ничуть не худшие модели есть и у других производителей фототехники — Canon, Nikon, Fuji).
Профессиональные и полупрофессиональные фотокамеры, конечно же, дадут лучший результат, и если у вас уже есть, скажем, Nikon D80 или Canon EOS 400D, то вам можно только позавидовать. Но улучшение качества в данном случае значительно ниже, чем прирост стоимости на фотоаппарат. Не забывайте еще и про то, что даже в самых современных играх используются тайловые текстуры сравнительно невысокого разрешения — 256×256, 512×512, 1024×1024, максимум 1280×1280. А для получения качественных изображений такого формата вполне достаточно недорогой камеры (хотя светопередача должна быть хорошей).
После того как камера выбрана/куплена/взята у приятеля, следует обзавестись штативом, который позволит вам зафиксировать фотоаппарат в нужном положении. Можно обойтись и без штатива, однако при плохом освещении вы вряд ли сможете получить резкие снимки. А замшелую кирпичную стену (одна из самых распространенных и востребованных текстур) почти всегда приходится снимать где-нибудь в подворотне, где света очень мало.
Цифровой фотоаппарат приобретен, штатив выбран, можно приступать непосредственно к «захвату» 2D-изображений, то есть к фотографированию. Выберите объект для съемки (камень, стену или поверхность земли), убедитесь в том, что объектив прибора параллелен фотографируемому элементу, и сделайте несколько снимков (от 2-3 до 10). При этом помните, что для создания качественных текстур нужны изображения, на которых отсутствуют какие-либо тени от посторонних объектов и отражения (если речь идет о стеклянных поверхностях).
Глаза боятся, а руки делают
Подготовительный этап закончен. Предположим, что на нем вы уже сформировали внушительную коллекцию разных фотографий с изображением кирпичных стен, окон, паркета, водной поверхности, металлических решеток, заборов. Приступаем ко второму, самому важному этапу работы — созданию текстур на основе сделанных ранее цифровых фотоснимков. Из софта нам потребуется лишь Adobe Photoshop (мы работали в версии CS, седьмая и CS2 отличаются незначительно).
Запустите программу и подгрузите в нее цифровое фото, на основе которого хотите сделать бесшовную текстуру. Прежде чем начать творить, внесем ясность в терминологию. Названия «тайлинг», «тайл» и «тайловая текстура» происходят от английского tile, что в переводе означает «плитка». Тайлинг — это построение целостного бесшовного изображения на основе одинаковых плиток или тайлов. Тайловая фототекстура — тайл, сделанный на основе фотографии; термин используется для того, чтобы подчеркнуть, что тайл получен не за счет автоматической генерации на основе программных алгоритмов.
Для того чтобы сделать тайл-текстуру, нам необходимо ликвидировать швы, возникающие на стыке двух копий исходной фотографии по вертикали и горизонтали. Начнем с тайлинга фотографии в вертикальном направлении. Зайдите в Photoshop, загрузите текстуру, отмасштабируйте ее и выберите пункт меню View/Show/Grid (или просто нажмите Ctrl+») для включения режима отображения сетки. После этого выделите нижнюю часть фотографии при помощи инструмента Rectangular Marquee Tool, который можно активировать при помощи горячей клавиши M. Затем скопируйте выбранный фрагмент изображения в буфер при помощи клавиш Ctrl+C и поместите клонированный участок на холст посредством горячих клавиш Ctrl+V.
Далее расположите сделанную копию в верхней части арта, используя инструмент Move Tool. Отключите опцию показа сетки и сотрите образовавшуюся в результате проделанных операций границу с помощью инструмента Eraser Tool (E). Также можно воспользоваться инструментами Clone Stamp и Healing Brush. Создайте новое изображение в Adobe Photoshop и поместите на его форму нашу фотографию за вычетом нижней части, копию которой мы расположили в верхней области арта. Если вы скопируете полученное изображение в буфер обмена и поместите его копию вплотную к исходному арту снизу или сверху, то увидите, что на месте их стыковки швы будут отсутствовать, то есть текстура тайлится по вертикали. Проделайте аналогичные манипуляции с одной из боковых сторон конечного арта. В итоге вы получите полноценный тайл, который в дальнейшем можно будет использовать для текстурирования 3D-моделей.
Конвейерное производство
Описанный выше метод универсален и позволяет изготавливать очень качественные тайлы с нуля. Но что делать, если вам для вашего проекта (игры или мода) нужны сотни относительно однообразных текстур? Уникальные-то вы сделаете сами, но как быть с клонами? Не сидеть же часами за экраном монитора, выполняя раз за разом одну и ту же операцию.
В таких ситуациях лучше использовать утилиты, которые позволяют автоматически генерировать тайл-текстуры на основе фотоснимков. Рассмотрим вкратце основные инструменты для скоростного создания фототекстур, а также их положительные и отрицательные стороны.
TextureWorkshop
Программа TextureWorkshop позволяет в считанные секунды преобразовать практически любую фотографию в тайл, которая стыкуется с таким же тайлом. Также утилиту можно использовать в качестве примитивного графического редактора — TextureWorkshop позволяет изменить цветовую схему изображения, яркость, контрастность, насыщенность.
Механизм автоматической генерации тайлов на основе простых изображений довольно тривиален — запускаете приложение, подгружаете в него тот или иной арт (кнопка Open), настраиваете ряд атрибутов тайлинга на закладке Tilize и жмете кнопку Apply с изображением зеленой галочки. Вуалям — текстура готова.
Единственный недостаток TextureWorkshop заключается в том, что за полную версию приложения вам придется раскошелиться на $24,95. На нашем DVD вы найдете trial-версию утилиты, которая работает ровно 10 дней и имеет некоторые функциональные ограничения.
Программа TextureWorkshop — недорогая, удобная и предельно простая в освоении. Автоматизирует процесс изготовления бесшовных текстур.
Texture Maker
Гораздо более мощным средством для создания тайлов является редактор Texture Maker. По сути, эта программа является эдакой виртуальной студией, кузницей самых разнообразных текстур. Она позволяет в несколько кликов формировать бесшовные арты, производить редактирование изображений (применять фильтры, изменять яркость/контраст/цветовую гамму изображения, рисовать на поверхности арта), генерировать текстуры и много чего еще.
После запуска Texture Maker перед вами появится форма с окном 2D-вида, а также несколько полей объектов и панелей, под завязку набитых различными инструментами. Создание тайла в Texture Maker начинается с того, что вы подгружаете в приложение фотографию или просто какую-нибудь картинку, на базе которой хотите сделать бесшовную текстуру.
После того как арт выбран, достаточно щелкнуть по кнопке Make Seamless на панели выбора функций (Function Selection) в правой части программы и кликнуть мышкой по дочернему к категории Make Seamless пункту Stretch Edge для получения тайла.
Среди отличительных черт, выделяющих данную разработку на фоне аналогов, стоит отметить наличие встроенного генератора текстур, отличную документацию, поддержку пользовательских плагинов и скриптов. Минус у редактора всего один — программа условно-бесплатная. Полная версия стоит целых ?99.95.
Утилита Texture Maker — настоящая кузница текстур, в том числе и бесшовных.
Auto Seamer
Если вы не хотите раскошеливаться на дорогостоящие программы, заточенные под создание тайлов, почитаете простоту и минимализм, то наверняка придете в восторг от крохотной бесплатной утилиты с говорящим названием Auto Seamer. Она умело трансформирует BMP-изображения в бесшовные текстуры.
После запуска утилиты вы увидите, что большая часть рабочего экрана отведена под поле для отображения различных артов, остальное место занимают поля, в которых задаются те или иные параметры. Создание тайла в программе производится следующим образом — подгружаете в приложение произвольную картинку формата Bitmap (через пункт меню File/Open), настраиваете ряд атрибутов в левой части программы и жмете кнопку Seam It! в поле Weighted Seem.
Auto Seamer — одна из немногих бесплатных программ, позволяющих трансформировать простые изображения в тайлы.
Подведем краткие итоги. Сегодня мы рассмотрели основные принципы создания тайлов на основе различных цифровых изображений — изучили методы ручного и автоматического изготовления бесшовных текстур. Какому способу отдать предпочтение — зависит исключительно от ситуации.
Например, если речь идет о разработке игры, в которой очень важны детали (отдельные окна, бордюры, заборы), то лучше выбрать ручной способ создания текстур. Если же вы делаете проект в духе GTA, где отдельно взятые элементы не так важны и недочеты на фоне общей картины будут незаметны, рациональнее воспользоваться услугами различных программ для автоматического создания тайлов.
Атлас и тайлинг. Один материал, чтобы править драуколами
Итак, многие из нас знают о трёх подходах работы с материалами и текстурами. Коснёмся преимуществ и недостатков каждого из них.
Я знаю три рабочих процесса:
2. Множество материалов.
Преимущества такого подхода таковы:
1. Минимальное число полигонов, так как детали можно запечь в нормалмапу.
2. Детализированные текстуры. Благодаря Substance модель можно реалистично запачкать, заржавить и тд и тп. У меня это за отсутствием художественных навыков выходило ужасно, тем не менее у людей получается очень круто.
Как пример воплощения такого подхода приведу эти две модельки, особенно первую, так как там очень удачно расположены острова развёртки.
А теперь перейдём к недостаткам:
1. Каждая модель может иметь даже несколько материалов, в зависимости от детализации. Материалы индивидуальны, их почти невозможно переиспользовать.
3. Платный вход. Нужен, как минимум substance painter и UV packmaster. Слава Богу, это не так дорого, но таки не бесплатно.
Лично я довожу лоуполи модель до более-менее адекватного состояния (многие проблемы с шейдингом уберут текстуры, так что идеал не нужен) с помощью рёбер поддержки и/или модификатора Edge Split и считаю это мидполью. Можно использовать autosmooth, но когда начинаешь объединять модели автосмус слетает. К тому же не смотря на то, что автосмус не пишет, что создаёт новые вершины, он таки их создаёт. Только вот применить его, в отличии от эйдж сплит, нельзя.
Поэтому такой подход обычно используется в зд-визуализации, рендерах и прочей не реал-тайм сфере. Тем не менее Вулкан снижает требования к количеству вызовов отрисовки, движки тоже постоянно совершенствуются и батчат меши по материалам, так что такой подход имеет место быть. Однако, есть такой недостаток при разворачивании, что постоянно надо менять текстуру в UV-эдиторе. Да и вообще в списке материалов легко запутаться. Но зато не надо думать об оверлаппинге и упаковке текстурных островов.
Тут же видно и его недостатки. Это то, что для повторения тайла надо повторять сетку. И сетка растёт. Бесконтрольно растёт. Без всякой пользы для формы. И мы размениваем драуколы на трианглы.
Также есть некая помесь этих подходов подходов с материалами и атласами, когда материалы тайлятся только в одну сторону. Так называемые trimsheets. Вот отличное видео по ним
Так вот, всё это присказка. Сказка, которую я хочу рассказать, впереди.
Так, о чём это я? А, о том, что было бы круто иметь возможность использовать атлас текстур, например, с 64 материалами (чего мелочиться? 4096 текстура, 512Х512 каждый материал). И чтобы не просто атлас, а чтобы каждый из материалов тайлился, как я хочу. Да, именно так. Чтобы не плодить лишней геометрии. Это, конечно, нельзя так. Мироздание может пострадать. Но если очень хочется. То чуть-чуть можно. Хоть не всё и не сразу.
Итак, основательно подумав (минут так несколько) и посмотрев пару сезонов аниме (прокрастинация, она такая) всё в голове устаканилось и я начал работу.
Шейдер для блендера выглядит так
Подводим вывод этой конструкции к вводу UV текстур материала. И видим, что на границах наблюдается белый крестик. Ставим всем текстурам режим interpolation в состояние closest. Это отключает фильтрацию. И вуаля, всё красиво и великолепно. Да, в упор можно наблюдать пиксели, но картинка более чем приемлемая. А мипмаппинг работает без нареканий и артефактов.
А теперь идём в годот. Сразу скажу, что на данный момент использование UV2 лишает нас возможности использовать lightmaps, что весьма нехорошо и вообще. Но что поделать. Issue на github висит давно и давно обещано, что эту мегафичу скоро прикрутят. Да вообще я собирался делать цикл дня и ночи, так что запеканка света мне не подходит.
И да, фильтрация теперь работает корректно. Однако, мипмапы, по краям текут кровью убитых пикселей.
Прямо в процессе написания этой статьи случилось маленькое чудо. Так как в блендере всё было с мипмапами нормально я пошёл плакаться на гитхаб разработчикам годот.
Там мне сказали «у нас всё работает». В общем, оказалось, что вся проблема в том, что при использовании fract(), дабы повторять текстуру своими силами, таки возникают некоторые неопределённости (у альбедо почему-то не возникают, а у мипмапа возникают) и разрывы непрерывности материи UV. На самом деле это связано с вездесущей ошибкой флоата, я думаю. Но если при импорте texture array включить repeat enabled и потом включить его в настройках материала и обязательно перезагрузить годот (вот тут я не ожидал), то можно просто использовать UV больше 1 для конкретного тайла. И всё работает. Так что корректный код шейдера вот:
Так что Texture Array прекрасно работает и позволяет использовать атлас с удобством материалов.
Также в стремлении разнообразить наличные материалы, как вы уже могли заметить в шейдере, я использую вертекс-колор. Я стараюсь подбирать белые материалы и просто могу умножать на цвета вершин. Что очень помогает, так если у вершины цветов нет, так по умолчанию получается белый цвет. А умножение на белый, то есть на 1.0, не меняет цвета текстуры. Кроме того, один тайл у меня занимает палитра с разными значениями раффнес для металлов и такая же для не металлов, дабы я мог создавать простые однотонные материалы, вроде голого железа или простого пластика.
Ну и вырвавшись на пару деньков в борьбе с ленью и сном я набросал кусочек сцены, дабы показать на что способен такой подход. Да, там много косяков, банально она просто не доделана (ради демонстрации тупо лень тратить выходной), надо менять некоторые материалы и вообще всё на отвали, ибо это просто быстрая сценка для демонстрации. Тем не менее она вся развёрнута на два материала. Ну, ещё, правда, стекло и цепь мотоцикла (планирую анимировать, поэтому отдельным материалом). Но они не в счёт.
Вот исполняемый файл с демонстрашкой для любопытных, там можно полетать, посмотреть материалы. Делать видосик мне в лом.
Вот исходный проект годот с текстурами для ещё более любопытных.