앨리스의 애니메이션 #2

1.4

타이밍은 대충 맞췄다. 애니메이션 심화학습단계로 진입하자. 블렌더를 사용한지는 2년이 넘었지만, 사실 맥스에서 블렌더로 넘어오기 가장 힘들었던 부분이 바로 이 애니메이션 부분이다. 바이패드와 ARP는 시스템이 매우 다르다. (처음엔 Rigify를 사용했지만, 시스템이 다르기는 마찬가지다.)

블렌더의 애니메이션 시스템 중 가장 힘들었던 점은 팔다리의 제어다. 바이패드는 FK/IK구분 없이 움직임은 무조건 IK기준으로 제어할 수 있다는 장점이 있다. 툴에 익숙해지기만 한다면 이것은 상당한 장점이 된다. 작업이 빠르다. 하지만 다른 툴로 전향하고자 한다면 이것은 도리어 약점이 된다. FK/IK 적응이 상당히 힘들다. 팔다리 움직임의 중요성이야 말할 것도 없는데, 이것이 불편하다면 블렌더가 좋게 생각되겠는가?

하지만 돌아갈 수 없다. 컴퓨터를 새로 바꾼 후에 맥스는 깔지도 않았다. 그렇게 작정하고 덤비니 …오. 바이패드보다 좋은 점도 상당히 많아 보인다. 뭐, 이제 시작이긴 하지만 역시 사람은 적응의 동물이다. 확실하다. 맥스의 시대는 갔다.

익스포트한 데이터의 목이 달랑거리는 문제가 있다. 이걸 해결해야 한다.

1.5

처음엔 머리가 달랑거리는 원인으로 제약조건이 잘못설정되어 있을 것으로 생각했다. 난 기본값을 건든 기억이 없지만, 작업을 하다보면 나도 모르는 새에 무언가를 건드리기 마련이다. 하지만 기본값은 모두 깨끗했다. 도무지 원인을 파악할 수 없어 빙챗에게 물어봤는데 역시 뾰족한 해결책을 내려주지는 않았다.

하지만 AI와의 대담(?)중 메모리 부족이 아닐까요? 하는 이야기에 실험을 해보기로 했다. 그런데 놀랍게도 그게 맞다! 머리카락 본을 모두 지우고 익스포트를 하게 되면 머리가 달랑거리는 현상은 일어나지 않았다. 그러고보니 이전에 대규모씬을 작업할 때에도 머리가 항상 한템포 늦게 따라오는 현상이 있었다. 메모리?! 캐릭터가 하나밖에 없는데 메모리라고?! 데이터가 크긴 크구나.

익스포트하자고 머리카락을 지울 수는 없는 노릇이다. 상상도 못한 정체에 약간 멘붕이 온다. 이번 문제는 주관식이다. 어떻게 할까. 좀 더 정밀한 테스트를 진행해보니 머리에 연결된 본이 32개 이상이면 딜레이 현상이 발생한다. 딱 32에서 걸리는 걸 보면 메모리 문제가 아닐 것 같다는 생각도 든다. 애드온 코드를 살펴보니 저세상 난이도이다.어..으..

물리적으로 해결해보기로 했다. 머리가 달랑거릴 여지를 주지 않도록 본의 부모를 바꾸도록 하자.

  • head.x 의 부모를 c_head.x → neck.x로 변경한다.
  • 그런데 이러면 머리가 컨트롤러를 안따라가니까 head.x가 컨트롤러를 따라가도록 Rotation_Copy(World)를 준다.

해결했다. 목에 완전히 Connect해버렸기 때문에 이제 목을 늘이는 처리가 안된다. 전혀 상관없지. 스키비 토일렛이라도 만들지 않는 이상은.

(한 때 사촌조카로부터 구전되어 내 정신을 오염시켰던 스키비 토일렛)

오늘의 깨달음. 키 사이에 얇은 줄이 그어져 있는 경우는, 프로퍼티의 값에 애니메이션이 들어가 있을 경우를 뜻한다.

앞으로 걷기. 오늘은 여기까지

1.6

착지 및 점프 준비. 순간적인 동작이지만, 없으면 안된다.
뒤로 걷기
제자리 점프

앞으로 점프. 앨리스는 큰 차이가 없지만, 스피드형 캐릭터는 공중제비등으로 차이를 줄 수 있다.

앉기

이 쯤에서 한 번 익스포트해서 느낌을 보자.

조금 뻣뻣한 느낌이 든다. 좀 더 유연할 필요가 있어보인다. 수정해보자.

1.7

어셋브라우저의 블렌드 포즈는 정말 편하다.

오늘의 깨달음.

쿼터니온과 오일러는 정해진 답이 없다. 그냥 모션마다 유리한 방식이 있으니 그에 맞춰서 키를 주자.

짠손 파파파파파파팟

강손

게임에 넣어봤더니 타이밍이 영 마음에 들지 않는다. 기획상 강펀치와 킥은 캐릭터마다 어느 것이 더 강한지에 대한 근소한 차이는 있지만 기본적으로 같다고 가정하고 제작하고 있다. 때문에 딜레이가 꽤 길어도 괜찮다고 생각했지만 정작 유니티에 넣어보니 중요모션은 10프레임 이내에 끝나야 자연스럽다. 짠손은 겨우 4프레임이다!

게다가 강손은 점프강손과 이미지가 너무 겹치는 감이 있다. 다시 만들어야 할 것 같다. 하지만 오늘은 타임오버. 내일 다시 제작해보자.

1.8

앨리스의 강베기 변경. 이 동작은 검기가 없으면 조금 빈약해 보인다.

쿼터니온과 오일러가 생각보다 많은 충돌을 일으킨다. 작업을 하다보니 중요관절에 오일러를 사용하는 경우는 생각보다 드물다. 그렇다고 또 모든 관절을 쿼터니온으로 바꾸자니 일이 커진다.

오퍼레이터가 필요하다.

그래서 만든 액션 초기화. 이 버튼의 기능은 새로운 액션을 추가하고 페이크유저로 바꾼 후, 중요관절에 현재 있는 그대로의 로테이션 모드 키를 넣어준다.코드자체는 chatGPT가 짜주니까 어렵지 않았는데, 몇가지 이유로 fcurve의 group이 지정되지 않는 문제가 있어서 이 원인을 찾느라 시간이 한참 걸렸다.

결국은 이거 하나밖에 못했다. 내일은 검기를 달아보자.

앨리스의 애니메이션 #2”의 2개의 생각

댓글 남기기