纳金网

标题: Unity3D脚本教程6:天空盒类Bounds [打印本页]

作者: markq    时间: 2012-3-8 15:53
标题: 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     //   描述:返回一个格式化好的字符串
作者: 彬彬    时间: 2012-3-8 17:19
学习
作者: 会飞的鱼    时间: 2012-3-9 09:28

作者: 浩劫    时间: 2012-3-9 20:06





欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5