새소식

제작/Souls

[게임 제작] 몬스터 추격 최종 완성

  • -
보여지는 이동

 -몬스터가 추격할 시 보여지는 플레이를 추격할 경우에는 빠르게 업데이트하고, 그렇지 않은 상태일 경우 느리게 업데이트를 한다.

플레이어 주기 : 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를 호출하여 보여지는 모델의 기괴한 모습을 표현해 준다.

 

 

최종 결과물 GIF

 

 

Contents

아핫

땡큐하다