这篇介绍Characters资源包。包含三个文件夹:FirstPersonCharacter、RollerBall、ThirdPersonCharacter。

  

unity第一人称游戏漫游_ide

 

  FirstPersonCharacter文件夹:

  FPSController预设:

  

unity第一人称游戏漫游_时间间隔_02

  

unity第一人称游戏漫游_碰撞检测_03

unity第一人称游戏漫游_时间间隔_04

  提供由CharacterController作限制的第一人称控制器预设,可模拟运动中头部晃动和脚步声。

 

  RigidBodyFPSController预设:

  

unity第一人称游戏漫游_unity第一人称游戏漫游_05

  

unity第一人称游戏漫游_ide_06

unity第一人称游戏漫游_ide_07

  提供由碰撞体和刚体作限制的第一人称控制器预设,可模拟运动中头部晃动。

 

  MouseLook类:

  

unity第一人称游戏漫游_unity第一人称游戏漫游_08

  非MonoBehaviour,提供鼠标控制视角旋转的功能。

  XSensitivity:镜头横向旋转的乘量因子

  YSensitivity:镜头纵向旋转的乘量因子

  clampVerticalRotation:是否限制纵向旋转的范围

  MinimumX:纵向旋转(绕X轴旋转)的最小角度

  MaximumX:纵向旋转(绕X轴旋转)的最大角度

  smooth:旋转镜头时是否作延时跟随处理

  smoothTime:延时跟随时使用的时间因子,越大延时越短

  lockCursor:是否锁定鼠标

 

  FirstPersonController类:

  

unity第一人称游戏漫游_ide_09

  

unity第一人称游戏漫游_时间间隔_10

  提供基于CharacterController控制的第一人称控制器。

  IsWalking:当前是否为行走状态(否则为跑动状态)

  WalkSpeed:行走速度

  RunSpeed:跑动速度

  RunstepLenghten:模拟头部晃动时使用的跑动步长

  JumpSpeed:跳跃速度

  StickToGroundForce:着地时对地面的压力

  GravityMultiplier:重力的乘量因子

  MouseLook:鼠标控制摄像机旋转的参数,参考MouseLook类

  UseFovKick:行走状态和跑动状态间切换时是否改变摄像机视角大小

  FovKick:视角大小改变的参数,参考Utility资源包FovKick类的介绍

  UseHeadBob:是否模拟运动中的头部晃动

  HeadBob:头部晃动曲线的参数,参考Utility资源包CurveControlledBob类的介绍

  JumpBob:跳跃曲线的参数,参考Utility资源包LerpControlledBob类的介绍

  StepInterval:模拟头部晃动和脚本声时两步间的时间间隔大小

  FootstepSounds:脚步声,每次随机选取一个声音片段播放

  JumpSound:起跳声

  LandSound:着陆声

 

  RigidbodyFirstPersonController类:

  

unity第一人称游戏漫游_unity第一人称游戏漫游_11

  提供基于刚体控制的第一人称控制器。

  ForwardSpeed:向前运动的速度

  BackwardSpeed:向后运动的速度

  StrafeSpeed:侧向运动的速度

  RunMultiplier:跑动时的乘量因子

  RunKey:跑动操作按键

  JumpForce:跳跃力度

  SlopeCurveModifier:地面倾角对速度的影响曲线

  MouseLook:鼠标控制摄像机旋转的参数,参考MouseLook类

  GroundCheckDistance:判断角色是否着地的检测距离

  StickToGroundHelperDistance:判断角色与地面碰撞的辅助距离参数

  SlowDownRate:停止输入后的减速比率

  AirControl:角色在空中时是否可以控制方向

  ShellOffset:碰撞检测距离的减小比率,用于防止角色被障碍物卡住

 

  HeadBob类:

  

unity第一人称游戏漫游_碰撞检测_12

  提供对运动中头部晃动的模拟。

  MotionBob:模拟运动中头部晃动的参数,参考Utility资源包CurveControlledBob类的介绍

  JumpAndLandingBob:模拟起跳和着陆时头部晃动的参数,参考Utility资源包LerpControlledBob类的介绍

  RigidbodyFirstPersonController:所关联的RigidbodyFirstPersonController类实例

  StrideInterval:模拟头部晃动时使用的基础步频

  RunningStrideLengthen:跑动时使用的步频

 

  RollerBall文件夹:主要演示跨平台输入脚本的使用,没有太多通用资源,故不作介绍。

 

  ThirdPersonCharacter文件夹:

  AIThirdPersonController预设:

  

unity第一人称游戏漫游_unity第一人称游戏漫游_13

  由AI控制的人物预设,自动朝特定目标行进。

 

  ThirdPersonController预设:

  

unity第一人称游戏漫游_ide_14

  通用的第三人称角色控制器。

 

  AICharacterControl类:

  

unity第一人称游戏漫游_ide_15

  提供人物模型朝特定目标的自动寻路功能。

  Target:当前的行进目标

 

  ThirdPersonCharacter类:

  

unity第一人称游戏漫游_时间间隔_16

  提供对第三人称角色各项参数的设置功能。

  MovingTurnSpeed:运动中的转向速度

  StationaryTurnSpeed:站立时的转向速度

  JumpPower:起跳的力度

  GravityMultiplier:重力影响的乘量因子

  RunCycleLegOffset:奔跑状态下起跳时用于计算两腿前后相对位置的偏移参数

  MoveSpeedMultiplier:移动速度的乘量因子

  AnimSpeedMultiplier:移动动画的乘量因子

  GroundCheckDistance:判断角色是否着地的检测距离

 

  ThirdPersonUserControl类:

  无公开字段,故不截图。根据用户输入控制角色运动。