Unity 6.3
0 онлайн 20 гостей 3 в системе
Вход

Справочная информация по компоненту Skinned Mesh Renderer

Компонент Skinned Mesh Renderer отображает деформируемую меш. Деформируемые меши включают в себя меши с кожей (меши, имеющие кости и связывающие позиции), меши, имеющие объединенные формы, и меши, которые выполняют симуляцию ткани.

Для отображения регулярной сетки используйте Рендерер сетки и a Сетчатый фильтр вместо этого.

При добавлении деформируемой сетки или модели с деформируемой сеткой в сцену, Unity добавляет компонент Skinned Mesh Renderer в полученный GameObject.

В коде C# SkinnedMeshRenderer класс представляет компонент Skinned Mesh Renderer. SkinnedMeshRenderer класс наследует большую часть своей функциональности от Renderer класс. Поэтому у этого компонента много общего с другими компонентами, наследующими от Renderer, например Линейный рендерер, и Трейл-рендер.

Свойства

Свойство Описание
Границы Задаёт ограничивающий объём, по которому Unity определяет, находится ли меш за пределами экрана. Unity предварительно вычисляет границы при импорте меша и анимаций из файла Model и отображает их в представлении Scene в виде проволочного каркаса вокруг Model.

Если установить Update When Offscreen в значение True, Unity будет пересчитывать эти границы каждый кадр и перезаписывать это свойство вычисленными значениями.

Это свойство соответствует API Mesh.Bounds.
BlendShapes Хранит значения веса, которые Unity использует с смешанными формами, определенными в сетке.
Качество Задает предел времени выполнения для максимального числа осей, которые могут влиять на вершину.

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

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

В дополнение к использованию этой настройки для установки ограничения времени выполнения для каждого компонента, вы также можете установить глобальное ограничение для вашего проекта в Edit > Project Настройки > Качество > Другие > Вес кожи.

Это свойство соответствует SkinnedMeshRenderer.quality API.

Возможны следующие варианты:
  • Авто: Использовать глобальный предел, установленный в Настройки качества > Вес кожи. Примечание: Если вы импортируете пользовательское количество весов кожи и хотите разрешить более четырех костных влияний, вы должны выбрать эту опцию и убедиться, что вы установили Вес кожи на Неограниченное.
  • 1 Кость: Используйте только одну кость на вершину.
  • 2 кости: Используйте до двух костей на вершину.
  • 4 костяка: Используйте до четырех костяков на вершину. Чтобы разрешить более чем четырем костям влиять на одну вершину, используйте настройку Авто.
Обновление, когда вне экрана Включите эту опцию, чтобы вычислить объем границы на каждом кадре, даже если сетка не видна для любого Camera. Отключите эту опцию, чтобы остановить скининг, когда GameObject находится вне экрана, и возобновить его, когда GameObject снова видна.

Это по умолчанию отключено, по причинам производительности.

Это свойство соответствует SkinnedMeshRenderer.updateWhenOffscreen API.
Сетка Задайте сетку, которую использует этот рендерер. Сетка должна либо содержать допустимую позицию связывания и вес кожи, либо использовать объединенные формы, либо выполнять симуляцию ткани. Если сетка не использует ни одного из этих методов, рассмотрите возможность использования рендерера сетки и фильтра сетки.

Соответствует свойству SkinnedMeshRenderer.sharedMesh.
Корневая кость Установите преобразование, которое является «корнем» скелета. Границы движутся вместе с этим преобразованием.
Маска слоя рендеринга Это свойство определяет, какой слой отображения Unity назначает этот рендерер. Вы можете использовать это свойство для указания дополнительной маски слоя, специфичной для отображения. Это фильтрует рендереры на основе маски, имеющейся у рендерера.

Это свойство соответствует Renderer.renderingLayerMask API.

Unity отображает это свойство только при использовании Scriptable Render Pipeline.
Приоритет отображения Сортировка рендереров по приоритету. Низкие значения отображаются первыми, а высокие — последними.

Это свойство соответствует Renderer.rendererPriority API.

Unity отображает это свойство только при использовании High Definition Render Pipeline.

Материалы

В разделе Материалы перечислены все материалы, используемые этим компонентом.

Свойство Описание
Размер Количество элементов в списке материалов.

Если вы уменьшите количество элементов, Unity удалит элементы в конце списка. Если вы увеличите количество элементов, Unity добавит новые элементы в конце списка. Unity заполнит новые элементы тем же материалом, который используется элементом в конце списка.
Элемент Материалы в списке. Вы можете назначить материальный ассет каждому элементу.

