本文主要是介绍Unity 工具类 之 AR/VR Gaze 凝视/按键/鼠标 点击 UI/游戏物体 的交互方式实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Unity 工具类 之 AR/VR Gaze 凝视/按键/鼠标 点击 UI/游戏物体 的交互方式实现
目录
Unity 工具类 之 AR/VR Gaze 凝视/按键/鼠标 点击 UI/游戏物体 的交互方式实现
一、简单介绍
二、实现原理
三、注意事项
四、效果预览
五、实现步骤
六、关键代码
七、Android 代码
八、参考工程
一、简单介绍
在Unity 的VR/AR开发中,一些工具类的整理,方便后期使用。
在AR/VR 中,一般都会用到凝视交互,本节介绍,在 Unity 的AR/VR,实现Gaze 凝视/按键/鼠标并存交互UI和游戏物体。
二、实现原理
1、参照 Unity 交互的方法,写一个凝视/按键/鼠标交互方式的类
2、继承 Unity的 PointerInputModule 类,重写和添加方法控制凝视/按键/鼠标交互方式的类的选择、未选择、选中的交互动态
3、添加一个类了动态调整凝视点圈的位置
4、Unity 一个简单的控制陀螺仪实现在场景中空间旋转的类,控制相加旋转,进行场景的凝视交互
5、shader 控制凝视动态的进度,也可以使用 UGUI 360 UI,方法大同小异,控制 Value 而已
6、按键交互,在Android 层添加 按键的监听事件,监听按钮的操作
三、注意事项
1、在进行游戏物体交互的时候,注意在交互相机上添加 PhysicsRaycaster 组件,不然交互不了
2、如果AR/VR中,进行了分屏操作,请把 Vector2 GetEventPosition()函数返回 new Vector2(Screen.width * 3 / 4f, Screen.height / 2) (右Camer),左 Camera 则是new Vector2(Screen.width * 1 / 4f, Screen.height / 2)
3、因为有射线交互,所以凝视点圈上的 Collider 碰撞题最好去掉,避免射线交互
四、效果预览
五、实现步骤
1、打开Unity,新建工程
2、在工程中添加脚本,实现 凝视/按键/鼠标交互方式
3、进度交互的Shader 和材质
4、布置场景,注意Canva 也是在世界中
5、EventSystem 添加如下脚本,并且赋值
6、Player 添加 旋转脚本,便于旋转凝视交互
7、因为要进行 游戏物体的凝视交互,所以要添加 PhysicsRaycaster 组件
8、Focus 对应添加上材质
9、Button 添加一些对应的交互事件
10、游戏物体交互,添加脚本,和 EventTrigger 进行交互操作实现
11、最后说明一下 交互方式可以设置为 Key 或者 Gaze ,鼠标交互两个状态都兼容
这篇关于Unity 工具类 之 AR/VR Gaze 凝视/按键/鼠标 点击 UI/游戏物体 的交互方式实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!