关闭

Bounds.IntersectRay 相交射线

标签: unity3d
358人阅读 评论(0) 收藏 举报
分类:

转载自:http://game.ceeger.com/Script/Bounds/Bounds.IntersectRay.html

function IntersectRay (ray : Ray) : bool 

Description描述

Does ray intersect this bounding box?

射线与这个边界框相交么?

// Creates a ray that points from the origin to the infinity among the z Axis.
// And prints if the transform touched the ray.
//沿着z轴,从原点到无限远,创建一条射线
//并且如果变换碰到射线,打印消息
var ra : Ray = new Ray (Vector3.zero, Vector3.forward);

function Update () {
	// Color ra in the scene editor.
	//在场景编辑器,给射线一个颜色
	Debug.DrawRay (Vector3.zero, Vector3.forward * 999, Color.green);
	var bounds : Bounds = transform.collider.bounds;
	if (bounds.IntersectRay (ra))
		Debug.Log("Touched the ray");
}

• function IntersectRay (ray : Rayout distance : float) : bool 

Description描述

Does ray intersect this bounding box?

射线与这个边界框相交么?

When IntersectRay returns true distance will be the distance to the ray's origin. 

当IntersectRay返回真,距离将是到射线原点的距离。

// Creates a ray that points from the origin to 10 units among the z Axis.
// And prints if the transform touched the ray.
//沿着z轴,从原点到10个单位之间,创建一条射线
//并且如果变换碰到射线,打印消息
var ra : Ray = new Ray (Vector3.zero, Vector3.forward);
var t : float = 10.0;

function Update () {
	// Color ra in the scene editor.
	//在场景编辑器,给射线一个颜色
	Debug.DrawRay (Vector3.zero, Vector3.forward * 10, Color.green);
	var bounds : Bounds = transform.collider.bounds;
	if (bounds.IntersectRay (ra, t))
		Debug.Log("Touched the ray");
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:830547次
    • 积分:13277
    • 等级:
    • 排名:第988名
    • 原创:435篇
    • 转载:480篇
    • 译文:1篇
    • 评论:85条
    最新评论