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

Renderer.localBounds

Declaration

public Bounds localBounds;

Описание

Ограничительная рамка рендерера в локальном пространстве.

Это выравниваемая по оси граничная рамка, полностью охватывающая объект в локальном пространстве.

Для a SkinnedMeshRenderer, локальные границы по умолчанию предварительно рассчитываются на основе анимаций, связанных с этой моделью, что означает, что предельный блок может быть намного больше, чем сама сетка. SkinnedMeshRenderer.updateWhenOffscreen если включено, Unity пересчитывает локальные границы в каждом кадре.

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

using UnityEngine;

public class DrawRendererBounds : MonoBehaviour { // Draws a wireframe box around the selected object, // indicating local space bounding volume. public void OnDrawGizmosSelected() { var r = GetComponent<Renderer>(); if (r == null) return; var bounds = r.localBounds; Gizmos.matrix = transform.localToWorldMatrix; Gizmos.color = Color.blue; Gizmos.DrawWireCube(bounds.center, bounds.extents * 2); } }

Дополнительные ресурсы: ,ResetLocalBounds,, ,bounds,, ,Bounds,.