배운 것들

애니메이션

프레임의 집합이다.

- 오브젝트 클릭 후 Window- animation - animation에서 애니메이션을 생성할 수 있다.

- 더블클릭하면 키 프레임가 생성됨

- 녹화버튼 누르고 씬에서 수정시 키프레임이 생성됨

- 기본은 Dopesheet

Animation

아래의 Dopesheet 대신 Curves를 선택하면 사진처럼 프레임의 높이를 조절해 연결을 부드럽게도 만들 수 있다.

Curves

애니메이션 이벤트

애니메이션의 작대기 버튼의 이벤트를 프레임에 생성하여 해당 오브젝트 안의 함수를 실행할 수도 있다.

애니메이션 Event

 

애니메이터

애니메이터는 실제 오브젝트에 추가되는 조건에 따른 애니메이션을 보여주는 컴포넌트다.

- 조건 변수인 Parameters가 있음

- Transition으로 조건을 설정 가능함

- 한 애니메이션에서 화살표(Transition)로 연결된 다른 애니메이션으로만 접근 가능함

- Any State에 연결된 애니메이션은 조건 충족시 Entry에 실행과 상관 없이 실행됨

Animator

애니메이터 레이어

추가 레이어를 사용하여 기존 애니메이션을 덮어 쓰거나 다른 애니메이션과 가중치를 정해 섞는다던가 할 수 있다.

ex) 뛰는 애니메이션이 있고 공격 버튼을 눌렀을 때 팔만 공격 모션으로 덮어쓰고 싶은 경우

Animator Layer

 

트랜지션

애니메이터의 화살표 부분으로 조건에 따른 실행 여부나 다음 애니메이션으로의 연결을 다룬다.

- Condition은 화살표 끝방향 애니메이션의 실행 조건임

- Has Exit Time 조절으로 다음 애니메이션이 부드럽게 이어지거나 현 애니메이션이 다 끝난 후 다음 애니메이션이 실행되는 등을 정할 수 있다.

Transition

 

코드에서 애니메이터 다루기

Animator로 접근하여 코드에서 애니메이션 파라미터 값을 바꿀 수도 있다.

코드로 접근하기

 

 

포스트 프로세싱

카메라의 필터처럼 보는 화면에 효과를 부여하는 기술이다.

- 패키지 매니저에서 설치가 가능하다.

Post Processing

Post-process Layer

어떤 것만 선택해서 효과를 보여줄 지, 어떤 걸 트리거로 설정해서 포스트 프로세싱을 적용할지를 결정하는 컴포넌트이다. 

Post-process Layer

Post-process Volume

생성한 Profile을 기준으로 어떤효과를 줄 지 정할 수 있다.

- Is Global을 체크하여 월드에 효과를 줄 지 아니면 범위로만 효과를 줄 지 정할 수 있음

- Blend Distance로 거리에 따라 서서히 효과를 줄 수 있음

- Weight로 효과에 대한 전체적인 값을 조정이 가능함

- Priority로 우선 적용 값을 넣을 수 있음

Post-process Volume

 

파티클

Particle System이라는 컴포넌트로 오브젝트에 파티클 효과를 부여할 수 있다.

- 모양, 주기, 속도, 갯수 등등 여러가지를 정할 수 있음

파티클

 

 

과제 내용

내 캐릭터를 선택한 후 적이 피를 전부 잃을 때까지 각도와 힘을 조절하여 포탄을 쏘는 게임이다.

- UI와 Sprite로 제작하여 World Space 공간에서 UI와 게임 화면을 구분해 제작

- 각도와 파워가 적용된 총알 발사

- 좀비 위의 hp UI가 다 줄었을 때 씬 재시작

Tank UI

 

 

한 주 후기

 이번 주에는 애니메이션, 애니메이터, 포스트 프로세싱, 파티클에 대해서 배웠다. 내가 직접 애니메이션의 키프레임을 찍어서 애니메이션을 만들어 보기도 하고 그 애니메이션을 여러개 만들어서 애니메이터에서 조건에 따라 실행해 보기도 하고 마지막으로 코드에서 이를 조작하는 것까지 할 수 있게 되었다. 또 포스트 프로세싱을 적용하여 공포게임 같은 연출을 보여줄 수도 있고 파티클로 눈이 내리는 연출 같은 것을 만들 수 있다는 걸 알게 되었다.

 이번 주 과제를 만들면서 UI 카메라와 게임화면 카메라를 구분하여 두는 것이 제일 어려웠는데 '카메라가 왜 두 개나 필요하지?' 라는 의문과 '그렇다면 어떤 방법으로 그 화면들을 구분하지?' 하는 의문이 해결되지 않았었다. 결국엔 이것 저것 건드려보다가 답을 찾았는데 첫 번째 카메라는 Culling Mask를 UI만 체크하여 UI 요소들만 찍게 하고 Depth only를 사용하여 다른 배경들은 투명하게 만든 다음, 두 번째 카메라는 Culling Mask를 UI를 제외한 나머지 요소들을 체크하면 첫 번째 카메라는 UI 카메라로 게임 진행 중에 게임 화면 위에 떠 있어야 하는 파워 게이지 같은 요소들을 보여주고 두 번째 카메라는 게임 카메라로 총알을 따라다니고 다른 오브젝트들을 비춰주게 함으로써 둘의 사용이 구분될 수 있었다.

 이번 주의 과제도 배운 내용을 가지고 잘 적용할 수 있는 시간이 되었으면 좋겠다. 포스트 프로세싱이나 애니메이션, 파티클 시스템 모두 눈으로 보이는 재미있는 효과들을 다루기 때문에 과제를 제작하는 시간이 즐거울 것이라 예상하고 있다. 또한 이번 주 수업은 미니 프로젝트들을 만들어 보는 것인데 추가적으로 질문할 거리도 많고 '이런식으로 만들어지는 거였어?' 하는 생각이 드는 등 수업도 기대가 된다.

 다음 주도 꾸준하게 이해가 될 때까지 질문하고 고민하여 완벽히 습득하는 시간이 됐으면 좋겠다. 다음 주도 파이팅!

 

 

유데미코리아 바로가기

본 포스팅은 유데미-웅진씽크빅 취업 부트캠프 유니티 1기 과정 후기로 작성되었습니다.

+ Recent posts