Version: 2017.3
public static bool TestPlanesAABB (Plane[] planes, Bounds bounds);

描述

如果边界位于该平面数组内,则返回 true。

如果包围盒位于这些平面内,或者与其中任何平面相交,则将返回 true。

TestPlanesAABB 函数使用 Plane 数组来测试包围盒是否位于该视椎体内。\ 您可以将此函数与 CalculateFrustrumPlanes 结合使用来测试摄像机的视图是否包含对象 (无论其是否被渲染)。

另请参阅:GeometryUtility.CalculateFrustumPlanes。

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public GameObject anObject; public Collider anObjCollider; private Camera cam; private Plane[] planes; void Start() { cam = Camera.main; planes = GeometryUtility.CalculateFrustumPlanes(cam); anObjCollider = GetComponent<Collider>(); } void Update() { if (GeometryUtility.TestPlanesAABB(planes, anObjCollider.bounds)) Debug.Log(anObject.name + " has been detected!"); else Debug.Log("Nothing has been detected"); } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961