小米VR开发流程(二)
这篇文章接着小米开发流程(一),在以上的文章中已经为小米VR的开发做了一定的准备工作,剩下的开发流程就很轻松了,小米VR中的交互及实现方法在开发文档中很详细了。在这里还是以一个简单项目开发为例吧!
- 新建Unity项目,将下载完成的MIVR SDK导入到unity项目中
- 将资源导入后可以看到MIVR SDK 自带两个示例场景,可以先参考下示例场景,分别介绍如何实现VR双眼效果及VR中的UI 交互。这些功能在开发文档中文版中说的很详细。
- 我制作的功能很简单,就只涉及了UI交互;
- 将MIVR 中的摄像机预制体和加载手柄的预制体拖进场景中
- 新建Canvas-Button ,但如果想用小米VR手柄交互的话,需要进行如下操作,也可参考小米VR射线控制示例场景(360ViewController)中的设置。
(忍不住贴了开发文档里的截图) - 以上操作完成后,使用脚本添加Butoon事件即可;首先在button 或需要交互的物体上添加“Event Trigger”组件,组件中定义了很多监听事件,大家可以就自己情况使用。我这里用到了“Pointer Down” 和“Pointer Up”两个(按手柄的大圆盘键和trigger键都可以响应);
/// <summary>
/// Fixed forveated level.
/// </summary>
private VrManager.FovLevel fovLevel = VrManager.FovLevel.Fov0;
/// <summary>
/// refreshRate mode.
/// </summary>
private VrManager.RefreshRateMode refreshRate = VrManager.RefreshRateMode.Fps60;
/// <summary>
/// Called when [click].
/// </summary>
public void OnClick(string buttonName)
{
if (buttonName == "Room")
{
SceneManager.LoadScene("Scene2");
}
else if (buttonName == "Exit")
{
Application.Quit();
}
Debug.Log("**** OnClick.");
this.transform.GetComponentInChildren<Text>().text = (Random.value * 100).ToString();
this.refreshRate++;
if (this.refreshRate > VrManager.RefreshRateMode.Fps72)
{
this.refreshRate = VrManager.RefreshRateMode.Fps60;
}
VrManager.SetRefreshRateMode(this.refreshRate);
}
- 当然也可以在Update中检测手柄或头盔输入。
具体的按键在开发文档中有具体说明:
9、发布应用,发布应用之前需要做如下设置:
10、为了能让应用正常安装和运行,需要在Unity中导入设备的签名文件,清明文件需要在小米开放平台申请
首先需要知道小米VR一体机的序列号,序列号可以在标签上找到(如果还有的话)
如果没有的话,可以打开小米VR一体机设备的开发者模式,将一体机通过USB数据线连接到电脑,通过adb命令得到。注意如果VR一体机没有进入开发者模式则没办法通过adb命令得到序列号。
11、得到序列号之后,打开此界面 输入序列号下载文件;
12、下载得到的签名文件为txt文件,将txt文件导入到unity中,路径为“Plugins-Android-assets-MiVR_sig”;路径不能错!这里有点类似GearVR的签名文件设置。
13、接下来可以安心导出apk了。
14、导出的文件安装到小米VR一体机;
仍然使用开发者模式,连接USB,使用adb命令安装文件;
15、如果需要卸载,可以在一体机中使用手柄选中APP长按确定键会出来卸载,但如果这样删不掉,可以使用adb命令(注意这里删除的时候是包名,而不是应用名称);
以上就是简单的小米VR APP 开发流程,有哪里不对的或者有疑问的小伙伴欢迎留言
开始我入坑的其实是小米VR一体机怎样进入开发者模式,主要是因为是买的二手机,不知道有小米VR APP这样的存在,如果不知道的小伙伴可以参考我写的上篇文章,有详细介绍。