打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Cocos Creator:AR 交互

推荐:将NSDT场景编辑器加入你的3D工具链

3D工具集:NSDT简石数字孪生

AR 交互

AR 交互主要由 cc.ScreenTouchInteractor 组件驱动,该组件将触摸事件转换为点击、拖拽和捏合等手势,交互器将这些手势传递给可以交互的虚拟交互物,完成手势对应触发的行为。

手势交互

AR 手势交互器组件将屏幕触摸转换为手势。Cocos Creator 的输入系统将手势信号传递给交互物,然后交互物响应手势事件发生变换行为。交互物能发生交互行为的前提是必须绑定 cc.Selectable 组件,关于此组件的属性描述详见交互组件 Selectable。

想要使用 屏幕手势交互器,在层级管理器中右键创建 XR -> Screen Touch Interactor 。

随意创建一个 3D 物体(以 Cube 为例)。

修改 Cube 的 Scale 属性为(0.1,0.1,0.1)既实际大小为 1000cm³ ,修改 Position 属性为(0,-0.1,-0.5)即位于空间远点处 50cm 远且靠下10cm的位置,并添加组件 XR > Interaction -> Selectable

下面创建选中效果,在资源文件夹中创建一个预置体,命名为 Selected Visualizer。

在预置体根节点下创建一个同样的 Cube 对象,Scale 大小设置为基于父节点的 1.2 倍。

创建一个新的材质,突出表现选中态的效果。

调整材质效果,建议 Effect 选择 builtin-unlit,Technique 选择 1-transparent。

材质创建完毕后,应用到预置体中 Cube 的 cc.MeshRenderer 中,即可完成选中效果的创建。

最后,将预置体应用到 cc.Selectable 的 Selected Visualization 属性中。

运行时效果如下,可以结合手势来移动、旋转和放缩虚拟物体。

放置

使用 屏幕手势交互器 时,会启用设备 AR Hit Test 能力,根据屏幕触碰位置坐标转换到摄像机使用 Ray Cast 与 AR Plane 发生碰撞计算,来获取碰撞点的位置,最终在平面的此坐标上放置虚拟对象。能够被放置的预置体对象必须要挂载cc.Placeable组件。

以上述场景中制作的 Selectable 对象为例,以下对其赋予被放置交互能力。

选中场景中的 Cube 对象,为其添加组件 XR -> Interaction -> Placeable

将此场景节点拖入资源管理器生成一份预置体,并删除场景中的此 Cube 对象。

将刚生成的Cube预置体引用到 Screen Touch Interactor -> Place Action > Placement Prefab 属性中,Calculation Mode 选择 AR_HIT_DETECTION

放置对象的位置计算需要依赖于 AR Plane,所以还需创建一个 Plane Tracking 节点来请求设备激活 AR SDK 的平面识别能力。在编辑器的层级管理器中右键 创建 > XR > Plane Tracking,创建平面代理节点。

所有工作都完成后,即可打包发布,在运行时查看放置效果。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
XP系统优化四大步,让你的电脑飞速
五步实现HarmonyOS应用(ets)【鸿蒙开发13】
虚拟现实|VR|三维仿真
VC程序打包
第五课时:PowerDesigner15十大模型总览
统一建模语言
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服