下面说一说关于VR画廊的实现:
工具:karboardSdkforunity插件
首先构造VR环境:mainCamera上添加Stereo Controller组件,并点该组件下面的update将其升级为VR摄像机;
向其中添加Pysical Racaster组件(该组件为发射一条射线)。添加一个IMage作为焦点(Image为UI,伴随生成EventSystem对象,注意去掉Canvas自带的Pysical Racaster组件,以防止干扰摄像机的射线),在EventSYstem中添加Gaze Input Modile组件(该组件处理焦点的进入与出去事件)
书写脚本:写一个类继承UnityEngine.eventSystem包中的IpointEnterHandle与IPointExitHandle接口,并实现OnpointEnter()和OnPointExit()方法。代码如下:
using UnityEngine.EventSystems;
public class circleServer : MonoBehaviour,IPointerEnterHandler,IPointerExitHandler{
public void OnPointerEnter(PointerEventData eventData)
{
Debug.Log("circle enter");
}
public void OnPointerExit(PointerEventData eventData)
{
Debug.Log("circle exit");
}
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
}
将此脚本挂在响应焦点进出事件的对象后面。
后面事情较为简单,剩下一点代码,这里就不一一列举。