小米vr一体机
本文原创,转载请注明出处:https://blog.csdn.net/qq_36503704/article/details/82349474
小编第一次写这种东西,有什么问题,大家可以指出后一起讨论。下面进入正题。
一、开发环境
Unity版本:Unity 2018.1.6f1 (64-bit)
小米Sdk :MIVR_Unity_SDK_1.8.2
unity下载地址就不说了,说一下小米SDK的下载地址。地址链接:小米开发平台小米Sdk下载地址
二、导入Sdk
解压之后的目录如下:
developer_doc_cn.pdf是中文说明文档,大家一定要看完。
导入的话只需导入划红线的UnityPackage就可以了。
这时候如果有这个报错:
直接双击点开,在报错的后面加一个ToString()就好了。改完的如下
public static void buildAndroidPlayer()
{
string[] scenes = { "assets/MIVR/Scenes/360Viewcontroller.unity" };
string ERROR = BuildPipeline.BuildPlayer(scenes, "sample.apk", BuildTarget.Android, BuildOptions.None).ToString();
if (!string.IsNullOrempty(error) && error.Length > 0)
{
throw new Exception("Build failed: " + error);
}
}
三、SDK说明书的解读
说明书说的很详细的,小编说几个比较重要的地方吧,其他我没讲到的大家可以自己去看。
1、设备和版本的要求:
目前支持机型为小米5,5s,5s Plus,Note2,小米 6 这五款小米手机和小米vr一体机,Unity v5.5.5及以上版本进行开发,使用其他版本可能会兼容性问题,反正就是奇葩的问题一大顿。还有重要的一点就是如果你的应用要发布,一定要用最新的SDK,以避免后续的审核出现问题。
2、Player Setting
这个一定要选这个,一体机嘛,大家懂的,如果这个选择其他的会出现Bug。
3、输入系统
这几个手柄按键类似MouseButton,但也有几个不太一样的,ConnectionState(按钮的状态,这三个都有)、Orientation( 手柄的朝向信息) 、recentered(手柄是不是被重置)和HmdButtonUp (头盔上按键松开)等。还有几个比较重要,小编直接粘过来了。
1) V1头盔的按钮,长按是打开全局菜单,不会再发出HmdButtonUp
2)手柄的touch区域左上角为原点。
3) V1 手柄的右侧按钮为保留按钮,短按会启动全局菜单,长按会重置手柄的朝向,此按
钮不开放给开发者。
4)一体机手柄 home 键(手柄正面下方圆圈按钮)的事件被系统保留,短按该按钮返回
home,长按为校准手柄。
5) 一体机手柄返回键(手柄正面上方三角按钮)的长按事件被系统保留,长按会启动全局
菜单,不再设置 MenuButtonDown和MenuButtonUp状态。
6) 当应用程序处在最上一层级时(例如游戏根菜单界面),建议返回键的短按事件,调用
VrManager. ReturnToLauncher方法,实现用户短按返回键返回 Launcher的功能。
按键事件的案例代码:
private void Update()
{
if (InputManager.ControllerState.HmdButtonUp)
{
// 要实现的功能
}
}
还有一个必须说的是Pointer Input,小编也复制过来了
如果想使用手柄射线来与场景中的物体和 UI 控件交互,则需要开发者替换掉默认的 Gaze Input Module,因为两种输入控制方式是相互冲突的。具体操作方式如下:
1) 在Hierarchy View 中的 EventSystem中,添加PointerInput Module脚本。
2) 使用MIVR/MiController/Prefabs/MiCamera替换Hierarchy View 中MIVR/Prefabs/ MiCamera实例。
3) 在所有需要交互的Canvas中,删除GraphicRaycaster组件,替换为PointerGraphic
Raycaster脚本。
4)将MIVR/MiController/Prefabs/ControllerLoader拖拽至 Hierarchy View,ControllerLoader会自动根据机型加载对应模型MiController(手机 VR)或 MiControllerV1o (一体机)。
5、Unity中的预览
1)Alt+鼠标水平移动:环顾四周
2)Alt+鼠标垂直移动:抬头低头
3)Ctrl+鼠标水平移动:左右转头
遗憾的是不能模拟手柄按键的事件,希望以后会完善吧。
6、开发者签名
1、账号的申请
这个就需要去小米开放平台,注册账号。地址在这:小米开放平台。注册完账号还需要注册成为开发者。点击个人用户的资料修改就会看到如下界面。
可以根据自己的实际情况选择,这里声明一下,个人开发者也可以上传应用。申请时的照片一定要完全符合要求,避免二次申请浪费时间。小编在这里跪了三次,大家注意.....
2、开启开发者模式
在手机小米VR中:点击----"我的"----"设置"----"关于帮助",进去之后会看到一个图标,连续点击就可以开启了,具体几下小编没记过,但是会出现提示的。
3、 开发者签名文件
USB连接小米VR一体机,使用adb.exe查询设备的序列号。
图中的031603...........就是设备的序列号了。(这里说一下,小编用的手机测试,防止大家入坑)。拿到序列号就可以去下载证书了,地址在这:签名证书下载地址。
下载完事后就可以放入Unity文件夹中了,类似gear vr,一样有路径要求,千万别写错。
路径: Project/Assets/Plugins/Android/assets/MiVR_sig/
4、 应用程序的 Manifest
这里给大家说一个坑,测试的时候这个要有,测试完了要发布了,把这个去掉,不然会出错。不要提前去掉,不然测试打包时也会报错。小编猜的是主要是防止一些想绕过小米VR平台的黑应用。其他的大家自己修改就好了。
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
今天就先写到这了,这些都是些前期的准备工作,还一些小编踩过的坑,下次会继续更新。
相关阅读
一、供应链采购订单问题 在采购订单参照请购单时,若选择了10行请购单的记录,采购订单的表体也就显示了10条记录,如何才能实现还可以
当你在吃鸡,王者农药的时候是否有想过如何才能做出一款这样让人神迷的游戏? 游戏开发这个方向看起来目标很明确,但其实是个领域很广
阅读目录前言:看看优化需要从哪里着手?CPU的方面的优化:GPU的优化内存的优化回到目录前言:刚开始写这篇文章的时候选
面对完全不一样的媒介,设计师们会有不一样的目标,也会使用不一样的手法进行设计。 比如说一名 UI 设计师与平面设计师的最大区别,大
游戏开发很重要的一点就是系统的并发性能,体现在单位时间内处理的请求数,还有同时连接的最大用户数。 基于Java语言实现的Netty不仅