8월, 2026의 게시물 표시

손 하나로 캐릭터의 말이 바뀝니다

이미지
걷는 자세가 감정을 말한다는 글을 앞서 썼습니다. 손도 그렇습니다. 같은 몸, 같은 얼굴이어도 손가락이 어떻게 놓였느냐에 따라 캐릭터가 하는 말이 바뀝니다. 편 손은 "여기 있다"이고, 주먹은 "준비됐다"이고, 검지 하나는 "저기"입니다. 3ds Max의 Biped 손 포스처 34장을 BVH로 구워 뷰어에 올렸습니다. 아래는 그중 여덟입니다. 사진은 전부 뷰어에서 마네킹에 얹어 찍은 것이고, 손가락 마디 각도는 Max에서 잰 값을 그대로 적었습니다. 편 손 검지 0도, 중지 4도, 소지 5도. 기준이 되는 자세입니다. 가장 곧은 포즈입니다. 다른 33장은 전부 이 손에서 얼마나 굽혔는가로 기록됩니다. 뷰어에서 왼손, 오른손, 양손을 고를 수 있는데, 파일은 오른손 하나이고 왼손은 열 때 거울로 만듭니다. 34장이 102장이 되는 것을 피하려는 선택이었습니다. 주먹 검지 87도, 중지 93도, 소지 92도. 손가락 세 마디가 다 접힙니다. Max에서 굽힌 각을 그대로 옮기면 웹에서 손가락이 반대로 젖혀지는 일이 있었는데, 그 원인이 이 주먹이었습니다. 굽는 기준 자세가 주먹이어서 편 손이 "주먹에서 얼마나 폈나"로 기록됐고, 자식 뼈가 없는 끝마디만 그 값을 되돌릴 방법이 없었습니다. 이 이야기는 따로 적었습니다 . 가리키기 검지 3도, 나머지 90도 넘게 접힘. 검지 하나만 펴고 나머지를 접습니다. 애니메이션에서 가장 많이 쓰는 손 중 하나인데, 손가락 하나만 다르게 두는 자세라 리타게팅에서 가장 먼저 무너지는 손이기도 합니다. 손목 둘레 회전이 조금만 어긋나도 검지가 엉뚱한 방향을 가리킵니다. 소지만 접기 소지 100도, 나머지 2도 이하. 네 손가락 중 하나만 접은 손입니다. 편 손과 거의 같아 보이지만 소지 하나로 손이 긴장한 것처럼 읽힙니다. 이런 미세한 차이가 34장을 따로 두는 이유입니다. 엄지만 접기 ...

손가락 끝마디만 반대로 꺾였는데, 검증은 두 번 다 통과했습니다

이미지
Max에서 손 포즈 34장을 BVH로 구워 웹 뷰어에 올렸습니다. 첫째 마디와 둘째 마디는 Max와 똑같이 나오는데 끝마디만 손등 쪽으로 100도 넘게 젖혀져 있었습니다. 편 손이 갈고리처럼 보였습니다. 배포 전에 골격 검증을 돌렸습니다. 원본 골격과 새 골격의 관절 위치를 전부 견주는 검증이고, 결과는 오차 0.0도였습니다. 리타게팅이 소스를 얼마나 정확히 재현하는지도 쟀습니다. 마디 셋 전부 방향 차이 0.0도였습니다. 그런데 화면에서는 끝마디가 반대였습니다. 세 겹을 벗겨야 나왔습니다 처음에는 리타게팅을 의심했습니다. 손목 둘레 회전을 아무도 안 맞추고 있어서 실제로 결함이 있었고, 손가락 정렬 쌍을 넣어 고쳤습니다. 끝마디가 여전히 꺾여 있었습니다. 다음에는 끝마디 자체를 봤습니다. 끝마디는 다음 뼈가 없어서 방향을 맞출 대상이 없습니다. 가상 손끝을 추정해 넣었습니다. 여전히 꺾여 있었습니다. 리타게팅을 정확하게 만들수록 끝마디가 더 정확하게 꺾였습니다. 여기서 방향을 바꿨습니다. 옮기는 쪽이 아니라 옮겨지는 자료 자체 를 봤습니다. 원인은 파일 안에 있었습니다 Max에서 포즈를 구울 때 기준 자세가 주먹이었습니다. BVH 채널은 기준 자세로부터의 변화량이라, 모든 마디의 값이 주먹에서 얼마나 폈나 로 기록됩니다. 편 손이면 마디마다 -100도 안팎의 큰 값이 들어갑니다. 이 자체는 문제가 아닙니다. 자식이 있는 마디는 기준 자세의 굽힘이 자식의 위치(OFFSET) 에 남습니다. 채널의 -100도와 OFFSET의 굽힘이 합쳐져 원래 자세가 정확히 복원됩니다. FK를 돌리면 Max와 똑같은 자리에 관절이 섭니다. 끝마디는 다릅니다. 자식이 없습니다. 기준 자세의 굽힘이 파일 어디에도 남지 않습니다. 남는 것은 채널의 -100도뿐입니다. 곧게 이은 손끝에 -100도를 돌리니 손등 쪽으로 젖혀집니다. 같은 -100도 채널이 둘째 마디에서는 자세를 복원하고, 끝마디에서는 뒤로 젖힌다. 차이는 자식 뼈의 유무 하나다...