По умолчанию Unity сортирует список в алфавитном порядке по названию материалов. Этот список можно переупорядочить, и Unity автоматически обновляет количество элементов при изменении их порядка.

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

Освещение

Раздел Освещение содержит свойства, относящиеся к освещению.

Свойство Описание
Тени Указывает, отбрасывает ли и как этот рендерер тени при соответствующем Свет светит на него.

Это свойство соответствует Renderer.shadowCastingMode API.

Возможны следующие варианты:
  • На: Этот Рендерер бросает тень, когда на него падает Свет, бросающий тень.
  • Выкл.: Этот рендер не отбрасывает тени.
  • Двусторонний: Этот рендер отбрасывает тени с обеих сторон. Это означает, что односторонние объекты, такие как плоскость или квадрант, могут отбрасывать тени, даже если источник света находится за сеткой. Для Запеченное глобальное освещение или Enlighten Глобальное освещение в реальном времени для поддержки двухсторонних теней материал должен поддерживать Double Sided Global Illumination.
  • Только тени: Этот рендерер бросает тени, но сам рендерер не виден.
Получить тени Указать, если Unity отображает тени, брошенные на этот рендерер.

Это свойство действует только в том случае, если включено Запеченное глобальное освещение или просвещать Глобальное освещение в реальном времени для этой сцены.

Это свойство соответствует Renderer.receiveShadows API.

Если ваш проект использует Universal Render Pipeline (URP), это свойство появляется в Inspector окно материалов вместо этого. Для получения дополнительной информации см. Материал шейдера Inspector ссылка на окно для URP.
Вклад в глобальное освещение Включить этот рендерер в расчеты глобального освещения, которые происходят во время запекания.

Это свойство действует только в том случае, если вы включили Запеченное глобальное освещение или Enlighten Глобальное освещение в реальном времени для этой сцены.

Включение этого свойства включает флажок Contribute GI в Флаги статического редактораGameObject. Он соответствует StaticEditorFlags.ContributeGI API.
Получить глобальное освещение Предоставляет ли Unity данные о глобальном освещении этому рендеру из заготовленных lightmaps или из runtime Light Probes.

Это свойство можно изменить, только если включено Глобальное освещение. Она действует только в том случае, если вы включите Запеченное глобальное освещение или просвещать Глобальное освещение в реальном времени для этой сцены.

Это свойство соответствует MeshRenderer.receiveGI API.

Возможны следующие варианты:
  • Световые карты: Unity предоставляет данные о глобальном освещении этому рендеру из lightmaps.
  • Световые зонды: Unity предоставляет глобальные данные освещенности для этого рендерера из Световые зонды в сцене.
Приоритизация освещения Включите это свойство, чтобы всегда включать этот Renderer в расчеты Enlighten Realtime Global Illumination. Это обеспечивает, что Renderer подвержен воздействию удаленных источников излучения, даже тех, которые обычно исключаются из расчетов Global Illumination по причинам производительности.

Это свойство видно только если Contribute GI включено в GameObject's Флаги статического редактора, ваш проект использует Built-in Render Pipeline, и Enlighten Глобальное освещение в реальном времени включено в вашей сцене.
Сетка LOD для глобального освещения Индекс Mesh LOD для использования в глобальном освещении и при выпечке. Менее подробная модель снижает качество глобального освещения, но уменьшает использование памяти для запекания и повышает производительность запекания. Эта настройка видна только в том случае, если Mesh LODs была создана для сетки и рендерер участвует в глобальном освещении.

Зонд

Раздел Зонд содержит свойства, относящиеся к Световой зонд и Зонд отражения.

Свойство Описание
Световые зонды Установить, как этот рендерер получает свет от Световые зонды система.

Это свойство соответствует Renderer.lightProbeUsage API.

Возможны следующие варианты:
  • Выкл.: Рендерер не использует интерполированные Световые Пробки.
  • Blend Probes: Рендерер использует один интерполированный Световой Проб. Это значение по умолчанию.
  • Использовать прокси-том: Рендерер использует 3D сетка интерполированных световых зондов.
  • Custom Provided: Рендерер извлекает единообразные значения шейдера Light Probe из MaterialPropertyBlock.
Переопределение тома прокси Установить ссылку на другую GameObject который содержит компонент Light Probe Proxy Volume.

Это свойство видно только, когда Световые зонды установлен на Использовать прокси-том.
Отражающие зонды Установить, как Рендерер получает отражения от Зонд отражения система. Это свойство доступно только при использовании Встроенного Render Pipeline.

