Unity3D脚本教程6:天空盒类Bounds
来源:第三维度
Bounds 类
Bounds 类 代表一个轴对齐包围盒。一个轴对齐包围盒,简称为AABB,是与坐标轴对齐的box并且完全包围一些物体。因为这个box不会绕着轴旋转,所以它可以只用center和extents定义,或者用min和max点定义。Bounds被Collider.bounds,Mesh.bounds,Renderer.bounds使用。
变量
◆var center : Vector3 // 描述:包围盒子的中心
◆var extents : Vector3 // 描述:box的宽度。这个总是size的一半
◆var max : Vector3 // 描述:box的最大点。这个总是等于center + extents。
◆var min : Vector3 // 描述:box的最小点。这个总是等于center - extents。
◆var size : Vector3 // 描述:box的总大小。这个总是extents的二倍。size.x是宽度, size.y 是高度, size.z 是长度。
构造函数
◆static function Bounds ( center : Vector3 , size : Vector3 ) : Bounds // 描述:用给定的center和总size创建新的Bounds。Bounds extents将是给定size的一半。
var bounds = Bounds ( Vector3.zero , Vector3(1,2,1)); // 在原点常见柱状包围盒
函数
◆function Contains ( point : Vector3 ) : bool // 描述:point 包含在这个包围盒中吗 ?
◆function Encapsulate ( point : Vector3 ) : void // 描述:增大Bounds以包含这个point.
◆function Encapsulate ( bounds : Bounds ) : void // 描述:增大bounds来封装另一个bounds。
◆function Expand ( amount : float ) : void // 描述:沿着每个面按照amount增加它的size来扩展这个bounds。
◆function Expand ( amount : Vector3 ) : void // 描述:沿着每个面按照amount增加它的size来扩展这个bounds。
◆function IntersectRay ( ray : Ray ) : bool // 描述:ray与这个包围盒相交吗?
◆function IntersectRay ( ray : Ray , out distance : float ) : bool // 描述:ray与这个包围盒相交吗?当IntersectRay返回真,distance将是到射线源点的距离。
◆function SetMinMax ( min : Vector3, max : Vector3 ) : void // 描述:设定边界为盒子的min和max值。使用这个函数要比分别指定min和max更快。
◆function SqrDistance ( point : Vector3 ) : float // 描述: 点到这个包围盒的最小平方距离。
◆function ToString ( ) : string // 描述:返回一个格式化好的字符串