最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

【Oculus Interaction SDK】(八)特殊的 UI(曲面效果 & 手指点击)

来源:博客园

前言

这篇文章是【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

关键词: 持续更新 参考资料 大功告成