-몬스터가 추격할 시 보여지는 플레이를 추격할 경우에는 빠르게 업데이트하고, 그렇지 않은 상태일 경우 느리게 업데이트를 한다.
플레이어 주기 : 1.0f;
기본 이동 주기 : 3.0f
구현
-관절이 꺾이며 오는 기괴한 추격을 표현하고 싶었기 때문에 중간중간 딜레이를 주어 추격하게 만들었다.
- 몬스터의 추격 알고리즘내에서 해당 함수를 사용하여 움직임을 보여준다.
public void Movement(Vector3 _position, Vector3 _forward)
{
StartCoroutine(MovementCroutine(_position , _forward));
}
IEnumerator MovementCroutine(Vector3 _position, Vector3 _forward)
{
//다음 동작 설정
UpdataPartNextRotate();
//다음 동작의 0.5비율만큼 변경
UpdatePartRotate(0.5f);
Debug.Log("뚝");
yield return wait_Movement;
transform.position = _position;
transform.forward = _forward;
yield return wait_Movement;
//다음 동작의 1.0f비율만큼 변경
UpdatePartRotate(1.0f);
Debug.Log("뚜둑");
Debug.Log("사라지는 FX");
}
최종적으로 완성된 스크립트
Ghost.cs
- 실제 추격 순위에 따라 목표지점으로 추격을 진행하며, 추격 진행에 대한 전체적인 내용이 있다. - NavAgent가 들어가 있어 실제 추격을 진행하는 오브젝트이다. - 플레이어가 일정 범위에 들어오면 추격을 하고, 또 그 안에 범위에 들어온다면 플레이어의 사망 이벤트를 보여준다.
GhostEffect.cs
- Ghost 모델을 실제로 표현하기 위한 스크립트 - Ghost.cs에서 Movement를 호출하여 보여지는 모델의 기괴한 모습을 표현해 준다.