改造u3d第一人称控制器,使之适合Cardboard+蓝牙手柄控制
第一步:首先我们得有一个第一人称角色在场景中,因此,导入UNITY自带的第一人称模型包:
导入场景后,在项止浏览窗口中:
第二步:将第一人称控制器下的prefab拉入到场景中:
第三步:移除场景中第一人称控制器自身的maincamera,同时将cardboardmain拉到该第一人称控制器的下面:
稍微调整cardboardmain在父物体中的坐标,使其移到第一人称的上端:
第四步:开始修改第一人称控制器的脚本,有以下几点需要修改:
1、之前第一人称的视线是跟随鼠标移动,现在要使其跟随cardboard跟踪到的头部姿态的运动而移动;
2、之前第一人称的前后左右移动是由键盘上的控键控制,现在要由蓝牙手柄上的按键来控制;
动手:
1、使第一人称的视线其跟随cardboard跟踪到的头部姿态的运动而移动;
在FirstPersonController.cs中的update函数中去掉rotateview(这里就是实现鼠标控制):
同时初始化也去掉:
在Cardboard\Scripts\CardboardHead.cs中的UpdateHead函数中,根据获取到的头部转动数据来控制第一人称的Y轴转向:
这样就实现了使用cardboard的头部转动数据来控制第一人称头部转动的效果。
3、在FirstPersonController脚本中找到控制第一人称移动的地方,用手柄摇杆键值取代;
4、在FirstPersonController脚梧找到控制jump的地方,用手柄中的右边下方按键键值取代;
即可完成使用手柄摇杆控制第一人称角色身体的前后左右移动,以及使用手柄右边下边的按键控制第一人称角色的跳跃;