Unity 6.3
0 онлайн 78 гостей 3 в системе
Вход
Советы по повышению продуктивности в Unity 6 Глава 4 из 8 Оригинал, стр. 52

Графика и художественные ассеты

Графика и художественные ассеты

Утечки света при использовании световых зондов Утечки света часто возникают, когда геометрия получает освещение от светового зонда, не находящегося в прямой видимости, например расположенного по другую сторону стены.

Это сложная тема, но устранить утечки света могут помочь следующие приемы: - Сделайте стены толще - Добавьте в сцену Adaptive Probe Volumes Options Override - Включите Rendering Layers - Настройте свойства Baking Set - Используйте Probe Adjustment Volume

©2025UnityTechnologies

Пример утечки света

Настройте отдельные источники света для определённых объектов GameObject с помощью Rendering Layers Функция Rendering Layers позволяет настроить источники света так, чтобы они воздействовали только на определенные объекты GameObject. С помощью свойства Custom Shadow Layers можно настроить определенные объекты GameObject так, чтобы они отбрасывали тени только от указанных источников света, даже если сами эти источники на объекты GameObject не воздействуют.

Rendering Layers в глобальных настройках URP

©2025UnityTechnologies

Добавляйте детали на меши с помощью Decal Projector Компонент Decal Projector - отличный способ добавить детали на меш. С его помощью можно создавать такие элементы, как следы от пуль и шагов, надписи, трещины и многое другое.

Благодаря проекционному принципу декали повторяют неровную или изогнутую поверхность. Чтобы использовать Decal Projector в URP, найдите ассет Renderer Data и добавьте Decal Renderer Feature.

Decal Projector в окне Scene

Перенесите пользовательские шейдеры из Built-In Render Pipeline в URP Сверьтесь с этой таблицей в документации URP: в ней показано соответствие каждого шейдера URP его аналогу из Built-In Render Pipeline. Выберите один или несколько конвертеров, затем нажмите Initialize Converters или Initialize And Convert. В обоих случаях проект будет просканирован, а ассеты, требующие преобразования, появятся на панелях соответствующих конвертеров. Если выбрать Initialize Converters, можно ограничить набор преобразуемых элементов, сняв флажки рядом с ненужными. Затем нажмите Convert Assets, чтобы начать преобразование. При выборе Initialize And Convert преобразование начнется автоматически

©2025UnityTechnologies

после инициализации конвертеров. После завершения процесса Unity может предложить повторно открыть сцену, которая активна в редакторе.

Render Pipeline Converter

Выполняйте цветокоррекцию с помощью LUT-текстур Эффект Color Grading изменяет или корректирует цвет и яркость итогового изображения, создаваемого Unity. С его помощью можно изменить визуальный стиль и атмосферу проекта. Чтобы управлять действием Color Grading, используйте параметры Lookup Texture и Contribution в эффекте постобработки Color Lookup, который необходимо добавить в настройки Volume.

Параметры Lookup Texture и Contribution в Color Lookup

©2025UnityTechnologies

Поддерживается смешивание между несколькими LUT-текстурами низкого динамического диапазона (LDR), но оно работает корректно, только если все текстуры имеют одинаковый размер. Поэтому рекомендуется использовать во всем проекте LUT одного размера: 256x16 или 1024x32.

Настройка размера LUT в настройках ассета URP

Использование различных LUT-текстур

©2025UnityTechnologies

Создавайте реалистичные оптические эффекты и стилизованный вид с помощью бликов объектива Блик объектива - это артефакт, возникающий, когда яркий свет попадает в объектив камеры. Он может выглядеть как один яркий засвет или как множество цветных многоугольных бликов, форма которых соответствует диафрагме камеры. Чтобы познакомиться с бликами объектива, установите примеры через Package Manager. В проект будет добавлен набор готовых ассетов Flare для создания эффектов бликов, а также тестовая сцена, где можно изучить эти эффекты и научиться создавать собственные.

Примеры бликов объектива содержат наборы настроек - от реалистичных оптических эффектов до более стилизованных решений; здесь показан пример со сценой из HDRP Samples.

