快速开始
导入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渲染的相机
- 替换常规输入模块为支持空间交互的输入模块
修改相机
- 删除或隐藏原有的相机
- 将
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否则射线检测将无法生效)。