快速开始
本文档将指导你如何在一个新的或现有的Unity项目中集成 Kmax XR SDK。
导入SDK
1. 下载
如果你还没有SDK,你可以从这里下载最新版本的SDK。
2. 解压
将下载的zip文件解压到一个你认为合适的地方,但不是你的工程内。
3. 导入
- 打开目标unity工程
- 打开
package manager - 点击左上角
+,选择from disk - 选择刚才解压的目录中的
package.json文件

成功后你的package manager中应该已经包含了我们的SDK。

项目配置
1. PlayerSettings配置
- 打开
Build Setting面板 - 切换到
Android平台 - 点击
Player Setting按钮,调整Other Settings中的配置,步骤如下所示- 最低安卓API版本使用
API level 26 - Scripting Backend使用
IL2CPP - Target Architectures框选
ARMv7和ARM64

- Graphic API优先
OpenGLES3(我们还不支持Vulkan,你可以移除它或者像下图一样将它放在OpenGLES3的下面)

- 最低安卓API版本使用
2. 在现有项目上稍加修改
修改主要包含两部分:
- 替换传统相机为支持VR渲染的相机
- 替换常规输入模块为支持空间交互的输入模块
修改相机
- 删除或隐藏原有的相机;
- 在
Hierarchy面板通过右键菜单Kmax->Add XRRig/Add XRRig Unpacked将XRRig加入场景,替代原有相机。
修改输入模块
- 选择场景内的
EventSystem,移除默认的InputModule(如:StandaloneInputModule) - 添加
KmaxInputModule

此时你的场景已经具备了支持
Kmax VR必备的元素,包含了眼镜和笔的追踪,以及3D立体显示,基于笔的空间交互支持。
实际上SDK集成了鼠标、射线笔、触摸三种事件检测,它是基于Unity Event System的。
Warning
需要注意如果你项目已经有了除StandaloneInputModule外的其他InputModule组件也需要移除,我们不能保证KmaxInputModule与其他组件的兼容性。
UI
对于场景中已有的画布,需要确保该画布的格式正确,画布的渲染模式必须是world space,
EventCamera选择主相机在
Canvas下新增KmaxUIFacade.cs和UIScaler.cs,然后鼠标停留在UIScaler组件上点击右键选择AutoFix以适应屏幕


Warning
需要注意的是,你的UICanvas需要跟XRRig的物体位置一致,这样才能保证UI画面不会由于眼镜跟随而发生偏移。
运行测试
通常我们都是在PC上进行项目开发,最终发布到设备上验证实际的效果。
这个过程有许多不便之处,我们已经推出类似unity remote的远程调试功能,详情请看这里。
Tip
运行场景默认显示为单眼画面,但实际上立体显示是需要双眼画面的。如果你需要确认双眼画面,可以选中xrrig在Inspector面板中点击Switch to Side By Side切换为左右格式。
其他
如果需要支持拖拽物体,我们在SDK中内置了StylusDragable.cs脚本,只需要将该脚本挂载在需要拖拽的物体上即可(该物体需要包含Collider否则射线检测将无法生效)。
