unity射线检测碰撞器

3D碰撞器

射线检测:有摄像机发射一条射线,能够获取碰撞到的物体的相关属性,但是需要物体上含有碰撞器

使用Unity射线检测检测3D碰撞器:

 	Ray ray = new Ray(transform.position, transform.forward);
	
	// 获取游戏物体
	RaycastHit hit;
	Physica.Raycast(ray, hit);
	GameObject gb = hit.collider.gameObject;
	

2D碰撞器

检测2D碰撞器

	Vector3 screenPos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
    RaycastHit2D hit = Physics2D.Raycast(screenPos,Vector2.zero);
    //得到碰撞到的物体
    if(hit.collider != null)
    	GameObject object =hit.collider.gameobject;

能够指定射线长度:

	bool isCollider = Physics.Raycast(ray,1);
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