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,.