纳金网

标题: Unity3d 发射射线Ray的代码 [打印本页]

作者: 刀锋狼    时间: 2015-1-28 01:36
标题: Unity3d 发射射线Ray的代码
Ray Camera.main.ScreenPointToRay(Vector3 pos) 返回一条射线Ray从摄像机到屏幕指定一个点

Ray Camera.main.ViewportPointToRay(Vector3 pos) 返回一条射线Ray从摄像机到视口(视口之外无效)指定一个点
RaycastHit 光线投射碰撞信息

bool Physics.Raycast(Vector3 origin, Vector3 direction, float distance, int layerMask)
当光线投射与任何碰撞器交叉时为真,否则为假。

bool Physics.Raycast(Ray ray, Vector3 direction, RaycastHit out hit, float distance, int layerMask)
在场景中投下可与所有碰撞器碰撞的一条光线,并返回碰撞的细节信息()。

bool Physics.Raycast(Ray ray, float distance, int layerMask)
当光线投射与任何碰撞器交叉时为真,否则为假。

bool Physics.Raycast(Vector3 origin, Vector3 direction, RaycastHit out hit,float distance, int layerMask)
当光线投射与任何碰撞器交叉时为真,否则为假。

RaycastHit[] RaycastAll(Ray ray, float distance, int layerMask)
投射一条光线并返回所有碰撞,也就是投射光线并返回一个RaycastHit[]结构体。

if(Input.GetMouseButton(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hitInfo;
if(Physics.Raycast(ray,out hitInfo))
{
GameObject gameObj = hitInfo.collider.gameObject;
Debug.Log(“click object name is ” + gameObj.name);
}
}


转载: 游戏开发网

作者: cgjch8    时间: 2015-1-28 08:55
不错不错不错不错不错
作者: hisamekenji    时间: 2015-1-28 09:41
感谢分享~~~~~~~~~~~~~~~
作者: PandaH    时间: 2017-10-5 19:19
感谢  感谢。。。。。非常感谢楼主这个,。, 很齐全  




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