unity3d怎么判定射线是否碰到物体14
发布网友
发布时间:2023-10-14 23:11
我来回答
共1个回答
热心网友
时间:2024-12-02 06:30
//从角色位置向NPC发射一条经过鼠标位置的射线
Ray mRay=Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit mHi;
if(Physics.Raycast(mRay,out mHi))//判断是否击中了什么
{
if(Input.GetKeyDown(KeyCode.Space) || Input.GetMouseButtonDown(0))
{
if(Vector3 .Distance (this .transform.position ,mHi .transform.position )<10)
{
if(mHi.collider.gameObject.tag=="NPC")//用的是tag进行辨别
{
mHi.collider.gameObject.GetComponent <NPCbasic >().OnMouse ();
}
}
}
}
新手自学,这是我所知道的,如果有好方法,请告诉我,多谢了。