改造u3d第一人称控制器,使之适合Cardboard+蓝牙手柄控制

第一步:首先我们得有一个第一人称角色在场景中,因此,导入UNITY自带的第一人称模型包:

改造u3d第一人称控制器,使之适合Cardboard+蓝牙手柄控制

导入场景后,在项止浏览窗口中:

改造u3d第一人称控制器,使之适合Cardboard+蓝牙手柄控制

第二步:将第一人称控制器下的prefab拉入到场景中:

改造u3d第一人称控制器,使之适合Cardboard+蓝牙手柄控制

改造u3d第一人称控制器,使之适合Cardboard+蓝牙手柄控制

第三步:移除场景中第一人称控制器自身的maincamera,同时将cardboardmain拉到该第一人称控制器的下面:

改造u3d第一人称控制器,使之适合Cardboard+蓝牙手柄控制

稍微调整cardboardmain在父物体中的坐标,使其移到第一人称的上端:

改造u3d第一人称控制器,使之适合Cardboard+蓝牙手柄控制

第四步:开始修改第一人称控制器的脚本,有以下几点需要修改:

1、之前第一人称的视线是跟随鼠标移动,现在要使其跟随cardboard跟踪到的头部姿态的运动而移动;

2、之前第一人称的前后左右移动是由键盘上的控键控制,现在要由蓝牙手柄上的按键来控制;

动手:

1、使第一人称的视线其跟随cardboard跟踪到的头部姿态的运动而移动;

在FirstPersonController.cs中的update函数中去掉rotateview(这里就是实现鼠标控制):

改造u3d第一人称控制器,使之适合Cardboard+蓝牙手柄控制

同时初始化也去掉:

改造u3d第一人称控制器,使之适合Cardboard+蓝牙手柄控制

在Cardboard\Scripts\CardboardHead.cs中的UpdateHead函数中,根据获取到的头部转动数据来控制第一人称的Y轴转向:

改造u3d第一人称控制器,使之适合Cardboard+蓝牙手柄控制

这样就实现了使用cardboard的头部转动数据来控制第一人称头部转动的效果。

3、在FirstPersonController脚本中找到控制第一人称移动的地方,用手柄摇杆键值取代;

改造u3d第一人称控制器,使之适合Cardboard+蓝牙手柄控制

4、在FirstPersonController脚梧找到控制jump的地方,用手柄中的右边下方按键键值取代;

改造u3d第一人称控制器,使之适合Cardboard+蓝牙手柄控制

即可完成使用手柄摇杆控制第一人称角色身体的前后左右移动,以及使用手柄右边下边的按键控制第一人称角色的跳跃;