このページは、PoseMirror(ポーズミラー)が内部でどう動いているかをまとめたものです。使い方そのものは使い方ガイドに、アプリ本体はこちらにあります。
▶ 無料の3Dデッサン人形でポーズを作るなぜ「関節を手で組む」のをやめたか
3Dデッサン人形は昔からありますが、実際に使ってみると、写真と同じポーズを再現するのに関節を1つずつドラッグする作業が延々と続きます。作者自身も漫画制作の中で何度もそこで挫折しました。
そこで発想を変えて、ポーズを「組む」のではなく写真から読み取ることにしたのがPoseMirrorです。資料写真さえあれば、あとは角度を変えて見るだけで済みます。
使用技術
- MediaPipe Pose (Google AI): 画像から全身33点の関節ランドマークを検出します。ブラウザ上のWebAssemblyで動くため、画像をサーバーへ送る必要がありません。指の関節は含まれないので、手の細かい形は再現できません。
- Unity WebGL: 3Dモデルの描画とボーン制御を担当します。ヒューマノイドリグに対して、推定された関節位置から算出した回転を適用しています。
- C# / JavaScript: MediaPipeが返す座標をUnityのボーン回転に変換する部分。ここが最も苦労した箇所で、座標系の違いによるボーンの180°ねじれや、ローカル座標とワールド座標の取り違えに何度も引っかかりました。
画像はブラウザから出ません
アップロードした画像の解析はすべてブラウザ内で完結し、サーバーには送信も保存もされません(プライバシーポリシー)。例外は、検出に失敗した写真をご自身で提供した場合だけで、その写真は開発者のみが閲覧し、30日後に削除します。ログイン不要で使えるのはこの構成のためです。
素材の出典と利用条件
- 人体3Dモデル: BodyParts3D, © ライフサイエンス統合データベースセンター licensed under CC 表示 4.0 国際 を改変。筋肉・骨格のパーツを包む体を当方が作り、パーツの色を写したものです。
- ポーズ集の一部: カーネギーメロン大学のモーションキャプチャ・データベース(mocap.cs.cmu.edu)のデータを元にしています。同データベースは NSF EIA-0196217 の助成で作られました。
画面を見て描いた絵は自由に公開・販売できます。アプリ・人体モデル・ポーズデータの複製・再配布はできません。詳しくは利用規約をご覧ください。