• Unity3D for VR 学习(3): 暴风魔镜PC Input小改造–自己动手、丰衣足食


       在做手游的时候,80%时间是在PC调试的,例如业务逻辑、AI算法、核心玩法等。

    拿到魔镜提供的demo,晕了,必须得安装到Android机器上,才能调试,究其原因,有三:

    1. 需要用到手机陀螺仪
    2. 需要用到蓝牙手柄
    3. 需要用到魔镜的凸透镜

    这些都是客观原因,但是每次打包后,安装Android,再戴到头上,Debug、log啥的都看不清,呵呵。

    故就着手改造一下输入快捷键,从而可以方便的模拟手机陀螺仪输入、模拟蓝牙输入、模拟非VR Mode切换。

     

    1 模拟手机陀螺仪输入

    这个在mojing.cs有现成隐藏代码,在UpdateState()函数中。

    • 快捷键F: ok键
    • 快捷键Alt:按住,鼠标模拟GazePostion位移
    • 快捷键Ctrl:按住,鼠标模拟GazePostion旋转

    2 模拟蓝牙输入

    在学习了MojingInputManager.OnButtonDownOnButtonUp后,知道只要传递过去string即可,其中用/分隔,第一位暂时不用,第二位用MojingKeyCode预定定义的数字。

    • 快捷键WASD:模拟蓝牙
    • 快捷键Q:模拟蓝牙OK

    3 模拟非VR Mode切换

    VR Mode切换,是通过设置Mojing.SDK.VRModeEnabled实现的,原理是对Left、Right Camera和Center Camera可见性进行隐藏或者显示实现切换,找到了Demo.cs脚本中,已经封装好了切换和返回主菜单函数,调用即可:GameObject.FindObjectOfType<Demo>().ToggleVRMode();

    • 快捷键R:模拟切换VR Mode
    • 快捷键B:模拟回到主菜单

    借用网络一句话:VR开发,比App开发,多一个Camera。 搭建好调试环境,就会好很多。

    源码下载:MojingInputManagerEditor.cs

    使用:在MojingInputManager.prefab添加MojingInputManagerEditor脚本,然后点击Apply即可。

    image

  • 相关阅读:
    Apache+php显示错误信息
    Laravel 中的多组认证模式
    Laravel 如何在Blade模板中能够根据不同的子页面附加不同的js和CSS
    Laravel 数据库
    Laravel Middleware 中间件笔记
    Laravel Routing笔记
    Laravel 进阶任务笔记
    Laravel 基本任务笔记
    Laravel5 根目录router无效
    Fedora23 安装 psycopg2
  • 原文地址:https://www.cnblogs.com/czaoth/p/5364865.html
Copyright © 2020-2023  润新知