第十章 常见问题解答

问: manifest文件中旋转标签修改

答: 确认manifest文件没有替换,需要换成最新的manifest文件。注意到其中的旋转180度标签做了改动 V2.7.4中标签: <meta-data android:name=”com.picovr.type” android:value=”vr” /> <meta-data android:name=”com.picovr.display.orientation” android:value=”180” /> V2.7.6及以上标签: <meta-data android:name=”pvr.app.type” android:value=”vr” /> <meta-data android:name=”pvr.display.orientation” android:value=”180” />

问: Camera Culling Mask 如何设置?

答: Pvr_UnitySDK中LeftEye 以及RightEye 的Camera中可设置属性Culling Mask: 1.适配过Cardboard SDK,使用过toggle culling mask选项的,可通过直接修改Camer属性完成. 2.如果需要代码修改toggle culling mask,可参见普通相机修改方式 3.对于左右眼需要看不同物体的时候, 通过PicoVR左右眼相机Culling Mask来控制显示Layer, 左眼相机Culling Mask不勾选右眼物体的Layer,右眼相机Culling Mask不勾选左眼物体的Layer.

问: 抗锯齿应该怎么设置?

答: 在Pvr_UnitySDK预制体的Inspector面板里设置。X_1为不开启抗锯齿。

_images/10.1.png

图10.1抗锯齿倍数设置

问: 在PicoNeo中如何实现退出功能?

答: 开发者可以自己实现相应功能或者在SDK的AssetsPicoVRSDKScripts目录下,找到 QuitGame.cs脚本,将其拖动到PicoVR的GameObject的上,在运行时按返回键即可退出, 注意 此种方式, 开发者需要自己释放游戏或应用动态加载的资源.

问: 如何将sensor 作用于场景其他物体

答: 按以下步骤进行设置:

1、将场景中PicoVR 中的 head 上PicoVRHeadTrack 脚本不勾选:

_images/10.2.png

2、选中想要作用的物体,添加PicoVRHeadTrack 脚本。

问: Pico上要达到比较流畅的效果,对帧率及场景有什么要求

答:

帧率:

Pico场景帧率不得低于30帧,建议45帧以上。

场景:

模型三角面片控制在10万以内

模型顶点数控制在10万以内

普通unity灯光例如电光源数量控制在50以内

普通unity粒子系统数量控制在50以内

Unity shader尽量使用效率较高的

优化方法举例:

在保证显示的情况下减少模型面片定点数量

尽力共用材质,动画

尽量使用压缩纹理格式

尽可能少的使用灯光特效等

尽量使用静态批处理

脚本优化,减少不必要内存,计算等资源消耗

问: 如何替换应用打开时的加载动画?

答: 打开AndroidManifest,找到platform_logo标签,android:value的默认值为0代表使用Unity默认的加载界面或者自定义加载界面,如想使用Pico专有加载界面,请将android:value的值改为1.

_images/10.3.png

问: 如何关闭在手机上运行游戏时自动连接3dof的功能?

答: 在普通手机上,运行Pvr_Controller Demo后,会自动搜索附近的手柄,并自动连接第一 个搜索到的Pico 3dof Controller,当连接成功后,停止搜索。如果连接不成功,15秒后会弹 出提示框,提示用户重新搜索或退出搜索。

假如需要关闭自动连接功能。需要把Pvr_ControllerLink.cs文件中的bool isAutoConnect 修改为false即可。

问: 手柄拖拽功能怎么设置?

答: 可以参看PicoMobileSDK/Pvr_Controller/Scenes下的Pvr_Controller_UI场景。

具体修改步骤如下。

1.在想要用来当做控制的模型上挂在Pvr_UIPointer脚本,例如Pvr_Controller0下的dot

_images/10.4.png

2.在Event下添加Pvr_InputModule,并把带有Pvr_UIPointer的控制点放到Element里。

_images/10.5.png

3.在被拖动控件所属的Canvas上挂载Pvr_UICanvas和GraphicRaycaster。

_images/10.6.png

4.在被拖动控件上挂载Pvr_UIDraggableItem和Canvas Group。

_images/10.7.png

问: 如何将PicoVR Unity SDK升级到最新版?

答: 对于首次使用SDK应用,可按照上文所述步骤适配即可。

对于曾经适配过旧版SDK的应用,想升级到最新版本SDK。需要按照以下步骤:

1.删除旧的PicoVR Unity SDK所有文件。

2.导入新版SDK UnityPackage,使用SDK内的PvrController0或PvrController1预制体替换掉场景中旧版手柄预制体,依附于旧手柄预制体的相关功能需要移植到新手柄预制体中。

3.PvrController0/controller下是Pico的手柄模型,会根据当前连接的手柄类型来自动切换模型。

4.PvrController0下的白点,射线,模型会根据手柄的连接状态来自动显示隐藏。