TIL 20210417 [유니티]애니메이터와 애니메이터 컨트롤러

NOAH·2021년 4월 17일
0

TIL

목록 보기
37/179
post-thumbnail

공부한 것

유니티 2D 런게임 만들기
-> 애니메이터와 애니메이터 컨트롤러

유한 상태머신 상태
애니메이션 클립을 만들고 나더라도 언제 어떻게 이 애니메이터를 사용할 것인지 정해지지 않는다.

애니메이터 컨트롤러는 상황에 따라 어떤 애니메이터 클립을 사용할지 저장한 지도이며 유한 상태 머신(Finite state machine, FSM) 모델을 사용한다. 이는 한 번의, 한 상태만이 '현재 상태' 되도록 설계하는 프로그램 모델로, 다른 상태로 전이(Transition)하여 다른 상태가 현재상태가 되게한다.

게임에서 기초적 적 AI가 유한 상태 머신의 대표적인 예이다. 구현한 상태는 총 세가지 탐색, 추적, 공격이다. 현재상태가 탐색이면서 공격일 수 없고, 추적이면서 탐색일 수 없다. 하나의 상태만이 '현재 상태'이다.

상태도에서 전이(Transition)은 화살표로 표시한다.

애니메이터 컨트롤러는 FSM을 통해서 재생할 애니메이터를 결정하는 상태도를 표현하는 '에셋'이다. 애니메이터는 컨트롤러를 참고하여 객체에 애니메이션을 적용하는 '컴포넌트'이다.

따라서 게임에서 에니메이션 클립을 사용하려면 에니메이터 컨트롤러와 애니메이터 모두가 필요하다.

감사하게도 유니티에서는 애니메이션 클립을 생성할 때 Player 애니메이션 컨트롤러와 애니메이션 컴포넌트가 자동생성되어 저장되기 때문에 직접 애니메이터 컨트롤러를 만들지 않아도 된다.

  • 이코테 파이썬 1강 들으면서 예제 따라쳐보기 (1/2) 완료

n = 4
m = 4

array = [[]* m for _ in range(n)]

print(array)
    
a = [1,4,3]
print("기본 리스트: ", a)

a.append(2)
print("삽입: ", a)

a.sort()
print("오름차순 정렬", a)

a.sort(reverse = True)
print("내림차순 정렬", a)

a.reverse()
print("원소 뒤집기 ", a)

a.insert(2,3)
print("인덱스 2에 3 추가: ", a)

print("값이 3인 데이터 개수 : ", a.count(3))


a.remove(1)
print("값이 1인 데이터 삭제", a)

a = [1 ,2,3, 4, 5, 5, 5]
 
remove_set = {3, 5}

result = [i for i in a if i not in remove_set]
print(result)

t = "Hello World"
print(t)
a = "Hello"
b = "World"

print(a + " " + b)
a = "String"
print(a*3)
a = "ABCDEF"
print(a[1:3])
print(a[2])


a = (1, 2, 3, 4, 5, 6, 7, 8, 9)


  • 교수님 컨택메일 및 언급할 점 생각해보기
    내가 생각하는 제조업에서 디지털 트윈이란 21세기버전 '현장 중심' 경영이다.

현장 중심 경영이란 말은 색다른 말이 아니다. 이미 몇십년 전부터 현장을 잘 알아야 한다는 것은 정설이었다. 문제는 회의 현장에서 실제로 각 사람들이 생각한 현장에는 자신의 주관이 들어가기 떄문에 단어는 같지만 떠올리는 현장은 모두 각기 달랐다.
'디지털 트윈으로 구현된 가상 현장'을 눈앞에 실시간으로 렌더링된 현장상황을 통해 탁상공론이 아닌 실질적인 대안을 마련할 수 있는 소통의 장을 마련해준다.

공부할 것

  • 자기주도 C 형성평가 12 장 나머지
  • 이코테 파이썬 1강 들으면서 예제 따라쳐보기
  • 자료구조 하노이트리 공부하기
  • Console game 변형하기

0개의 댓글