Блики объектива состоят из элементов Lens Flare. Каждый элемент представляет отдельный артефакт, создаваемый бликом. Формой элемента может быть многоугольник, круг или пользовательское изображение. Параметры элемента позволяют настраивать Color, положение Transform и деформацию, а также расположение, цвет и масштаб элемента в многоэлементном эффекте Lens Flare. Если эффект связан с источником света, его элементы могут использовать оттенок этого источника. Благодаря этому один и тот же ассет Flare можно применять с разными источниками света. Подробнее о принципах работы бликов объектива рассказывается в этом докладе с конференции . SIGGRAPH. ©2025UnityTechnologies

Управляйте вариантами шейдеров Чтобы сократить размер и время сборки, тщательно управляйте вариантами шейдеров. Если варианты нужны только определённым материалам, используйте #pragma shader_feature вместо #pragma multi_compile. Варианты shader_feature исключаются из сборки, если они не используются материалами и не включаются во время выполнения, тогда как варианты multi_compile включаются всегда. Проверяйте ключевые слова в окне Inspector шейдера.

Раздел Keywords в окне Universal Render Pipeline/Lit (Shader) в примере Gem Hunter Match

©2025UnityTechnologies

Создавайте варианты материалов Material Variants позволяют создавать шаблоны и префабы материалов. На основе базового шаблона можно создавать варианты, которые наследуют общие свойства шаблонного материала и переопределяют только отличающиеся свойства. Изменения общих непереопределённых свойств шаблонного материала автоматически отражаются в его вариантах. Кроме того, отдельные свойства материала можно заблокировать, чтобы варианты не могли их переопределять.

Пример Material Variants: все варианты используют один базовый материал и отличаются только свойством цвета

В более сложной конфигурации можно создавать варианты Material Variant. Иерархия наследования материалов способствует повторному использованию, ускоряет итерации и упрощает масштабирование процесса создания материалов в проекте.

Планируйте группы ассетов для эффективной работы На этапе подготовки к производству команда должна согласовать организацию работы с ассетами: составить список необходимых ассетов, определить их бюджет с учётом технических требований проекта и оценить стоимость разработки. Например, необходимые элементы уровня можно разделить на следующие группы: - Крупные элементы. Для таких элементов нельзя создавать уникальные текстуры: следует использовать тайловые текстуры или модульные элементы. К ним относятся стены, земля, скалы, крыши зданий и т. п.

- Объекты среднего размера. Это объекты с собственными листами текстур, например бочки, ящики, камни и двери. - Часто повторяющиеся мелкие элементы. Это предметы, которые помогают визуально связать объекты с окружением или передать масштаб: галька, листья, винты, болты и т. п.

©2025UnityTechnologies

Планируйте создание ассетов с учётом их типа, размера и формы

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

Автоматизируйте и ускорьте конвейер импорта с помощью API AssetPostProcessor Если в проекте используются тысячи ассетов, не настраивайте параметры каждого из них вручную в окне Inspector. Автоматизировать проверку файлов ассетов позволяет API AssetPostProcessor. С его помощью можно подключаться к конвейеру импорта и запускать скрипты до или после импорта ассетов: достаточно добавить ассеты, и скрипты внесут необходимые изменения. Параметры можно менять в одном скрипте, который автоматически повторно применит их ко всем ассетам проекта.

Слева направо: примеры мудборда, концепт-арта, ассетов префабов, стандартов структуры каталогов и именования с использованием AssetPostProcessor, а также итоговый вид демонстрационного проекта Unity Megacity

©2025UnityTechnologies

Эффективнее работайте в команде с вариантами префабов Ещё один важный этап импорта ассетов - создание префабов из 3D-моделей. Не рекомендуется во время производства напрямую преобразовывать FBX-модель в префаб: изменения FBX-файла, например изменение иерархии геометрии, могут нарушить префаб. Тогда все его экземпляры в сцене придётся заменять обновлённой версией. Эту проблему решают Prefab Variants.

Prefab Variants позволяют создавать художественные ассеты независимо от сцен, поэтому хорошо подходят для прототипирования. Их рекомендуется использовать при совместных итерациях во время построения игрового мира. Они сохраняют преимущества обычных префабов, например возможность создавать варианты исходной модели, но при этом служат «слабой» ссылкой на префаб FBX-модели. Благодаря этому элементы модели можно добавлять, разделять и удалять без пересоздания префаба. Художники могут изменять FBX-модели, а Prefab Variant будет обновляться автоматически. Кроме того, Prefab Variants позволяют художникам оценивать изменения графики в контексте, не меняя сам проект.

Одновременно с этим рассмотрите возможность использовать Nested Prefabs, чтобы упростить совместную работу над сценой.