Это свойство соответствует Renderer.probeAnchor API.

Возможны следующие варианты:
  • Выкл.: Отключает зонды отражения. Unity использует skybox для отражения.
  • ПробоотборникиСлияние происходит только между отражательными зондами. Это полезно в помещениях, где персонаж может переходить между областями с различными настройками освещения.
  • Blend Probes и Skybox: Включает пробы отражения. Смешивание происходит между пробами отражения или между пробами отражения и отражением по умолчанию. Это полезно для наружной среды.
  • Простое: Включает отражательные зонды, но не происходит смешивания между отражательными зондами, когда есть два перекрывающихся тома.
Переключение якоря Устанавливает Transform, который Unity использует для определения положения интерполяции при использовании Световой зонд или Зонд отражения систем. По умолчанию это центр границы геометрии рендерера.

Это свойство соответствует Renderer.probeAnchor API.

Трекинг лучей

В разделе «Трессирование лучей» содержатся свойства, относящиеся к эффектам трассирования лучей.

Этот раздел появляется только если ваша видеокарта поддерживает трассирование лучей и вы обновили свой проект для использования DirectX 12 в окне Настройки плеера.

Эти свойства не имеют никакого значения, если проект не настроен одним из следующих способов:

  • Вы используете High Definition Render Pipeline (HDRP) и для включения трассирования лучей.
  • Вы пишете свой собственный скрипт C# для реализации эффектов трассирования лучей с RayTracingShader и RayTracingAccelerationStructure.
Свойство Описание
Режим трассирования Указывает, обновляется ли и как часто Unity обновляет этот Рендерер во время трассирования лучей. Более частые обновления увеличивают время рендеринга.
  • Выкл.: Unity исключает этот рендерер из расчетов трассирования лучей. Эта опция приводит к тому, что рендерер не появляется, например, в отражениях с трассированием лучей.
  • Статическое: Unity не обновляет Структура ускорения лучевой трассировки если GameObject’s Transform или изменения геометрии сетки. Это означает, что эффекты трассирования лучей не меняются во время выполнения.
  • Динамическая Transform: Unity обновляет структуру ускорения лучевых трасс, если GameObject’s Transform Это значение по умолчанию для Mesh Renderer. Если в вашем проекте используется HDRP, эта настройка та же, что и Динамическая геометрия потому что HDRP восстанавливает структуру ускорения каждый кадр.
  • Динамическая геометрия: Unity обновляет структуру ускорения трассирования лучей каждый кадр с GameObject’s Transform и геометрия сетки. Это значение по умолчанию для рендеринга с оболочкой сетки.
Процедурная геометрия Заставляет Unity рендировать этот Рендерер процедурно с использованием шейдера пересечения, а не с сеткой в компоненте Mesh Filter.
Структура ускорения Build Flags Указывает, переопределяет ли этот рендерер флаги сборки по умолчанию, указанные при создании Структура ускорения лучевой трассировки.

Сетка LOD

Настройки для настройки поведения Сетка LOD.

Свойство Описание
LOD Переопределить Отключает автоматический выбор LOD и устанавливает индекс LOD на значение в свойстве Override Level.
Уровень переопределения Устанавливает индекс LOD на значение в этом свойстве, когда включена функция LOD Override.
LOD Предвзятость выбора Задает значение, которое Unity добавляет к вычисленному LOD индексу. Увеличение этого значения приводит к тому, что Unity выбирает менее подробный LODs, уменьшая значение — в более подробном LODs.
И вычисленный индекс, и значение LOD Склонность выбора могут быть десятичными. Unity снижает сумму значений для вычисления LOD индекса. Например: если Unity вычислил значение индекса 4.3, и значение 0.9, то полученный LOD индекс равен 5.

Дополнительные настройки

Раздел Дополнительные настройки содержит дополнительные свойства.

Свойство Описание
Векторы движения Включите эту опцию для двойной буферизации данных обшивки сетки, так что Unity может интерполировать обшитое движение и поместить его в текстуру вектора движения. Это использует больше памяти GPU, но приводит к более корректным векторам движения.
Динамическая окклюзия Когда параметр Dynamic Occlusion включён, система окклюзионного отсечения Unity отсекает этот Renderer, если Static Occluder закрывает его от Camera. В противном случае система не отсекает Renderer, закрытый Static Occluder от Camera.

Параметр Dynamic Occlusion включён по умолчанию. Отключите его для таких эффектов, как отрисовка контура персонажа за стеной.

SkinnedMeshRenderer