最近项目需要,按下手柄按钮,提示菜单出现在视野前方。
其实,实现原理很简单,相信大都数朋友都知道。
首先,我们先要想清楚摄像机的一些基本成像原理,包括相机旋转,相机视口方向,近点远点等。
然后,我们在代码中,获取相机的视口方向,相机的旋转角度,近点;用这些参数去设置菜单,便可实现功能。
transform.rotation = Camera.main.transform.rotation;//获取相机旋转,并同步到菜单的旋转
transform.TransformDirection(Camera.main.transform.forward);//设置菜单的平移方向,该方向既是相机的前向方向
transform.position = Camera.main.transform.position;//设置菜单的位置
transform.Translate(new Vector3(0.0f, -0.2f, 1f));//平移菜单,使菜单出现在视野
有一点需要了解,菜单必须出现在相机的视野内,即前面提到的近点和远点的范围内