Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты
к API скриптам

Компонент Skinned Mesh Renderer

The Skinned MeshОсновной графический примитив Unity. Меши составляют большую часть ваших 3D-миров. Unity поддерживает триангулированные или четырехугольные полигональные сетки. Поверхности Nurbs, Nurms, Subdiv должны быть преобразованы в полигоны. Подробнее
См. в Словарь
Компонент визуализации визуализирует деформируемую сетку. К деформируемым сеткам относятся скинированные сетки (меши с костями и связывающими позами), сетки с плавными формами и сетки, запускающие симуляцию ткани.

Чтобы визуализировать обычную сетку, используйте модуль визуализации сеткисетку компонент, который берет геометрию из Mesh Filter и визуализирует ее в положении, определенном компонентом Transform объекта. Подробнее
См. в Словарь
и Фильтр сеткиКомпонент сетки, который берет сетку из ваших ресурсов и передает ее средству визуализации сетки для рендеринга на экране. Подробнее
См. Словарь
.

При добавлении деформируемой сетки или модели с деформируемой сеткой в ​​сценуСцена содержит среды и меню ваша игра. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
См. в Словарь
, Unity добавляет компонент Skinned Mesh Renderer. в результирующий GameObjectОсновной объект в сценах Unity, который может представлять персонажей, реквизит, декорации, камеры, путевые точки и многое другое. Функциональность GameObject определяется прикрепленными к нему компонентами. Подробнее
См. в Словарь
.

В коде C# класс SkinnedMeshRenderer представляет компонент Skinned Mesh Renderer. Класс SkinnedMeshRenderer наследует большую часть своей функциональности от класса Renderer. Таким образом, этот компонент имеет много общего с другими компонентами, унаследованными от Renderer, такими как Line RendererКомпонент, который берет массив из двух или более точек в трехмерном пространстве и рисует прямую линию между каждой из них. Вы можете использовать один компонент Line Renderer для рисования чего угодно, от простой прямой линии до сложной спирали. Подробнее
См. в Словарь
и Trail RendererВизуальный эффект, который позволяет создавать следы за игровыми объектами в сцене по мере их движения. Подробнее
См. в Словарь
.

Устранение неполадок с видимостью Skinned Mesh Renderer

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

В случае Skinned Mesh Renderer границы его сетки изменяются по мере деформации. Unity учитывает все анимации, присутствующие во время импорта, когда вычисляет максимальный ограничивающий объем, и использует это значение для определения видимости; однако следующие ситуации, возникающие после импорта, могут вывести вершины или кости за пределы максимально известных границ:

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

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

В этих случаях вы можете попробовать одно из следующих решений, чтобы решить проблему:

  • Измените границы, чтобы они соответствовали максимально возможному ограничивающему объему вашей сетки. Используйте этот вариант, если это возможно, так как он повышает производительность.
  • Включите Обновлять вне экрана, чтобы Unity продолжала вычислять границы сетки в любое время, даже когда сетка не видна. Используйте этот параметр, если производительность не является серьезной проблемой или если вы не можете предсказать размер ограничивающего тома (например, если вы используете ragdolls).

Справочник по инспектору Skinned Mesh Renderer

Компонент Skinned Mesh Renderer, как он отображается в окне Inspector.
Компонент Skinned Mesh Renderer, как он отображается в окне Inspector.

A: Свойства
B: МатериалыАктив, определяющий способ визуализации поверхности. Подробнее
См. в Словарь

C: Освещение
D: зонды
E: Дополнительные настройки

Свойства

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

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

Это свойство соответствует API Mesh.Bounds.

BlendShapes Хранит значения веса, которые Unity использует с формами смешения, определенными в сетке.
Quality Устанавливает ограничение времени выполнения для максимального количества костей, которые могут влиять на вершину.

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

Из соображений производительности лучше установить количество костей, влияющих на вершину при импорте, а не использовать ограничение во время выполнения. Для этого используйте вкладку «Снаряжение» в окне «Настройки импорта модели» и настройте параметр «Вес кожи».

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

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

Auto Используйте глобальное ограничение, установленное в Настройки качества > Вес кожи.

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

1 Bone Используйте только одну кость на вершину.
2 Bones Используйте до двух костей на вершину.
4 Bones Используйте до четырех костей на вершину. Чтобы позволить более чем четырем костям влиять на одну вершину, используйте параметр Auto.
Update When Offscreen Включите эту опцию, чтобы вычислять ограничивающий объем в каждом кадре, даже если сетка не видна ни одной из камер. Отключите этот параметр, чтобы прекратить создание скинов, когда игровой объект находится за пределами экрана, и возобновить его, когда игровой объект снова станет видимым.

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

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

Mesh Установите сетку, которую использует этот рендерер. Сетка должна либо содержать правильную позу привязки и веса кожи, либо использовать бленд-формы, либо запускать симуляцию ткани. Если сетка не использует ни один из этих методов, рассмотрите возможность использования Mesh Renderer и Mesh Filter.

Соответствует свойству SkinnedMeshRenderer.sharedMesh.

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

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

Unity отображает это свойство только при использовании конвейера рендеринга с поддержкой сценариев.

Renderer Priority Сортировка рендереров по приоритету. Меньшие значения отображаются первыми, а более высокие значения отображаются последними.

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

