🎮
17 敌人的接受伤害
如果动画系统里的动画打不上关键帧,那么就回到素材,ctrl+d,复制一份,调整更换掉(需要回到状态机黑色连线框对应的更改掉)
然后就可以打上关键帧🌶
18 敌人的死亡
每次试玩数值都被更改,这是scriptObect特性
sqrt是开方, sqr是平方
拉脱战后
史莱姆应该回到原点 并且转头也应该在原点
在awake应该记录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| private Quaternion guardRotation;
private void Awake() { anim = GetComponent<Animator>(); agent = GetComponent<NavMeshAgent>(); speed = agent.speed; guardPos = transform.position; ⭐ guardRotation = transform.rotation; ⭐ remainLookAtTime = lookAtTime; characterStats = GetComponent<CharacterStats>(); }
switch (enemyStates) { case EnemyStates.GUARD: isChase = false; if (transform.position != guardPos) { isWalk = true; agent.isStopped = false; agent.destination = guardPos; if (Vector3.SqrMagnitude(guardPos - transform.position) <= agent.stoppingDistance) { isWalk = false; transform.rotation = ⭐Quaternion.Lerp(transform.rotation,guardRotation,.01f);⭐ } } break;
|
使其慢慢旋转的函数
Quaternion.Lerp(transform.rotation,guardRotation,.01f);
这个函数会从当前的数值慢慢转换到 最初记录值 会经历0.01秒
动画系统里👉布尔通常是代表状态 trigger 通常表示 当时那一下触发的条件
启用某个组件