앞에 글에서 이어지는 내용이다. 나는 문외하게 접근했지만 모션 캡쳐 업계에서도 손은 따로 돈을 받을만큼 꽤 정교한 것들이 많이 필요하다는 것을 알아차린 후에는 이미 늦었다. 유의미한 시각적 피드백 내용을 완성해야만 했다..
2025.07.25 - [분류 전체보기] - about Animating #1
about Animating #1
크래프톤 정글 8기에서 진행하는 나만의 무기 만들기 프로젝트 내용으로 모션 인식 서비스를 개발하게 되었다. 우리의 모션 인식은 손을 주된 내용으로 구성하고자 하였기 때문에 시범을 위한
hyeonistic.tistory.com
내 생각은 엄청 거창했었다.
나는 Blender를 통해 실제 손 모양을 만들고, 이를 재생 시키는 숙련된 시범의 시연으로 쓰려고 했다. 손을 만드는데는 문제가 없었다. 하지만 주어진 데이터로 대체 뭘 어떻게 계산 처리를 해야 할 지 딱 떠오르는 생각도 없었고 딱 확답 할 수도 없었다. 주어진 데이터는 Landmarks들, 그게 끝이었다.
Mediapipe의 Landmarks는 단순히 위치 값들을 담고 있다. 내가 쓰고 싶은 손의 뼈는 회전 값을 위주의 값이 훨씬 더 중요시 된다. 따라서 각각의 점 두 개, 그 [x y z]의 변동에 따라 모델의 회전을 전부 계산해야한다. 토씨 하나 안틀리고 그렇게 하는건 불가능했다. 의존이 있는 회전에 대해서도 고려해야 할게 산더미였다.
우선은 차선책으로, 주로 사용하는 라이브러리인 Three.js에 각 단일 좌표 값 사이에 선을 긋는 개념을 생각했다. 하지만 말 그대로 선이었다.
이딴걸 서비스 할 순 없었다.
다행히 손가락스러운 표현을 할 수 있는 CylinderGeometry 를 사용 하니 볼만한 모양이 되더라.
엄지도 구분이 되고, 그냥 보면 얼추 따라할만 하다 싶은 느낌이 되니, 욕심이 좀 놔지는 것 같았다. 하지만 해결 할 것은 MVP 시연 이후 바로 생겨버렸다.
좀 잘 보이던가
- 캔버스 크기를 비롯한 전반적인 사이즈 조정하기
- 미적 감각을 한번 활용해보겠다고 애니메이션이 보일 캔버스의 크기를 동일하게 했었다. 하지만 이로 인해 시각적 교육이 약하다는 팀 내 피드백이 있었다. 애니메이션이 실질적으로 재생되는 영역에 맞춰 캔버스 비율을 조정하는 동시에 다소 확대해서 이에 대한 피드백을 반영 하려고 했다.
- 손의 애니메이션이 깜빡깜빡 거리면서 출력 되는 경우 해결하기 + 손의 근본적 자세 오류 해결 하기
- 두 가지를 동시에 적었는데 이 두 가지는 일련의 과정을 통해 해결 될 수 있다고 판단 했기 때문이다 :
- 단일 파일에 대한 랜드마크 파일을 보간한다.
- 보간한 것끼리 적당히 알잘딱갈센으로 맞춰서 정규화한다.
좀 더 보이던가
- 팔, 어깨, 머리까지 보이는 영역을 확장
- 나는 영상을 입력으로 넣으면 출력으로 일련의 랜드마크 모음이 한 파일로써 나오는 파이프라인을 만들었고 그 내용에는 팔과 어깨도 내용에 포함된다. 하지만, Mediapipe의 의도인건지 팔과 손은 또 떨어져있는 모양새이다.
현재의 시연에서는 손만 보이도록 하고 그 외의 신체 영역은 전혀 보이지 않도록 처리 했기 때문에, 깔끔하게 보이지만 또 그 만큼 제공 할 수 있는 정보는 적어질 수 밖에 없다.- 팔이나 어깨처럼 단일 영역에만 보이게 하는 등의 방법도 생각 해 볼 수 있고 조금의 수작업이 필요 할 뿐 유의미하게 할 수 있다. 하지만 그런것보다 보다 근본적인 해결이 필요하다고 생각해서 Blender를 다시 만지작거리고 있다. 현재 딱 내 요구에 맞춰진 플러그인인 BlendArMocap을 활용해보려고 하는데, 이에 대한 진척이 있으면 다시 글을 적어보겠다.
- 현 상황에서 이에 대한 내용은 특별히 개선 할 수 없다. 다만 중요도 있는 내용들을 끝내면 반드시 다룰 것 이다.
- 나는 영상을 입력으로 넣으면 출력으로 일련의 랜드마크 모음이 한 파일로써 나오는 파이프라인을 만들었고 그 내용에는 팔과 어깨도 내용에 포함된다. 하지만, Mediapipe의 의도인건지 팔과 손은 또 떨어져있는 모양새이다.