수업 복습

Zombie 복습 - 총 세팅, 플레이어 애니메이션 세팅 -

은꽁이 2023. 8. 22. 00:17

저번시간에 플레이어 이동, 애니메이션까지 세팅해주었다.

 

이번엔 총을 세팅해 줄건데, 플레이어와 같이 이동해줘야 하므로 플레이어의 자식오브젝트로 Gun Pivot을 만들어 거기에 Gun Prefab을 넣어주고 기본 세팅을 해주었다.

이펙트는 하이어아키에 Gun의 자식오브젝트로 넣어준  스크립트에 추가한다.

발사 시도를 하는 메소드 따로, 실제 발사를 하는 메소드를 따로 작성해주는것이 포인트!

 

이제 Interface와 코루틴이라는걸 쓰는데..무지무지 어렵다!!

스크립트를 작성해주고 라인렌더러 컴포넌트에서 총이 발사될때 보여줄 Effect의 넓이를 조절해준다.

코루틴(Coroutine) = 쓰레드와 비슷한 역할. 독립적으로 처리. 동시수행
 *과용하지 않기(연출할때만 사용하면 좋다. 그 외엔 탈모를 유발한다고 한다.)
> 업데이트에서 쓸 수 있는 내용은 업데이트에서 사용할것!
> 코루틴은 왠만하면 안쓰는걸로 : 독립적으로 * 주기적으로 사용할 것들만
 - 스토리라인 등 연출할 때 많이 씀
만드려면 조건이 있음!
 - 메소드의 자료형에 IEnumerator를 써야함 =/ IEnumerable로 쓰면 안됨! (두개는 서로 다른것이다.)
 > IEnumerator를 사용하여 메소드를 만들면
   { 
         yield ....를 쓸 수 있음

   }
 yield return new WaitForSeconds(); > 일정시간 대기

  > yield에서 멈췄다가 어떤 동작을 하고 뒤에 다시 쓸 수 있음
    == yield return new WaitForSeconds(1f); > 1초마다 멈췄다가 실행함.
 yield break; > 코루틴 종료(탈출)
 yield return null; > 다음 프레임까지 대기

 yield ~~ 엄청 많음(검색해서 알아보기!)

코루틴 메소드는 실행하는 방법이 다르기 때문에 적절한 상황에 적절한 메소드를 잘 알아보고 써야한다.

 

총을 활성화 했으면 테스트 해보는게 정석!

총이 정상적으로 발사되는지 테스트하기 위해 플레이어에게 슈터 애니메이션을 사용할 수 있도록 스크립트로 제어해주었다.

 

스크립트를 정상적으로 작성했다면 아래와 같이 총이 정상적으로 발사되는걸 볼 수 있다.