Рекомендуемый процесс работы с Prefab Variants в проектах с большим числом участников

Рекомендации по ассетам для XR и мобильной разработки Решения, принятые на раннем этапе создания или подбора художественных ассетов для XR- или мобильной игры, помогут сэкономить время в дальнейшем. Следуйте этим рекомендациям, чтобы эффективно создавать любые художественные ассеты - от небольших объектов до персонажей. - Начинайте с чёткого представления о том, что хотите создать. Особенно на ранних этапах концепцию можно проиллюстрировать простым рисунком от руки, чтобы быстро спланировать взаимодействия или визуальное оформление.

- В крупной студии идеи может воплощать концепт-художник; отдельным разработчикам и небольшим командам визуализировать замысел поможет ИИ. - Создавайте модель в программе для 3D-моделирования, например Blender, Autodesk Maya или 3ds Max. Следите за числом полигонов, поскольку оно влияет на производительность, особенно в мобильной AR. Сначала можно создать высокополигональную модель, а затем оптимизировать её.

©2025UnityTechnologies

- Настройте опорную точку модели в программе для 3D-моделирования так, чтобы её ориентация соответствовала системе координат Unity. Ниже показано, как задать опорную точку в 3ds Max, где вертикальной является ось Z.

Настройка вертикальной оси

- Ориентацию модели также можно исправить в Unity, выполнив два действия: a. Создайте пустой объект GameObject в окне Hierarchy. b. Сделайте модель дочерней для этого GameObject и задайте ей Position 0, 0, 0 по всем

осям, чтобы точно выровнять её по центру. В результате модель будет привязана к родительскому объекту GameObject с нейтральным Rotation 0 по всем осям. Модель также будет правильно ориентирована: ось Z направлена вперёд, а Scale по всем осям равен 1. Кроме того, в Importer можно попробовать параметр Bake Axis Conversion.

- Наложите текстуры, чтобы придать модели реалистичный или стилизованный вид. Для детализированных текстур используйте UV-развёртку. В зависимости от выбранной стилистики игре могут потребоваться PBR-текстуры. - Шейдеры на основе физически корректного рендеринга (PBR) в Unity обычно поддерживают два основных процесса: Metallic-Roughness и Specular-Glossiness. Каждый из них отвечает за разные свойства материала. В результате 3D-сцены и объекты в играх и симуляциях на Unity выглядят более реалистично и динамично.

©2025UnityTechnologies

Заполняйте большие текстурированные области трим-листами

Использование одного трим-листа для разных мешей окружения .

Трим-лист - это средство текстурирования, применяемое в 3D-моделировании и разработке игр. Он представляет собой одну текстуру с набором декоративных узоров и деталей: молдингов, кромок, окантовок и т. п. Трим-листы помогают оптимизировать производительность игры: они сокращают количество отдельных текстур, но при этом позволяют создавать визуально сложное и разнообразное оформление моделей.

Экспортируйте 3D-модели с соблюдением масштаба при работе с AR и VR Создавать прототипы и моделировать 3D-меши можно в предпочитаемом DCC-приложении либо непосредственно в Unity с помощью ProBuilder, доступного в Package Manager. В ProBuilder можно быстро собрать макет уровня, задать масштаб объектов и проверить их вид в Unity. Добившись правильного масштаба, экспортируйте модели для дальнейшей доработки, а затем верните их в Unity.

©2025UnityTechnologies

В Unity используется интуитивная шкала измерений: 1 единица точно соответствует 1 метру. Чтобы оценить масштаб импортированного ассета, добавьте в сцену куб GameObject. Куб размером 1 × 1 × 1 м служит простой и точной мерой для сравнения масштаба любого ассета. При создании окружения и объектов важно найти баланс между эстетикой и производительностью, чтобы обеспечить плавную и увлекательную работу AR- или VR-приложения.

Уровни можно прототипировать в ProBuilder, а затем экспортировать с помощью FBX Exporter в программу для 3D-моделирования и доработать там.

©2025UnityTechnologies

Shader Graph для проектов URP и HDRP Создавая шейдеры Lit и Unlit в Shader Graph, можно упростить адаптацию ассетов для проектов как на URP, так и на HDRP. В Shader Graph конвейер рендеринга задаётся в Master Node, а остальная логика остаётся неизменной. Благодаря этому проще создавать шейдеры, работающие в обоих конвейерах.

Master Stack

©2025UnityTechnologies