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

Renderer.bounds

Declaration

public Bounds bounds;

Описание

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

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

Использование bounds удобно делать грубые приближения о местоположении объекта и его размерах. Например, center свойство часто является более точным приближением к центру объекта, чем Transform.position, особенно если объект не симметричен.

Mesh.bounds и localBounds похожи, но они возвращают границы в локальном пространстве.

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

Когда вы задаёте собственные мировые границы, ограничивающий объём рендерера перестаёт автоматически следовать за изменениями компонента Transform. Если задано переопределение ограничивающего объёма в локальном пространстве (localBounds) активен в то же время, он игнорируется и используются настраиваемые границы пространства мира. Использование ResetBounds чтобы убрать переопределение границ. Учтите, что значение пользовательских мировых границ не сохраняется в сценах и префабах, и во время выполнения его нужно задавать из скрипта.

using UnityEngine;

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

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