Unity 강의/Unity Course(2) - 절대강좌! 유니티

[Unity Course 2] 06. 적 캐릭터 제작 1

첨부엉. 2024. 6. 21. 15:32
반응형
위키북스 출판사 이재현 저자님의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다.

 

유한 상태머신의 정의 (FSM; Finite State Machine)

: 적 캐릭터가 스스로 알아서 주변 환경에 적응하거나 들어오는 반응에 적절하게 반작용하도록 구현한 것

유한 상태 머신 개념도

 

FSM의 단점은 상태가 많아질수록 상태와 상태 간의 연결이 복잡해지고 코드의 확장과 유지 보수가 어려워짐

이런점을 개선하기 위한 방식은 계층적 유한 상태 머신 (HFSM; Hierachical Finite State Machine), 행동 트리 (BT; Behaviour Tree)

메카님

리타게팅 기능을 제공하여 인체형 모델의 필수 본 구조와 일치하면 다른 모델의 애니메이션이나 모션 캡처 애니메이션을 바로 적용 가능

 

- 노드 기반의 Visual Editor

- 세밀한 애니메이션 처리

- 리타게팅을 통한 애니메이션 적용

 

메카님은 시각적인 설계 방식(WYSIWYG) 의 에디터 제공

적 캐릭터 3D 모델 임포트

 

애니메이션 타입 특성
레거시 유니티 4.0 이전에서 사용하던 애니메이션 시스템
제너릭 메카님 애니메이션(비인간형 모델), 리타게킹 불가
휴머노이드 메카님 애니메이션(인간형 모델, 2족 보행 모델), 리타게팅 가능

 

휴머노이드로 변경하고 Apply

Configure 앞에 체크 표시가 되어 있어야 한다.

실선으로 돼 있는 원은 필수로 연결해야 하는 본으로 총 15개가 있음 

점선으로 된 원은 추가적인 본으로 연결하지 않아도 무방

Muscles &  Settings에서 각 관절의 정상적인 동작 여부를 슬라이더로 조절하며 시각적으로 확인할 수 있음

Per-Muscle Settings에서는 각 관절이 회전할 수 있는 최소 각도와 최대 각도의 범위를 설정

 

애니메이션 클립 속성

Loop Time : 애니메이션 클립을 무한반복하는 옵션

Loop Pose : 애니메이션을 반복할 때 끊김 없이 부드럽게 해주는 옵션

 

idle, walk, attack 애니메이션은 Loop Time 을 체크하고 나머지는 체크하지 않음

애니메이션 리타게팅

다른 애니멩션 동작을 가져와 재사용하는 기능

https://www.mixamo.com/

 

Mixamo

 

www.mixamo.com

 

이 사이트에서 gangnam을 검색해서

몬스터의 fbx 파일을 넣어 적용해보면 미리보기로 확인할 수 있다.

미리 받아져 있는 gangnam을 이용해 만들어 보자

이 애니메이션도 Humanoid 로 변경

Loop Time 체크하기

드래그하면 프리뷰로 볼 수 있음

Animator 컴포넌트

 

몬스터 모델을 드래그 앤 드롭

플레이어와는 다르게 몬스터는 Animator 컴포넌트가 자동으로 추가 되어있는 모습을 확인할 수 있는데 메카님이기 때문이다. 구분할 줄 알아야됨

컴포넌트 애니메이션 타입 세부 옵션
Animator 메카님 애니메이션 제너릭
휴머노이드
Animation 레거시 애니메이션   

 

Animator 속성

속성 설명
Controller 애니메이션 클립 간의 연결 정보를 저장한 Animator Controller를 연결
Avator 해당 모델의 본 매핑 정보를 저장한 Avator 에셋을 연결
Apply Root Motion 애니메이션 클립에 저장된 위치와 회전값에 대한 적용 여부
Update Mode 애니메이션의 갱신과 Time Scale의 적용 여부에 대한 설정
- Normal : Update 주기와 동기됨, 애니메이션 속도는 Time Scale 의 영향 미침
- Animate Physics : FixedUpdate 주기와 동기됨 Rigidbody와 상호작용할 때 사용
- Unscaled Time : Update 주기와 동기됨 애니메이션 속도는 Time Scale의 영향미침
Culling Mode 애니메이션 클립의 동작 정지에 대한 설정
- Always Animation : 항상 애니메이션을 실행하는 옵션으로 렌더링 하지 않아도 동작함
- Cull Update Transforms : 렌더링 하지 않을 때 Transform, IK, Retarget 기능을 정지
- Cull Completely : 렌더링 하지 않으면 애니메이션의 모든 기능 정지

 

반응형