Unity3d游戏开发中3D物体的点击获取和悬浮获取
程序员文章站
2022-07-13 08:28:56
...
在3D场景中基本的操作就是鼠标对物体的点击和悬浮并获得该物体
1.从摄像机发出射线,发射目标为鼠标点击的位置,判断是否碰撞到物体
2.针对每种物体或每个物体设置相应的内容
场景设置如下:
下面的程序是处理点击获取物体的基本架构
public class clickedinfo: MonoBehaviour
{
// Update is called once per frame
void Update()
{
RaycastHit hit;
if(Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hit))
{
bool cube = false;
bool sphere = false;
bool cylinder = false;
//鼠标悬浮的操作(鼠标点击场景任何地方后)
if(hit.collider.gameObject.name=="Cube")
{
Debug.Log("Mouse on the Cube");
cube = true;
}
else if (hit.collider.gameObject.name == "Sphere")
{
Debug.Log("Mouse on the Sphere");
sphere = true;
}
else if(hit.collider.gameObject.name == "Cylinder")
{
Debug.Log("Mouse on the Sphere");
cylinder = true;
}
else
{
Debug.Log("Mouse on Nothing");
}
//鼠标点击的操作
if (Input.GetMouseButtonDown(0))
{
if (cube)
{
Debug.Log("CUBE");
}
else if (sphere)
{
Debug.Log("SPHERE");
}
else if (cylinder)
{
Debug.Log("CYLINDER");
}
else
{
Debug.Log("NOTHING!");
}
}
}
}
}
上一篇: 贪食蛇小游戏
下一篇: 使用js实现贪食蛇游戏