Super Kawaii Cute Cat Kaoani DeepMotion: Animate 3D (4) - character retargeting과 관련된 조사 보충

연구/DeepMotion

DeepMotion: Animate 3D (4) - character retargeting과 관련된 조사 보충

치킨고양이짱아 2023. 6. 12. 19:01
728x90
728x90

DeepMotion의 Animate 3D와 호환되는 캐릭터들을 찾다가 뭔가 정보가 부족한 느낌이 들어 character retargeting과 관련된 조사를 조금 더 해보았다.

 

1. Animation retargeting이란?

custom character를 upload하여 만든 animation을 원하는 character에 부여할 수 있는 것을 의미한다.

 

2. Custom character를 uploading하는 것이 중요한 이유는 무엇일까?

UnityUnreal 같은 게임엔진은 auto mapping algorithms이 잘 되어있기 때문에 retargeting이 쉽다. 하지만 blender와 같은 소프트웨어에서는 retarget이 쉽지 않다. 따라서 결과 자체가 custom character에 retarget 되어있다면 animation을 character에 바로 사용할 수 있으므로 상당히 시간이 단축되게 된다.

 

3. Custom character가 어떻게 rigged 되어야하나?

일반적으로 우리가 사용하는 humaniod model은 Animate 3D에 정확하게 맞춰져있지 않기 때문에, 수정되어야할 부분이 조금씩 있다. 이런 부분들은 Animate3D에서 경고를 띄워주긴 하지만, 그래도 어떤 부분을 맞추어줘야하는지 살펴보자.

<body 관련>

1) General

  • 파일이 깨끗할수록 좋다. animation이나 enviorment models과 같은 정보 없이 character mesh와 rigging information만 .fbx 또는 .glb 파일에 담는 것이 좋다.

2) Character

  • upload file에는 한 character만 담겨있어야한다.

3) Pose

  • model의 default pose는 T-pose여야한다.

4) Joint Names

  • joint 이름은 모두 unique해야한다.
  • 이름에는 공백이 없어야한다!! (중요)

5) Rotation Order

  • joint rotation order로 XYZ를 사용하는 것을 추천한다.
  • 만약  XYZ rotation order로 되어있지 않은 joint의 rotation order는 XYZ로 바뀌게 된다.

6) Joint Scale

  • joint에 스케일을 적용하는 것을 피하는 것을 추천한다.
  • 만약 필요하다면, 전체 skeleton을 scale up하고, root node까지 같이 scale up 시켜라.

7) Size

  • 모델은 human proption으로 scaled되어야한다.
  • 키는 약 1.7m 근처여야한다.

8) Rig Hierarchy

  • root joint가 하나여야한다. 따라서 다음과 같은 구조에서는 동작하지 않는다.

 

  • skin이 joint type이 아닌 노드(ex: Maya locator)에 bound되어있는 경우, 이 노드는 처리 과정에서 skip되어 문제가 발생하게 된다. 따라서 non-joint type node를 hierarchy 중간에 넣지 마라.

ex) 이렇게 중간에 joint type이 아닌게 섞여있으면 wrong result를 발생시키게 된다.

ex) 아래와 같이, 중간에 섞여있는게 아니라면 괜찮다.

  • model은 following hierarchy의 required joint를 모두 가지고 있어야한다. (joint 이름이 같을 필요는 없다!)
  • 그리고 사진에 나타낸 숫자는 joint와 그 joint child 사이의 허용된 joint level이다.
  • 예를 들어 사진에 Left Hip(2)라고 되어있는데, 그림처럼 Left Knee가 Left Hip의 직속 child여도 되고, Left Knee가 Left Hip의 child의 child여도 된다는 뜻이다. joint level이 2까지 차이나는 것을 허용한다.

 

<face 관련>

1) Blendshapes

  • 39 ARKit blendshape below에 있는 custom character라면 모두 사용가능하다. 원한다면 full standard 52 Blendshapes를 가진 character도 사용가능하다.
  • model의 blendshape 이름을 ARKit standard과 정확히 똑같게 해야한다. (만약 똑같지 않다면 Aniamte 3D에 upload하기 전에 이름이 같도록 수정해라.)

2) Joint setup

  • 캐릭터가 head joint두 개의 eyeball joint를 가지도록 해야한다.
  • eyeball joint는 eyeball mesh의 rotation을 control할 수 있어야한다. 그리고 default로 바로 앞을 보도록 해야한다.

3) full-body humaniod character

  • face만 있는 model은 사용할 수 없다. full body custom character만 지원한다.

 

4. DeepMotion + Wolf3D: Create Personal Avatars & Animate Them With AI

DeepMotion과 Wolf3D, In3D가 파트너를 맺어서 Animate 3D에 사용하는 custom character를 더 쉽게 만들 수 있다는 말을 듣게 되었다. 유용한 기능인 것 같아 좀 더 공부할 필요가 있을 것 같아 정리해보았다.

 

DeepMotion의 Animate 3D에 접속하면 왼쪽 상단에 3D Models라는 항목이 있다. 이걸 클릭하면 character를 create 할 수 있는 화면이 보이게 된다.

1) Stylized Avatars(Ready Player Me avatar generator) 옵션 사용하면 사람의 이미지로부터 닮은 3d avatar를 생성할 수도 있고, 완전히 처음부터 avartar를 생성할 수도 있다. 200개가 넘는 customization options이 있고, outfit이나 hiarstyle을 자유롭게 바꿀 수 있다.

2) Realistic Avatars 옵션을 사용하면, simple한 셀카를 사용해 customizable bodies, clothing, hair, accessories를 가지는 realistic avatar를 만들 수 있다. Avaturn avatars는 DeepMotion의 Full-Body tracking, hand tracking, face tracking 모두 호환이 된다.

이렇게 아바타를 만들고나면 이 character model은 Animate 3D account 상에 저장된다. (따로 아바타를 다운받거나 할 필요가 없다.) 그리고 Animate 3D 프로그램 상에서 이 custom character를 바로 사용할 수 있다.

 

적다보니 내용이 너무 방대해지지 않았나 싶지만...도움이 되길!!

 

참고문헌)

https://blog.deepmotion.com/2020/11/19/animate-3d-custom-characters/

 

Animate 3D: Custom Characters FAQ

Animate 3D allows you to upload a custom 3D character directly to the cloud for you to preview your animations on, then download them retargeted onto your character in an .FBX or .BVH format, or in a ready-to-view .MP4 format.

blog.deepmotion.com

https://blog.deepmotion.com/2021/07/02/animate3d-facetracking-faq/

 

Animate 3D: Face Tracking FAQ

DeepMotion's Animate 3D Face Tracking is markerless motion capture from any RGB camera - no software or hardware needed. Check out the FAQ for how to integrate it into your projects!

blog.deepmotion.com

https://blog.deepmotion.com/2021/03/30/deepmotion-wolf3d/

 

DeepMotion + Wolf3D: Create Personal Avatars & Animate Them With AI

DeepMotion has partnered with Wolf3D, leveling up the Animate 3D Custom Character feature by adding the Ready Player Me avatar generator. Users can now create their own unique avatars from directly within the web service and animate it with our AI motion c

blog.deepmotion.com

https://blog.deepmotion.com/2022/12/13/avaturn-tutorial/

 

Avaturn Walkthrough: Create Your Digital Twin & Animate Them With DeepMotion

DeepMotion has partnered with the team at In3D to bring you early access to their new realistic avatar creation experience Avaturn.

blog.deepmotion.com

 

728x90
728x90