본문 바로가기

Unity/Unity3D_Quater

Unity3D_Quater - 몬스터 위험수치 구현(1)

현재 몬스터가 플레이어를 공격하는 단계는 아래와 같다

   viewDistance반경내에 있는 플레이어 감지,(angleView.targetNear = true)

  -> AngleView시야각에 플레이어가 들어오면 플레이어 발견(recognizePalyer =true), (angleView.targetConfirm = true)

  ->  플레이어 추적(isPlayerTrack =true)

  ->공격타겟팅

  -> 공격

   

목표 :  몬스터의 시야각 내에 플레이어가 들어와서 플레이어를 발견하기 전 단계인

          플레이어가 몬스터 감지반경내에 있는 단계에서 플레이어를 2초당 1위험도로 몬스터가 감지를 하고

          4위험도가 되면 플레이어를 발견한걸로 하고 추적하도록 만들고 싶다

 

 

 

1. 스크립트구현

   몬스터 머리위에 위험도 이미지를 띄우고 해당 이미지가 몬스터를 따라다니며, 

   몬스터의   viewDistance반경내에 플레이어가 들어올시에 시야각 내에 플레이어가

    있지 않더라도 플레이어가 반경내에서 2초간 4번 머물면

    플레이어를 인식하고 추적하도록 구현

 

*Instantiate()에서 4번째 파라미터는 생성될 프리팹의 부모가될 오브젝트를 가르킴

*생성한 위험도 이미지의 위치를 Camra.main.WorldToScreenPoint()를 이용하여 몬스터머리위에서 따라다니도록 구현

*2초마다 검사하는 update()문과 같은 동작을 코루틴 + while문으로 구현