이번주는 크게 Animation 개괄, Particle system 개괄로 나누어 수업이 진행되었다.
Animation
애니메이션을 넣고 싶은 오브젝트를 생성 후 Animator를 컴포넌트로 추가한다.
이후 애니메이션을 추가하고 싶은 오브젝트를 선택 후 Ctrl 6을 누르거나 Window-Animation-Animation을 선택한 뒤 Create를 통해 Animator와 Animation을 만들 수 있다. 설정한 이름은 애니메이션의 이름으로 들어간다. 특별히 설정해주지 않아도 해당 오브젝트 Animator 컴포넌트의 controller 부분에 현재 만든 애니메이션의 controller가 자동으로 들어간다.
Animation 오른쪽의 함수는 Sampling rate으로 초당 프레임 몇개를 사용할지를 정할 수 있다. 안 보이면 오른쪽 상단 x버튼 아래 점 3개짜리 메뉴를 눌러 Show Sample Rate을 체크하자.
타임라인 상에서의 이동은 시간대(Frame 보기로 되어있을 경우 프레임 수)를 클릭하는 것으로 가능하다. 아니면 30이라 적혀 있는 부분에 프레임 숫자를 입력하는 것으로도 타임라인 이동이 가능하다.
참고로 Position, Rotation 등의 값을 수정할 때는 현재 선택된 타임라인(프레임)을 반드시 잘 확인하고 수정해야 한다. 값을 수정한다면 흰 선에 해당하는 현재 프레임, 현재 시간대가 변경됨을 기억하자.
만약 이미 만들어진 animation clip을 사용하고자 한다면?
이 경우에는 Animator controller만 새로 생성(우클릭-Create-Animator Controller)한 다음 그 Animator를 오브젝트의 컨트롤러로 넣어준 뒤 Animator를 열어 그 안에 이미 만들어져 있는 Animation clip을 드래그 & 드랍 해서 사용하면 된다.
Particle System
파티클 시스템, 가루 뿌리기 같은 효과다. Hierarchy 창에서 우클릭-Effects-Particle system으로 쉽게 만들 수 있다.
만들면 흰 민들레 씨인지 불빛이 하늘로 날아가는 모습으로 나타난다.
생성된 Particle system을 클릭하고 오른쪽 Inspector 창에서 여러 속성을 설정할 수 있다. 참고로, 가장 아래 속성인 Renderer가 꺼져 있다면 파티클 시스템이 작동하지 않는다. 또한 Renderer의 Material 부분에 Legacy Shader를 넣어주면 생성되는 파티클의 모양이 바뀐다.
Particle System
duration: 파티클을 뿌리는 데 걸리는 시간
looping: 반복할지 말지 설정. Loop을 해제할 경우 duration 동안만 파티클을 생성하고 그 이후에는 없어진다.
start delay: 몇 초 뒤에 파티클 생성을 시작할 것인지 설정
start lifetime: 만들어진 파티클의 수명. 길수록 파티클 이미지가 오래 남아있을 것.
start speed: 시작 속도인데 속도가 클수록 더 멀리 파티클을 보낼 수 있다.
start size: 파티클이 생성되기 시작할 때의 초기 크기.
3D start size: 선택할 경우 1,1,1 정방형의 파티클 생성된다. 2D였던 파티클이 3D로 바뀌는 셈.
3D start rotation: 체크하면 모든 방향, 체크 해제되면 z 방향만 회전한다.
flip rotation: 뒤집히는 효과.
start color: 시작하는 초기 색
gravity modifier: 어떤 모양으로 방사할 것인지. 1로 설정하면 중력의 영향을 받는 파티클 설정 가능함.
simulation space: 특정 부모가 있을 때의 차이. 부모의 transform에 적용해서 파티클 생성할 것인지, 아니면 부모 상관 없이 모든 지역에 파티클 사용할지.
max particles: 최대 생성할 수 있는 파티클 개수. 파티클은 최대 개수까지만 생성되고, 파티클의 lifetime이 지나 기존 파티클이 소멸해 최대 개수를 넘지 않는 경우에만 새로운 파티클이 생성될 수 있다. 테스트해보고 싶으면 매우 작은 값(10개)으로 설정하고 플레이해보면 10개가 생성된 뒤 파티클 생성을 멈췄다가 particle lifetime이 지나고 나서야 새로 10개를 생성하는 모습을 볼 수 있다.
Auto Random Seed: 랜덤 시드를 항상 자동으로 설정. 그게 싫다면 체크 해제하고 시드 값을 주면 됨.
Stop action: 파티클 멈출 때 없애버릴지 그냥 끄기만 할지 등등…? 잘 모름
Culling mode: 최적화 관련 옵션
Open editor 눌러서 파티클 시스템 수정 가능.
Emission 발생 빈도
파티클을 뿌리는 시간당, 거리당 양(rate)을 결정한다. 상수로 직접 설정할 수도 있고, 두 상수 사이 랜덤값, 커브값, 두 커브 사이 랜덤 등 옵션을 설정할 수 있다.
rate over time. 시간 당 개수. 단, max particle의 개수는 넘어가지 않음.
rate over distance. 거리에 따라 얼마나 생산할지. 파티클이 생성 위치로부터 설정한 거리에 도달하면 다음 파티클을 생성.
bursts: 시간에 따라 (time) 몇 개(count)의 파티클 생성할 것인지 확률을 주어 burst 일어나는 빈도 설정 가능. 한번에 확 파티클 뿌렸다가 잠잠해졌다가 갑자기 또 확 뿌릴 수도 있음. 말 그대로 burst.
Shape
Shape 파티클이 생성되어 뻗어나가는 모양을 결정한다.
그 외에도 다양한 속성이 있는데 간단히만 짚고 넘어가면
Velocity over Lifetime 파티클이 살아있는 동안 시간이 갈수록 어떤 속도로 움직이게끔 할지 설정. Linear 설정을 constant로 하면 상수 값 그대로 들어가고 시간에 따라 반영값 변화 주고 싶으면 curved로 설정. orbital 곡률을 줄 수 있음. speed modifier 속도 곱셈.
Limit Velocity over Lifetime 위에서 정한 속도 값에 dampen이나 drag 값 설정을 통해 제한 줌.
Lifetime by Emitter Speed 파티클 생성할 때의 속도로 lifetime 설정
Force over lifetime 물리적으로 주는 속도. 값을 크게 주면 파티클이 아래로 떨어짐.
Color over Lifetime 시간에 따라 색 변하게 하는 것도 가능.
Size over Lifetime 시간에 따라 파티클 크기 변하게끔. 크기는 왼쪽 숫자를 설정해 더 크거나 작게 만들 수 있음.
Color by Speed 속도에 따라 색 변함.
External force 외부 강체 있을 때 충돌 감치하고 바람의 영향을 받는 구역을 설정할 수 있음.
Noise 노이즈 텍스처 정의하고 strength, frequency 설정 값에 따라 더 심한 노이즈 줄 수도 있음.
Sub Emitters 파티클 시스템 하위에 자식으로 또 다른 파티클 시스템이 들어가 있을 경우, 필요에 따라 다른 파티클 시스템의 emission을 제어할 수 있음. 새 파티클을 만들게 하거나, 파티클이 죽었을 때 새로운 파티클이 생성되게 하거나, 파티클이 충돌할 때 새로운 파티클이 생겨나게 할 수 있음.
Texture Sheet animation sprite 모드로 설정. 이미지를 sprite로 설정 후 mode 아래 필요한 이미지를 집어넣음.
후기
Animation은 써 본적이 있지만 남이 만들어놓은 것만 가져다 써봐서 아직 잘 모르겠다. Particle system은 Material을 생성해서 Mobile/Particle 등으로 변경한 후 2D 이미지 등을 albedo에 넣어 사용해야 했는데 이 부분을 몰라서 좀 헤맸다. 결국 헤매는 부분은 질문 / 구글링 / 복습 밖에 답이 없다.
전반적으로 이번주는 진도가 굉장히 빨랐다. 사실 각 속성에 대한 설명이어서 흘려 들었어도 되는데 하나하나 놓치지 않고 들으려다보니까 더 진도가 빠르게 느껴졌다.
게다가 자리가 바뀌면서 강사님이 어떤 옵션을 선택하는지 잘 안 보인다. 줌 화면 봤다가 유니티 켰다가 왔다갔다 하면서 보면 정신도 없고 미칠 노릇이다. 듀얼 모니터를 쓸 수 있었으면 한쪽에 줌 켜놓고 다른 모니터에서 유니티로 작업할 텐데 책상이 좁다보니 그렇게는 어렵고... 결국 수업시간에 다시 보여달라고 요청하거나 옆사람한테 물어보거나 둘 중 하나인데 진도가 빨리 나가다보니 옆사람 방해하는 느낌이 들어서 옆사람에게 묻기도 쉽지 않다. 다음부터는 못 보면 그냥 강사님께 한 번 더 보여달라고 말해야지.
유데미코리아 바로가기 : https://bit.ly/3b8JGeD
본 포스팅은 유데미-웅진씽크빅 취업 부트캠프 유니티 1기 과정 후기로 작성되었습니다.
새로운 가능성의 시작, 유데미 x 웅진씽크빅
글로벌 최신 IT 기술과 실무 교육을 입문부터 심화까지! 프로그래밍, 인공지능, 데이터, 마케팅, 디자인 등 세계 최고의 강의를 경험하세요.
www.udemykorea.com
댓글