>我遇到了问题:该应用程序未正确使用白日梦控制器该应用程序允许用户使用头部凝视来定位光标并与菜单UI的"播放"按钮进行交互。
这是我的类,它将GvrPointerInputModule.Pointer 设置为使用GVRLaserPointer (用于白日梦)或GvrReticlePointer (用于纸板):
public class InputModuleSelector : MonoBehaviour {
bool DaydreamControllerConntected = false;
public GvrBasePointer DayDreamController;
public GvrBasePointer CardboardController;
private void Start() {
refreshControllers();
}
public static bool IsDayDreamMode() {
return VRSettings.loadedDeviceName != "cardboard";
}
private void refreshControllers() {
DaydreamControllerConntected = IsDayDreamMode();
DayDreamController.gameObject.SetActive(DaydreamControllerConntected);
CardboardController.gameObject.SetActive(!DaydreamControllerConntected);
GvrPointerInputModule.Pointer = DaydreamControllerConntected ? DayDreamController : CardboardController;
}
}
如果我们使用白日梦,我们将使用激光,否则我们将使用标线。
如何让我的应用通过?我们是否可以提交可用于白日梦和纸板的应用程序?如果您需要更多信息,请告诉我。
我不确定我是否应该包含一个链接...但我的应用在Play商店中处于活动状态:https://play.google.com/store/apps/details?id=com.fungamefuntime.warehouse
看起来好像你让光标被头部凝视来控制。 在游戏的所有元素中,头部凝视都允许作为控制器替代品,除非出现菜单。
在Google支持的帮助下,我能够找出并纠正该问题。主摄像机随着玩家的注视方向旋转。这意味着 GvrControllerPointer 依赖于主摄像头。这违反了要求,因为您在移动头部时移动了激光。层次结构视图:
Player
Main Camera
GvrReticlePointer
GvrControllerPointer
当我切换到这种结构时,问题就解决了。GvrControllerPointer 现在独立于主摄像机和玩家的视线。
Player
GvrControllerPointer
Main Camera
GvrReticlePointer