Unity отображает это свойство только при использовании конвейера рендеринга высокого разрешения.

Materials

Каркасное представление сеток в примере проекта шаблона Unity 2020.1 HDRPt
Каркасное представление сеток в примере проекта шаблона Unity 2020.1 HDRP

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

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

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

Element Материалы в списке. Каждому элементу можно присвоить материальный актив.

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

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

Освещение

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

Свойства Описание
Cast Shadows Укажите, отбрасывает ли этот модуль визуализации тени, когда на него падает подходящий Light.

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

On Этот рендерер отбрасывает тень, когда на него падает свет, отбрасывающий тень..
Off Этот рендерер не отбрасывает тени.
Two-sided Этот рендерер отбрасывает двусторонние тени. Это означает, что односторонние объекты, такие как плоскость или четырехугольник, могут отбрасывать тени, даже если источник света находится за сеткой.

Для Baked Global Illumination или Enlighten Global Illumination в реальном времени для поддержки двусторонних теней , материал должен поддерживать двустороннее глобальное освещение.

Shadows Only Этот Renderer отбрасывает тени, но сам Renderer не виден.
Receive Shadows Укажите, отображает ли Unity тени, отбрасываемые на этот модуль визуализации.

Это свойство действует только в том случае, если вы включили Baked Global Illumination или Enlighten Global Illumination в реальном времени для этой сцены.

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

Contribute Global Illumination Включите этот рендерер в расчеты глобального освещения, которые выполняются во время запекания.

Это свойство действует только в том случае, если вы включили Baked Global Illumination или Enlighten Global Illumination в реальном времени для этой сцены.

Включение этого свойства включает флаг Contribute GI в флагах статического редактора GameObject. Он соответствует API StaticEditorFlags.ContributeGI.

Receive Global Illumination Предоставляет ли Unity глобальные данные об освещении этому рендереру из запеченных карт освещения или из Light Probes во время выполнения.

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

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

Lightmaps Unity предоставляет этому рендереру данные глобального освещения из карт освещения.
Light Probes Unity предоставляет этому средству визуализации данные глобального освещения из световых зондовсветовые зонды хранят информацию о том, как свет проходит через пространство в вашей сцене. Набор световых зондов, расположенных в заданном пространстве, может улучшить освещение движущихся объектов и статических пейзажей LOD в этом пространстве. Подробнее
См. в Словарь
в сцене.
Prioritize Illumination Включите это свойство, чтобы всегда включать этот модуль рендеринга в расчеты Enlighten Realtime Global Illumination. Это гарантирует, что на визуализатор воздействуют дальние источники излучения, даже те, которые обычно исключаются из расчетов глобального освещения по соображениям производительности.

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

Проверки

Раздел Probes содержит свойства, относящиеся к Light Probe и Reflection ProbesКомпонент рендеринга, который захватывает сферический вид своего окружения во всех направлениях, подобно камере. Захваченное изображение затем сохраняется как кубическая карта, которую можно использовать для объектов с отражающими материалами. More info
See in Словарь
.

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

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

Off Рендерер не использует никаких интерполированных Light Probes.
Blend Probes Рендерер использует один интерполированный Light Probe. Это значение по умолчанию.
Use Proxy Volume Рендерер использует трехмерную сетку интерполированных Light Probes.
Custom Provided Средство визуализации извлекает юниформ-значения шейдера Light Probe из MaterialPropertyBlock.
Proxy Volume Override Установите ссылку на другой GameObject, у которого есть компонент Light Probe Proxy Volume.

Это свойство отображается, только если для параметра Light Probes установлено значение Использовать прокси-том.

Reflection Probes Укажите, как визуализатор получает отражения от системы Reflection Probe.

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

Off Отключает датчики отражения. Unity использует скайбокс для отражения.
Blend Probes Включает датчики отражения. Смешивание происходит только между датчиками отражения. Это полезно в помещении, где персонаж может переходить между областями с разными настройками освещения.
Blend Probes and Skybox Включает датчики отражения. Смешивание происходит между датчиками отражения или между датчиками отражения и отражением по умолчанию. Это полезно для наружной среды.
Simple Включает датчики отражения, но смешивание между датчиками отражения не происходит при наличии двух перекрывающихся объемов.
Anchor Override Установите преобразование, которое Unity использует для определения положения интерполяции при использовании систем Light Probe или Reflection Probe. По умолчанию это центр ограничивающей рамки геометрии средства визуализации.

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

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

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

Свойства Описание
Skinned Motion Vectors Включите эту опцию для двойной буферизации данных скиннинга сетки, чтобы Unity могла интерполировать скиннинговое движение и поместить его в текстуру вектора движения. Это использует больше памяти графического процессора, но приводит к более правильным векторам движения.
Dynamic Occlusion Когда Динамическая окклюзия включена, отбор окклюзииA функция, которая отключает визуализацию объектов, когда они в данный момент не видны камере, поскольку они скрыты (закрыты) другими объектами. Подробнее
См. в Словарь
система отбраковывает этот модуль визуализации, когда он заблокирован из поля зрения камеры Статический окклюдер. В противном случае система не отбрасывает этот рендерер, когда он заблокирован из поля зрения камеры статическим окклюдером.

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

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3