unity3d Animal Controller的Animal组件中General基础部分理解
控制器介绍
动物脚本负责控制动物的所有运动逻辑.它管理所有的动画师和刚体参数,以及所有的状态和模式,动物可以做。
动物控制器 是一个动画框架控制器,根动或到位,为任何生物或人形。它利用刚体与物理世界的互动和动画师的玩动画。
States
States 是不互相重叠的动画。例如,动物不能同时奔跑和跳跃,或者飞行和游泳。
这些动画还需要一些内部逻辑才能发挥作用。
对于行走,动物需要与地面保持一致。对于游泳,动物需要与水面保持一致。为了下降,动物需要使用重力。
Modes
另一方面,模式是一组被称为 才能, 它可以在 状态 动画。例如,动物可以在奔跑时攻击,在飞行时躲避,在下降时接受伤害等。
在大多数情况下,这些动画不需要使用任何特定逻辑,但如果它们需要任何自定义逻辑:可以使用模式修饰符来更改对模式动画的一些影响。
Stances 立场
状态是状态动画的变化。例如。运动动画(行走、跑步)可以用不同的方式演奏。如果动物受伤,或者蹲着/偷偷摸摸,或者站在两条腿上,这个角色的行走方式就不同了。他仍处于运动状态,但立场不同。
主要组成部分
动物管理员需要 动画组件 以及 刚体组件 去工作。这两个组件需要与动物脚本处于同一层次。
动画组件
因为我们用的是 刚体 构成部分: 更新模式 建议将其设定为 动画物理学 .
刚体组件
刚体组件允许动物与现场的其他刚性和静态物体相互作用。
旋转将由动物组成部分处理,因此,根据代码,所有的旋转将被冻结:
碰撞器
对于所有生物,建议两足动物或四足动物在生物的主要骨骼(如脊椎和头部)上添加碰撞器。但是,如果您愿意,您可以只向根游戏对象添加一个胶囊碰撞器。
重要的
如果在角色的根上添加主碰撞器,则碰撞器不得接触地面。这将导致斜坡上的滑动问题。
层
默认情况下,动物控制器设置为“animal”层。动物游戏对象层次结构中的所有游戏对象也应设置为同一层。
攻击触发器、交互触发器和其他不属于动物本身的碰撞器应设置在“忽略光线投射层”上。
动画控制器
… 动画控制器 是动物脚本的核心动画逻辑。它将通过动物剧本进行前后交流,告知哪些动画正在播放,哪些动画正在播放 状态 , 模式, 或 地位 动物在。
为了使动物控制器正常工作,动画状态被标记为唯一的 标签 寻找并检查活动的游戏动画是否与动物组成部分的指令相匹配。
像这样的标签 ( Locomotion, Jump, Idle, Fly, Fall, etc ).
这样,控制器就知道动画师是否在活动中播放了正确的动画 状态 .
Animal组件
General
Player 玩家
pivots 主要的
如果你只使用 局部 不与地形保持一致角色节点。
(在默认情况下,当添加一个新的动物成分时,会创建3个支点: 臀部 , 胸部 和 水 (游泳用)。)
臀部和胸部轴长度/乘数必须接触表面,甚至更远一点,这样动物就能永远找到地面
第一列是名称
第二列 是菜单按钮 用于更改显示的枢轴的下一个参数:
1、Position位置 枢轴相对于动物的局部位置。
2、Direction:轴的局部方向。默认情况下设置为矢量3.向下
3、Pivot Color 数据轴颜色: 在场景中显示的轴的颜色,游戏中没有作用
第六列或者第四列的m是乘法器:这个值是支点的长度。它用于设置用于控制器上的激光铸造的射线长度。
最后一列是编辑模式,可以帮你快速定位支点位置。
Movement 运动
Camera Input 摄像机输入(动物会利用摄像头向前移动)
Always Forward 总是向前(动物将永远前进-就像在无穷无尽的跑步游戏)
Use Camera Up 使用相机向上(在水下飞行或游泳时,使用相机向上或向下移动的矢量–如果这是错误的,动物将需要一个向上或向下的输入来移动更高或更低。)
Smooth Vertical 光滑垂直的(用于操纵杆或移动输入,以提高速度通过棒压)
Can Sprint 能跑(动物能冲刺吗?)
Turn Multiplier 转弯乘数(更高的数值意味着动物会更快地转向)
In Place Damp 地方潮湿(平稳地转动。当它到达目标并在人工智能动物周围移动时,人工智能就会使用它)
Turn Limit 转动限制(当转弯角在所提供的限制范围之外时,使动物减速)
Animator Speed 动画速度(全球乘数动物的动画。更高的值意味着动画会玩得更快)
Time Multiplier时间乘数(当地时间乘数动物。可用于慢动作运动)
Ground 地面
…
Ground Layer 地面所在层级 (如果动物开始 堕落 无缘无故,应该是因为 地面层 是空的,或者动物下面的游戏对象层需要添加到 地面面膜 ).
Orient To Ground面向地面(一个使动物能够向地面旋转的切换器-为类人动物禁用它!)
Debris Tag 碎片标签(你的残片是什么?标记你的小石头,楼梯,和其他动物可以行走的小物体,以便更好的雷射计算从动物默认设置为" 楼梯 ")
Height 高度(从动物臀部到地面的距离
Slope Limit 坡度限制(动物能行走的斜坡的最大角度.如果动物试图走在比这高的斜坡上,它就会滑下来。
Slide Threshold 滑动阈值 (在地形上的角度开始向下滑动)
Slide Amountr 滑动量(如果一只动物因为斜坡而往下滑,他们应该被往下推多少
Slide Damp (Dampening) 滑动湿气(阻尼)(阻尼值来激活滑动效果-低值意味着滑动发生得更快)
Ground Alignment 地面对准
Align Pos Lerp 在接地时,光滑度值应快速下降
Align Pos Delta 对齐位置增量(在使用非接地状态(如坠落)时捕捉到地面的平滑度值)
Align Rot Lerp 平滑度值 平滑度值与接地时的地面斜率一致
Raycast Radius 用于检查动物下面地面的探测器半径
Align Cycle 当动物被接地时,控制器应该经常检查每一个框架,以调整动物。更高的值=更精确的值=更好的性能默认值是每帧1
Gravity 引力
Direction 方向
作为矢量的重力方向3。y轴上的默认值为-1。例如,标准地球重力直接向下推动。
Force 力量
这只动物落地的力量有多大。默认值为9.8
Start Gravity Cycle 开始重力循环
用额外的时间启动重力,将动物向下推。较高的数值=较强的重力
Clamp Gravity Speed 压紧重力速度
控制重力的速度。设置为0将忽略此设置。
Ground Changes Gravity 地面变化重力
允许动物在任何表面上向任何方向移动的开关,例如倒置或类似于管道周围的声波
Strafing 冲击
施特拉需要一套新的动画。确保您有适当的动画设置来使用此功能!
Strafe 猛击
启动对动物的扫射–一个通常在运行时使用的可拖曳的地方–你通常不需要自己设置它。
Normalize 使正常化
规范动物的射射角度。180到180变成1到1
Lerp 勒普
勒普值顺利进入状态
默认值为5