首页 理论教育移动控制方法及实践虚拟现实应用开发

移动控制方法及实践虚拟现实应用开发

【摘要】:图9-23新建Player_FullControl脚本为了方便开发,先使用键盘上的WASD来调试角色的移动控制,再之后可以把VR操作接入。设置What Is Ground为Ground。现在发现角色可以移动、跳跃,但是角色没有相关动画动作,而且角色还可以跳出平台,这些会在后面章节的内容进一步实现。

图9-23 新建Player_FullControl脚本

为了方便开发,先使用键盘上的WASD来调试角色的移动控制,再之后可以把VR操作接入。

在Project窗口,右键Scripts文件夹Create→C# Script新建Player_FullControl脚本(见图9-23)。

新建参数程序段如下:

其中,movementSpeed:玩家的移动速度;turnSpeed:玩家的转向速度;jumpForce:推动角色跳跃的外力;whatIsGround:定义构成地面层的层蒙版;anim:角色动画控制器(Animator)的引用;rigidbody:角色刚体的引用;playerInput:三维向量(Vector3),用于存储控制器给角色的三维输入值;grounded:角色是否当前在地面上的布尔值;[SerializeField]:强制Unity序列化私有字段,使得该字段可以在Inspector中被编辑。

修改Start函数程序段如下

修改Update函数程序如下:

(www.chuimin.cn)

添加FixedUpdate函数程序段如下:

图9-24 What Is Ground设置

在Hierarchy中选中Viking_Sword,在Inspector窗口单击Add Component输入Player_FullControl单击添加脚本。

设置What Is Ground为Ground(见图9-24)。

运行游戏,通过WASD可以控制角色移动,按Space键角色跳跃(见图9-25)。

现在发现角色可以移动、跳跃,但是角色没有相关动画动作,而且角色还可以跳出平台,这些会在后面章节的内容进一步实现。

图9-25 角色跳跃