快速开始
导入SDK
直接从unitypackage导入 下载地址:unitypackage
- 导入unitypackage到你的unity工程中
- 导入完成后,你可以在
Assets
目录下找到Kmax
文件夹,里面包含了SDK的所有资源
项目配置
1. PlayerSettings配置
- 打开
Build Setting
面板 - 切换到
Android
平台 - 点击
Player Setting
按钮,调整Other Settings中的配置,步骤如下所示- 最低安卓版本使用默认api level 22 | Scripting Backend使用IL2CPP | Target Architectures框选ARMv7和ARM64
- 注意其中的次序,Vulkan需要在OpenGLES3之后
2. 在已有项目中进行sdk配置(场景设置相关)
- 打开你的现有工程场景,这里是一个简单的场景,视窗分辨率为
1920x1080
相机设置
设置好你的摄像机:选中挂有主相机组件的物体,调整ClippingPlanes的Near为0.01,再添加这两个脚本
VRRenderer.cs
和PadTracker.cs
VRRenderer.cs
脚本用于将摄像机的视窗分成左右两个视窗PadTracker.cs
脚本用于处理追踪服务的数据
填充
VRRenderer.cs
中需要填充的参数:- 在该Main Camera 下创建两个相机,分别命名为left和right,其中Postion的x值分别为-0.03和0.03;再将这两个相机拖入到
VRRenderer.cs
脚本中的LeftCamera和RightCamera中。将Camera设置为Enable取消勾选。 - 在main相机中拖拽进一个
PhysicsRaycaster.cs
脚本以让其可以射线|鼠标|触摸检测交互。
- 在该Main Camera 下创建两个相机,分别命名为left和right,其中Postion的x值分别为-0.03和0.03;再将这两个相机拖入到
PadTracker.cs
无需填充
射线笔设置
- 设置完相机,继续设置pen,将pen预制拖入场景中。
整合相机和笔
- 设置好pen和相机后,继续整合二者放在一起通过XRRig
- 创建一个名为XRRig的空物体,再将XRRig脚本拖入到该物体中,再将挂有Main Camera的物体和挂有Pen的物体拖入到XRRig层级下,并设置好XRRig的属性。
添加事件监听器
- 至此已经设置好了笔的追踪跟眼镜的追踪,以及3D显示的设置。如果需要响应UI,还需添加事件监听器,SDK集成了鼠标、射线笔、触摸三大事件检测,只需将
Kmax Input Module.cs
搭配EventSystem
添加进场景即可。
Warning
需要注意需要移除掉场景中默认的StandaloneInputModule.cs
组件
UI画布设置
- 对于场景中已有的画布,需要确保该画布的格式正确,画布的渲染模式必须是world space,响应事件相机挂载主相机,还需挂载
KmaxUIFacade.cs
和UIScaler.cs
脚本进画布物体下,鼠标停留在UIScaler.cs
中点击右键选择autofix适配对应比例的画布。
Warning
需要注意的是,你的UICanvas需要跟挂载XRRig.cs
的物体位置一致,这样才能保证UI画面不会由于眼镜跟随而发生形变以及捕捉不到UI画面。
运行场景
Tip
运行场景是左右画面分离的,在pad真机上会正确显示,在Editor中暂时只能画面分离,但不影响交互。
其他
至此场景中笔射线追踪、眼镜追踪、3D显示都已配置完毕,如果需要直接拖拽物体,我们还在默认的sdk中配置了
StylusDragable.cs
脚本,只需要将该脚本挂载在需要拖拽的物体上即可(该物体需要挂载有Collider以让射线碰撞检测)。接下来Build完之后在pad上安装运行即可。