Размышляя об освещении в Unity, удобно разделить понятия на то, что мы называем контентом, освещаемым и визуализируемым элементом, и контекстом, который освещение, существующее в сценеСцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
См. в Словарь, который влияет на освещаемый объект.
Контекст
При освещении объекта важно понимать, какие источники света воздействуют на объект. Обычно в вашей сцене есть прямые источники света: источники света игровых объектов, которые вы могли разместить вокруг своей сцены. Существуют также непрямые источники света, такие как отражения и отраженный свет. Все они влияют на материал объекта, чтобы в конечном итоге получить камерукомпонент, создающий изображение с определенной точки обзора. в вашей сцене. Вывод либо рисуется на экране, либо фиксируется в виде текстуры. Подробнее
See in Словарь видит по всей поверхности объекта.
Это не жесткое и быстрое разделение, часто то, что может считаться «контентом», также может быть частью контекста освещения для другого объекта.
Хорошим примером этого может быть здание, расположенное в пустынном ландшафте. Здание будет получать информацию о свете из небаМатериала особого типа, используемого для представления неба. Обычно шестигранник. Подробнее
См. в Словарь и, возможно, отраженный от земли свет.
Однако персонаж может стоять возле внешней стены здания. Для этого персонажа здание является частью контекста освещения — оно может отбрасывать тень, оно может отбрасывать на персонажа отраженный от стены свет, или у персонажа могут быть отражающие части, которые непосредственно отражают само здание. р>
Контекст освещения по умолчанию
При запуске Unity показывает пустую сцену. В этой сцене уже есть контекст освещения по умолчанию, доступный с фоновым освещением, отражениями от купола неба и направленным светом. Любой объект, помещенный в эту сцену, по умолчанию должен иметь все необходимое освещение, чтобы выглядеть правильно.
Давайте добавим к сцене сферу, чтобы увидеть эффект контекста освещения по умолчанию.
Добавленная сфера будет использовать стандартный шейдерпрограмму, работающую на графическом процессоре. Подробнее
По умолчанию смотреть в Словарь. При фокусировке камеры на сфере получится что-то вроде этого:
Обратите внимание на отражение по краям сферы, а также на едва уловимое окружение, от коричневого (внизу) до небесно-голубого (вверху). По умолчанию в пустой сцене весь контекст освещения определяется скайбоксом и направленным источником света (который по умолчанию добавляется в сцену).
Конечно, это настройка по умолчанию, в некоторых случаях одного освещения и отражения неба может быть недостаточно. Вы можете легко добавить дополнительные датчики освещения и отражения:
Подробнее о работе датчиков отражения и света см. в документации по датчикам светаСветовые зонды хранят информацию о том, как свет проходит через пространство в вашей сцене. Набор световых зондов, расположенных в заданном пространстве, может улучшить освещение движущихся объектов и статических пейзажей LOD в этом пространстве. Подробнее
См. в Словарь и датчики отраженияКомпонент рендеринга, который захватывает сферическое изображение своего окружения во всех направлениях, подобно камере. Захваченное изображение затем сохраняется как кубическая карта, которую можно использовать для объектов с отражающими материалами. Подробнее
См. в Словарь.
Скайбоксы
Скайбокс, запеченный или процедурный, может быть неотъемлемой частью вашей системы освещения. Его можно использовать для управления окружающим освещением и отражениями в ваших объектах в дополнение к рендерингупроцессу рисования графики на экране. (или к текстуре рендера). По умолчанию основная камера в Unity отображает изображение на экране. Подробнее
Посмотрите в Словарь небо.
Процедурные скайбоксы также позволяют напрямую задавать цвета и создавать солнечный диск вместо использования растрового изображения. Дополнительную информацию можно найти в документации по скайбоксу
Несмотря на то, что отражение скайбокса может быть полезно для многих объектов в ваших сценах, особенно для уличных сцен, часто бывают случаи, когда вам нужно варьировать отражения, которые использует объект. В уличной сцене могут быть темные области, такие как переулки или улицы. густой лес, или у вас могут быть внутренние области, которые требуют отражений, соответствующих каждой комнате.
Чтобы удовлетворить эти различные требования к отражению, в Unity есть датчики отражения, которые позволяют вам создавать образцы среды в вашей сцене в определенный момент. в космосе для использования в качестве рассеивающего светаСвета, который не исходит ни с какого определенного направления и дает одинаковый свет во всех направлениях к Сцене. Подробнее
См. в Словарь и источник отражения для любых объектов рядом с этой точкой вместо значения по умолчанию скайбокс. Датчики отражения можно размещать вокруг вашей сцены в любых местах, где скайбокс сцены недостаточен или неуместен.
Глобальное освещение
Концепция Global IlluminationГруппа методов, которые моделируют как прямое, так и непрямое освещение для получения реалистичных результатов освещения. В Unity есть две системы глобального освещения, сочетающие прямое и непрямое освещение: запеченное глобальное освещение и глобальное освещение в реальном времени.
See in Словарь является неотъемлемой частью Unity. И стандартный шейдер, и системы GI Unity были разработаны, чтобы хорошо работать друг с другом. Система GI заботится о создании и отслеживании отраженного света, света от излучающих материалов и света от окружающей среды.
Подробности можно найти здесь.
Контекст является важной частью общего вида изображения. В этом примере вы можете увидеть, как сцена отражает изменения в контексте, в то время как содержимое и камера остаются прежними.
Контент
Контент — это термин, используемый для описания визуализируемых объектов сцены. Их внешний вид является результатом контекста освещения, воздействующего на материалы, примененные к объектам.
Редактор материалов
При просмотре материала в инспектореокне Unity, в котором отображается информация о текущем выбранном игровом объекте, активе или настройках проекта, позволяя вам проверять и редактировать значения. Дополнительная информация
См. в Словаре, который использует стандартный шейдер, редактор отображает все параметры для материал, включая текстуры, режимы наложения, маскирование и вторичные карты. С первого взгляда вы сможете увидеть, какие функции используются, и предварительно просмотреть материал.
Поскольку стандартный шейдер управляется данными: Unity будет использовать только код шейдера, требуемый конфигурацией, которую пользователь установил для материала. Другими словами, если функция или слот текстуры материала не используются, за это не нужно платить, а комбинация шейдеров оптимизируется за кулисами.
Как создать материал
Стандартный шейдер допускает множество конфигураций для представления большого разнообразия типов материалов. Значения можно установить с помощью текстурных карт или палитр цветов и ползунков. Обычно UV-отображение требуется в сочетании с текстурами, чтобы описать, какая часть вашей сеткиосновной графический примитив Unity. Меши составляют большую часть ваших 3D-миров. Unity поддерживает триангулированные или четырехугольные полигональные сетки. Поверхности Nurbs, Nurms, Subdiv должны быть преобразованы в полигоны. Подробнее
Посмотрите в Словарь, к какой части карты текстуры относится. Таким образом, материал Standard Shader позволяет вам иметь разные свойства материала в одной и той же сетке при использовании в сочетании с картой отражения и сглаживания или металлической картой. Другими словами, вы можете создавать резину, металл и дерево на одном меше, где разрешение текстуры может превышать топологию полигона, что позволяет сглаживать границы и переходы между типами материалов, конечно, это имеет последствия для большей сложности рабочего процесса, но это будет зависеть от вашего метода создания текстуры.
Текстуры для ваших материалов, как правило, создаются одним из двух способов: рисование и компоновка в редакторе 2D-изображений, таком как Photoshop, или рендеринг/запекание из вашего 3D-пакета, где вы также можете использовать модели с более высоким разрешением для создания своих карты нормалейТип текстуры карты рельефа, который позволяет добавлять детали поверхности, такие как неровности, канавки и царапины, к модели, которая поймать свет, как будто они представлены реальной геометрией. Подробнее
Смотреть в Словарь и карты окклюзии в дополнение к картам альбедо, бликов и другим картам . Этот рабочий процесс зависит от используемых внешних пакетов.
Как правило, текстурная карта не должна содержать естественное освещение (тени, блики и т. д.). Одним из преимуществ PBS является то, что объекты реагируют на свет так, как вы ожидаете, что невозможно, если карты уже содержат информацию об освещении.