この記事の3行まとめ
- COYOTE 3DCG STUDIO、メッシュにおけるジョイントの回転軸の設定基準についてブログ記事で解説
- メッシュの動きを1軸のみで管理し、メッシュ同士の干渉や作業の煩雑化を防止する手法などを紹介
- 回転軸が重なることでジンバルロックが発生するメカニズムや、主軸をX軸にするメリットなども説明している
クリーク・アンド・リバー社の3DCG制作チーム「COYOTE 3DCG STUDIO」は2025年9月2日(火)、『ジョイントの回転軸の向き、どう決める?』と題した記事を、同スタジオの技術ブログ「TECH-COYOTE」で公開しました。
【ブログ更新📝】
今回は以前好評だったジョイントに関しての記事第二弾!ジョイントの回転方向の決め方です。
なんとなくジョイントの回転方向を決めてしまっているそこのあなた!!
これを知っておかないとアニメーションやリグの工程に悪影響が出るかも…。▶https://t.co/zinY5fxzi2#Rigging
— COYOTE 3DCG STUDIO -テクニカルアーティストチーム- (@cr_coyote) September 3, 2025
ジョイントの回転軸は、使用するDCCツール・出力先のゲームエンジン・プロジェクトのレギュレーションなど、個々の状況に応じて最適な向きが存在します。
記事ではその判断基準を「メッシュの形状に対してボーンを動作させたい向き」「ジョイントの回転方法・順序」といった4種類に大別。各基準に沿った適切な軸の向きを提示し、その向きで設定することが有用である理由を解説しています。
(画像はブログ記事より引用)
たとえば「メッシュの形状に対するボーンの動作方法」については、髪を動かす際に2軸以上の回転が必要となると、メッシュ同士の干渉や作業の煩雑化といった問題が発生します。
それを解消するため、Y軸を頭部の中心からまっすぐ下に沿わせる向きに設定することで、各軸を独立して操作可能となります。
髪を動かす際に2軸以上の操作が必要となっている状態(画像はブログ記事より引用)
ジョイントの向きを調整し、Y軸(緑色)を頭部の中心に向けた状態。1軸のみで髪を動かすことが可能となっている(画像はブログ記事より引用)
また、主軸(親ジョイントから子に向ける軸)をX軸に設定し、それ以外の補助軸のうち最も頻繁に使用する回転軸をオイラー角における回転順序の一番外側に設定することで、ジンバルロック(※)の発生頻度を極力抑えられるといったアプローチも紹介されています。
※ ジンバルロック:オイラー角でオブジェクトの回転軸を行う際、複数の軸が同一平面上で重なることで回転方向を失い、回転の自由度が下がってしまう現象
回転軸が重なることでジンバルロックが発生するメカニズムや、主軸をX軸にするメリットといった理論的な解説も記事中で語られています。
Mayaにおける軸の標準的な回転順序「X→Y→Z」になぞらえて、最も稼働頻度の多い「腕を上下に動かす」向きをZ軸に指定。
腕を下ろすZ軸(青)と、腕を前後に揺らすY軸(緑)が、それぞれ独自に動きが管理されている(画像はブログ記事より引用)
なお、紹介されている基準は汎用的な内容に留められているため、実際の開発においては先の工程を考慮したり、担当者と要件をすり合わせたりした上で決定することが推奨されています。
詳細はCOYOTE 3DCG STUDIOのブログ記事をご確認ください。
「【Character】ジョイントの回転軸の向き、どう決める?」TECH-COYOTE