举荐:将 NSDT 场景编辑器退出你的
3D 工具链 3D 工具集:NSDT 简石数字孪生 AR
https://www.mvrlink.com/cocos-creator-ar-interaction/
交互 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,创立立体代理节点。
所有工作都实现后,即可打包公布,在运行时查看搁置成果。