걷는 모습만 봐도 기분이 보입니다

이미지
멀리서 아는 사람이 걸어오는데 얼굴이 안 보여도 오늘 기분이 안 좋구나 싶을 때가 있습니다. 어깨가 처졌거나, 발걸음이 평소보다 무겁거나, 팔이 안 흔들리거나 해서입니다. 우리는 그걸 배운 적이 없는데도 알아봅니다. 3D 캐릭터도 마찬가지입니다. 얼굴 표정을 아무리 잘 만들어도 걸음걸이가 밋밋하면 감정이 안 실립니다. 반대로 걸음만 제대로 잡아도 표정 없이 감정이 읽힙니다. 그래서 같은 사람이 기분만 바꿔서 걷는 자료를 모아 봤습니다. 무엇이 실제로 달라지는지 재 봤더니 생각보다 명확했습니다. 먼저 기준이 되는 걸음 평범한 걸음 한 주기를 열두 장으로 나눈 것입니다. 나머지는 전부 이것과 견줍니다. 특별할 게 없는 걸음입니다. 상체가 곧게 서 있고 팔이 자연스럽게 흔들립니다. 이걸 기준으로 두면 다른 걸음이 무엇을 바꿨는지 보입니다. 화가 나면 빨라지고 앞으로 기웁니다 화난 걸음 한 주기. 상체가 앞으로 나간 채 발이 바닥을 찍습니다. 재 보니 상체가 앞으로 13.9도 기울어 있었습니다. 평범한 걸음이 2.9도니까 다섯 배 가까이 굽은 셈입니다. 발걸음도 빨라집니다. 보통 초당 1.5걸음인데 화난 걸음은 초당 3.9걸음 입니다. 두 배가 넘습니다. 몸을 앞으로 던지듯 걷기 때문에 자연스럽게 빨라집니다. 우울하면 고개가 먼저 떨어집니다 우울한 걸음 한 주기. 고개가 숙여지고 팔이 힘없이 흔들립니다. 화난 걸음과 우울한 걸음은 둘 다 상체가 앞으로 기웁니다. 화난 쪽이 13.9도, 우울한 쪽이 11.2도로 비슷합니다. 그런데 보는 사람은 절대 헷갈리지 않습니다. 속도가 다르기 때문입니다. 우울한 걸음은 초당 1.7걸음으로 평범한 걸음과 비슷하게 느립니다. 앞으로 기울었는데 느리면 지쳐 보이고, 앞으로 기울었는데 빠르면 화나 보입니다. 당당하면 등이 펴집니다 당당한 걸음 한 주기. 등이 곧고 보폭이 일정합니다. 당당한 걸음의 상체 기울기는 3.7도 였습니다...