常见问题

SDK

一、SDK与手机

1.手机上只能安装一个SDK吗?apk只能安装一个吗?

SDK只是软件开发包,手机上可以有多个使用SDK的程序,你装多少apk与SDK无关。

2.开发魔镜的app,需要适配各个版本的魔镜吗?

最好支持各个版本,这样用户使用不同的魔镜都可以很好的适配。适配不同版本的话只需要修改Mojinghead里面type值。

3.SDK支持的安卓手机。

支持所有4.2以上的安卓手机,但由于硬件的限制,所以在部分机型上不能发挥出所有的SDK功能。比如在没有陀螺仪的机器上是不能实现头控随动等VR体验,只能用手柄遥控。SDK本身对机型没有限制。

4.为什么要在手机上运行才可以?

光学畸变系统是物理成像,PC上没法给你还原成像尺寸。VR的头控效果是采用陀螺仪的数据实现的,PC上没有陀螺仪。交互效果是通过蓝牙手柄实现的,PC上连接不到蓝牙手柄。目前可以在Windows_X64上发布但是需要支持在Unity5.3.6以上,GraphicsAPI改为OpenGL2/Openglcore。

5.解决红米的陀螺仪失准后如何处理的?

使用暴风魔镜时要把相机前置摄像头镜像关闭,设置里的方向锁定也要关闭,这样再试试校正就可以了。

6.在手机上运行为什么会有黑边?

黑边是镜头折射屏幕光线后的不可视区域,所以在这个地方不是加的黑边,而是为了节省系统资源不去绘制的无效区域。

二、SDK效率与功能的问题

1.现在刷新率能达到多少FPS了?

FPS取决于手机,一般硬件限制在60。

2.获取当前视角数据都为0一般是怎么回事?

没有启用陀螺仪。

3.是否需要关闭TW?

关掉TW以后戴眼镜看会抖动。TW是用来补偿你的运动轨迹和图像成像之间的误差的,所以建议还是启用比较好。抖动是TW对陀螺仪位姿的预测,你放到眼镜里看就会比较正常。如果不启用TW放到眼镜里看会感觉有延迟。

4.陀螺仪的四元数是哪根轴旋转出来的?

旋转四元数是相机在世界坐标系的旋转值。

5.部分手机打开了游戏之后,那个那个相机一直在转?

把你的手机放到桌子上静止15秒然后看还转不转,SDK有自动纠正陀螺仪的功能。需要静止一段时间就可以了。如果还是转个不停,那就是手机的陀螺仪在JNI层工作的时候太差了。

6.绘制的时候为什么要渲染两次?

双眼的视觉投影本来就是不一样的,要看到3维空间中立体的物体,就是应该渲染两次。

7.模型边缘有锯齿?

模型边缘锯齿就是分辨率低产生的,显示分辨率是根据你设备的分辨率自动调整的。除了提高手机的分辨率以外,你可以尝试在MojingRender.cs中创建RenderTextures时的尺寸创建的大一些,比如size*2,但是可能使程序运行起来卡顿。

三、登录支付的问题:

1.为什么调用商户验证接口总验证失败?

(1)检查Manifest文件中的商户信息配置。(2)DEVELOPER_APP_ID参数配置时注意添加“\0”

2.接入了魔镜的登录sdk,用户登录了,怎么获取魔镜登录的UID?

有回调,看文档 登录回调 -void MJLOoginCallback(string code)

3.获取token失败 一般是什么造成的?

(1)网络有问题,(2)参数有问题

4.不申请App id可以使用程序吗?

不用的话将来SDKDemo自带的ID随时会被系统排除掉。所以您还是需要使用自己的APPID。

5.如何获得SDK的版本号?

有接口。接口函数是GetSDKVersion。

6.魔镜SDK登录支付不能使用,单屏双屏点击也没有反应?

必须要安装主APP,才能启用登陆支付。(魔镜官网下载一个最新的魔镜应用程序,实际上这里调起的东西是在主程序里面的。)

7.魔镜支付的token需要每次支付都获取一次吗?

是的,每次的token都不一样。

8.魔镜支付的时候clientOrder可以一直是一个样子吗?还是每支付一次就要改一次?

建议每笔订单有自己的订单号,方便问题排查。调用mjPayMobi接口前先通过mjGetPayToken接口获取token,两个接口传递的金额及订单号需保持一致。不一致会有问题。

9.调用支付接口,总返回支付失败?

1、确认订单号、金额与获取token接口一致。2、确认token是否传对。3、确认是否在开发者平台配置游戏服务端回调地址。

10.上传apk时,遇到“APPID与系统不符,请检查安装包”是什么问题?Androidmanfest.xml里的配置已经改了啊?

一般是配置时没加\0.(DEVELOPER_APP_ID参数配置时注意添加“\0”)

11.魔镜自带的例子进行支付1魔币测试,显示支付失败?

(1)服务器需要验证。(2)管理后台要选择付费,填上服务器验证地址。

12.开发者使用SDK前需申请使用权限,即取得与程序包名对应的商户名称、应用ID、应用Key,如这些信息组合能通过魔镜开发者用户中心验证,则可以正常使用SDK,否则会限制使用。

这里的限制体现在显示效果上,如果验证不通过,界面不会显示畸变效果,并给出提示。

13.自己手上的VR小游戏,怎么样才可以上魔镜?

开放平台http://open.mojing.cn/ 提交就可以了。

14.单屏登录双屏登录每次调用例如mjCallSingleLogin接口,每次都会需要输入账号密码?是什么原因呢?

自动登录的功能是app自己实现的,首次登录后,会返回uid,游戏按自己的流程保存用户信息。第二次登录后调用mjAutoLogin(String uid)同步登录状态给sdk。这样支付等操作就不用再登录了。