前言

这篇文章是【Oculus Interaction SDK】系列的一部分,如果发现有对不上的对方,可以回去翻看我之前发布的文章,或在评论区留言。如果文章的内容已经不适用于新版本了,也可以直接联系我,我会持续更新文章内容。

当前适用版本:

  • Unity 版本:2021.3.7f1c1
  • Oculus Interaction SDK 版本:47.0

文章最近更新日期:2023.02.13

 


曲面 UI

实现曲面效果

创建一个空物体 UI Cylinder,为其添加 CylinderCylinder Surface 组件

 

在其下创建一个子物体 Canvas,渲染模式修改为 World Space,然后随便放几个控件

 

为 Canvas 添加 Canvas Render TextureOVR Canvas Mesh Renderer 组件,点击 Auto-Fix 消除警告,并把 Canvas 的 Layer 设置为 UI

注:点击 Auto-Fix 之后,会取消勾选相机 Culling Mask 中的 UI 层,场景中原有的 UI 层的物体都会无法显示,注意调整 Layer 设置

 

在 UI Cylinder 下创建一个空物体 Mesh,为其添加 Mesh 三件套:Mesh Filter、Mesh Renderer、Mesh Collider

 

随后继续添加 Collider SurfaceCanvas Cylinder 组件,并进行赋值

 

回到 Canvas 把 OVR Canvas Mesh Renderer 的参数补全,渲染模式选择 Alpha-Blended 保证曲面效果中可以显示透明色

 

运行一下看看效果

 

如果靠近看会发现 UI 上的字迹比较模糊,调整一下 Pixels Per Unit 就好了

 

实现 UI 交互

找到 EventSystem,移除 Standalone Input Module 组件,添加 Pointable Canvas Module 组件

 

为 Canvas 添加 Ray InteractablePointable Canvas MeshPointable Canvas 组件,并完成引用即可

 

大功告成!

 

使用手指点击 UI

创建一个空物体 Poke UI,新建一个子物体 Canvas,然后随便摆几个控件,调整一下大小和位置

 

再创建一个子物体 Proximity Field,添加 Box Proximity Field 组件

 

回到 Canvas,添加组件 Pointable Canvas、Poke Interactable、Plane Surface,并完成引用

 

看看效果,完成!

 

这里的手之所以不会穿透是因为做了限制,详情请看这篇文章

【Oculus Interaction SDK】(六)实体按钮 & 按压交互 - 千叶Christa - 博客园 (cnblogs.com)

 


参考资料

https://www.youtube.com/watch?v=XOc71-Og0Kg&t=32s

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/Christa/p/17078181.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!