影创科技MR -Action One快速入门
<main class="overflow-hidden pb-4 background-gray">
开发环境要求
- 对于Unity5,SDk适配Unity5.6及以上版本。
- 对于Unity 2017,支持Unity2017.1.1、Unity2017.2.0、Unity 2017.3.0,其他Unity2017版本暂未验证。
软件名称软件版本JDKjdk1.7.0_01及以上Android SDKAPI Level 23及以上
创建一个HelloWorld工程
参考示例:ShadowCreator/shadowAction/Examples/HelloWorld/HelloWorld
Step1 :打开Unity 新建HelloWorld工程

Step2 :导入sdk 如下图

Step3 :新建一个HelloWorld场景

Step4 :使用sdk
(1) 删除场景中的MainCamera

(2) 点击菜单栏 Tools->ShadowCreator->Action 添加Action组件

(3) 场添加完组件后会在舞台上生成两个组件 “ShadowSystem”和“ActionSystem”。
“ShadowSystem”和“ActionSystem”会持久化在舞台上,切换场景时会自行进行匹配。

Step5 :舞台上添加 一个“HelloWorld”的text
(1) 右键->3D Object->3D Text 添加一个3D Text组建到舞台

(2) 更改text的属性

Step6 :模拟运行
点击运行按钮,在Game窗口中可看到如下:

凝视
1. 凝视触发条件
(1) 被凝视的3D物体 必须添加BoxCollider组件,大小按照需求更改(2) 被凝视的3D物体所在的Layer比需被InputSystem的RaycastLayerMask包含在内
2. 3D凝视
参考示例: ShadowCreator/shadowAction/Examples/Gase/Gaze_Head参考示例: ShadowCreator/shadowAction/Examples/Gase/Gaze_Bluetooth
第一步,在3D物体上的脚本上实现IPointerDownHandler接口,或者直接SCButton,或者直接使用EventTrigger组件,注册OnPointerClick事件,第二步在3D物体上挂载组件AutoGaze,改写AutoGaze 的Auto Click Time属性 (大于0)即可触发凝视点击效果 Auto Click Time的单位为秒

按钮和按键
1. 3D按钮制作流程
参考示例:ShadowCreator/shadowAction/Examples/Click/3DClick
1.1 创建3D按钮
点击菜单 GameObject/右键->ShadowCreator->SCButton


1.2 SCButton类

1. Transition 被选中物体后的变化None 无变化Scale 缩放变化Position 沿Z轴坐标变化
2. UI按钮制作流程
参考示例:ShadowCreator/shadowAction/Examples/Click/CanvaClick
2.1 创建一个canvas
GameObject/右键->ShadowCreator->Canvas


2.2 Canvas设置
- Layer设置成Default2. Render Mode 设置成World Space3. Scale 设置0.001(即1000的画布长度对应3D场景的1个单位长度) 也可以按照自己需求改写这个比例4. Width 和Height按照需求更改 之作为一个标度

2.3 创建UI按钮
GameObject/右键->ShadowCreator->UIButton


2.3 创建UI按钮组件

UIButtonUIButton继承自系统Button 所以如果组件带有系统Button脚本的话请删除系统Button脚本参数与Button相同
按键监听
1. 按任意键触发监听
参考示例:ShadowCreator/shadowAction/Examples/AnyClick/AnyClick
添加脚本代码SCInput.AnyKeyDownEvent += onClick;即可监听任意案件点击

蓝牙手柄
参考示例:ShadowCreator/shadowAction/Examples/BluetoothHandle3dof/BlueTooth
1.开启/关闭蓝牙手柄凝视更改ActionSystem组建的Inspector中ActionSystem的Use Bluetooth Gaze 就可开启蓝牙手柄凝视

运行时可调用代码 ActionSystem.Instance.UseBluetoothGaze (true/false)开启/关闭蓝牙手柄凝视2.蓝牙3dof数据获取(1) 调用BluetoothHandleDevice.Instance.enable3Dof (true/false)开启或关闭蓝牙手柄3dof数据接收(2) 调用ActionInput.getBluetoothHandleRotation (0/1)获取手柄的3dof数据 0为1号手柄 1为2号手柄3.接收蓝牙手柄点击事件支持七种按键事件:BACK,TIGGER,POWER,TP,VOLUMEDOWN,VOLUMEUP,OTHER,(K02手柄只支持部分按键,硬件决定)通过ActionInput.BluetoothHandleClickEvent注册代理方法,通过这个方法可以获取蓝牙手柄的点击事件上报参数,用法类似如下:4.蓝牙手柄的TP滑动事件支持四种滑动事件,上下左右,通过ActionInput.TouchLeftEvent; ActionInput.TouchRightEvent;ActionInput.TouchUpEvent;ActionInput.TouchDownEvent;注册代理方法,通过这个方法可以获取蓝牙手柄的TP滑动事件,用法类似如下:
3D键盘和输入框
参考示例:ShadowCreator/shadowAction/Examples/keyboard/keyboard
1. 创建键盘
GameObject/右键->ShadowCreator->SCKeyboard

2. 创建输入框
GameObject/右键->ShadowCreator->SCInputField

3. 输入框设置
将键盘拖入到SCInputField类的Keyboard属性中

打包设置
PlayerSetting设置 点击菜单栏 Edit->Project Setting->Player(1) Resolution and Pressentation 中 Default Orientation 设置为 LandScape Left

(2) Other Setting中 取消勾选 Multithreaded Rendering

(3) Other Setting中 Minimum API Level 选择 Aneroid6.0(API level 23)或以上

(4) File->Build Setting 中Build System 选择 Internal

应用启动设置
在AndroiMainfest中添加此标签,可以控制应用以全屏模式启动(默认添加),如果希望在3DUI状态启动则可删除此标签
</main>
<footer>
</footer>