サードパーティのモデリングソフトウェア、例えばBlenderやMayaを使用して、アニメーションされた頭をサポートするように既存のモデルを作成または修正できます。頭部を作成する際には、キャラクターモデルが以下の要件を満たす必要があります:
- モデルは標準のモデリング要件に従い、目、口、歯などの頭部ジオメトリを含む必要があります。
これらの要件を満たすために、自分自身の頭をデザインしポージングするときにこのガイドの手順を適用できます。このガイドでは、顔の骨を追加し、ポーズを取らせ、Blenderで5つの基本的なFACSポーズをマッピングする基本的なプロセスをカバーし、その後モデルをエクスポートします。
参考ファイル
以下は、すべての例ファイルが含まれる頭部参考ファイルです:
| 参考ファイル | 説明 |
|---|---|
| Cubie-Model-Only.blend | 顔データなしのR15 Cubieキャラクターモデルを含むBlenderプロジェクトファイル。 |
| Cubie-Eye-Bones-Skinned.blend | ポーズやマッピングデータなしでスキンされた目の骨を持つCubieキャラクターモデルの例を含むBlenderプロジェクトファイル。 |
| Cubie-Eye-Poses-Mapped.blend | 保存されマッピングされた5つの例ポーズを持つCubieキャラクターモデルを含むBlenderプロジェクトファイル。 |
| Cubie-Complete.fbx | 完全にリギングされた顔と50以上のポーズが保存されマッピングされたCubieキャラクターモデル。Studioにこのファイルをインポートするか、好みの3Dモデリングソフトウェアでファイルを開けます。 |
| Cubie-Texture_ALB.png | 一つのCubieテクスチャ画像ファイル。CubieモデルをStudioにインポートした後、このファイルを頭部パーツのTextureIDとして追加できます。 |
| Cubie-Complete.ma | 追加の参考として提供されるCubie Mayaプロジェクト。 |
モデリング要件
多くのキャラクターモデルはすでに明確な顔の特徴を持つ頭部を含んでいますが、頭部の互換性のためにわずかなモデリングの調整が必要な場合があります。頭部を持つキャラクターをモデリングするときは、頭部メッシュが、Studioインポート用のアバターキャラクター仕様および以下の要件を満たしていることを確認してください:
- 顔のパーツ - 目、上の歯、下の歯、舌などの明確な顔の特徴が含まれていることを確認してください。
- 唇の頂点 - キャラクターが口を使用する場合、唇の頂点を分けて口が開くことができるようにします。
- 内部構成 - キャラクターが舌や歯などの内部口の構成を持つ場合、これらの特徴を含む口袋を頭部メッシュ内にモデリングしてください。キャラクターが目のくぼみを使用する場合は、これらの特徴を含む類似の目袋をモデリングしてください。
- 余分なデータなし - Head_Geoのすべての子の顔のパーツが履歴や凍結された変換を含まないことを確認してください。
- 外部ケージ - キャラクターモデルが顔のアクセサリーや重ね着をサポートするための外部ケージを持っていることを確認してください。詳細については、ケージメッシュ要件を参照してください。
これらのモデリング要件を満たすリギングされたCubieキャラクターを使用して、残りの頭部作成プロセスに沿って進むことができます。このバージョンには顔のリギングやポーズデータは含まれていないため、このガイドで参照するのに使用できます。
リギング
キャラクターには顔のジオメトリの頂点を駆動し、顔のポーズを作成するための内部骨構造が必要です。Studioは、頭部のために特定の骨の階層を要求しませんが、顔のリグが正しく機能するためには、リグにRootFaceJoint骨および追加の顔の骨が含まれている必要があります。
RootFaceJoint
RootFaceJointは、標準のR15頭骨の下に親子付けされた骨です。このルート骨は他のすべての顔の骨の親になります。Blenderでは、頭骨から子骨を押し出すことで骨を迅速に追加し、その骨の名前をHead_Geoメッシュのプロパティとしてマッピングできます。RootFaceJoint骨オブジェクトは、参照テンプレートや例では一般的に「DynamicHead」と名付けられていますが、カスタムプロパティでルート骨をマップする限り、任意の名前を使用できます。
RootFaceJoint骨を追加する方法:
BlenderでCubie-Model-Only.blendプロジェクトを開きます。

任意の骨をクリックしてアーマチュアを選択し、次に編集モードに切り替えます。
アウトライナーでHead骨をクリックします。
ビューポートでEを押し、マウスを上にドラッグしてHead骨から追加の子骨を押し出します。
アウトライナーでこの骨をDynamicHeadに名前を変更します。後でマッピングセクションでこの骨を名前で参照します。
顔の骨
顔の骨は顔のジオメトリの曲げや変形を駆動します。頭のそれぞれのポーズできる顔の特徴には通常、少なくとも1つの骨が必要です。目や口などの複雑な特徴では、特定のポーズを可能にするために複数の骨が必要な場合があります。
リギングとスキニングプロセスはキャラクターモデルによって異なり、ツールやモデラーによっても異なります。追加の調整を避けるために、キャラクターに必要な顔のポーズの全範囲を計画することが重要です。
以下の手順では、参考モデルの目とまぶたに顔の骨を追加するおよびスキニングする基本的なプロセスを示しています。この技術を使用して、キャラクターの口、頬、顎などの他の顔の特徴にも適用できます。骨を追加し、影響を適用した後、次のポージングプロセスをより効率的にするために制御を作成できます。
顔の骨を追加する
キャラクターに必要な特定の頭部骨は、それが使用するポーズに依存します。以下の例は、各目のために1つの骨を追加し、まぶたのために4つの骨を追加するプロセスをカバーしており、これにより瞬きをしたり、ウィンクしたり、視線の方向を変えたりできます。
顔のリグを作成する際は、できるだけ50以下の顔の骨を使用し、骨は関連する顔の特徴ごとに整理し特化させてください。一般的に、高数の頂点や関節はゲームのパフォーマンスに影響を与える可能性があります。
目
各目には1つの骨が必要ですが、後に両目を同時に制御できるコントロール骨を作成することを選択できます。骨を対称に配置するには、ビューポートの右上でX軸ミラーを有効にします。これにより、同じ名前の骨が反対の接尾辞に沿ってX軸上で移動します。
キャラクターの目に骨を追加するための手順:
オブジェクトモードでアーマチュアを選択し、編集モードに切り替えます。
追加をクリックし、次に単一の骨を選択します。これを2回行います。
1つの骨の名前をLeftEyeに変更し、もう1つの骨の名前をRightEyeに変更します。
X軸ミラーを有効にします。
左または右の骨をモデルの目の中心に配置します。
骨を水平方向に調整し、前面を向けます。骨を水平方向に設定するための迅速な方法は次のとおりです:
- ビューポートの右上でツールパネルをトランスフォームセクションに拡張します。
- 骨を選択した状態で、ヘッドY位置をテールY位置にコピーします。
- テールZを0.2センチメートルに設定します。これにより、テールZ座標がヘッドZ座標から0.2センチメートルのオフセットになります。
Shiftを押しながら両方のEye骨をクリックします。
まだShiftを押したまま、Face骨をクリックします。
ビューポートを右クリックします。コンテキストメニューが表示されます。
親子付けを選択し、作成、次にオフセットありを選択します。
まぶた
骨を追加する際、既存の顔の骨を選択して複製することでまぶたの下に親子付けされた骨を迅速に作成できます。これにより、まぶたの骨が自動的にFace骨の下に親子付けされます。
キャラクターのまぶたに骨を追加するための手順:
編集モードで、両方の目の骨を選択するためにShiftを押しながらクリックします。
ShiftDを押して、同じ位置で骨を複製します。これを4回行い、合計8つの新しい骨を作成します。
X軸ミラーを有効にした状態で、各骨を目の角に配置します。
アウトライナーで、すべての骨の名前をその特定の位置を反映するように変更します。次の名前を使用してください:
- LeftUpperOuterEyelid
- RightUpperOuterEyelid
- LeftLowerOuterEyelid
- RightLowerOuterEyelid
- LeftUpperInnerEyelid
- RightUpperInnerEyelid
- LeftLowerInnerEyelid
- RightLowerInnerEyelid

顔の骨にスキニングする
キャラクターモデルにスキニングを適用するいくつかの方法があります。以下の例では、Blenderのウェイトペイントモードを使用して1つの骨で制御できる頂点をペイントします。スキニングは通常、複雑なキャラクターにとって時間がかかるステップであるため、スキニングと顔のポージングに関する背景知識が推奨されます。
複雑なモデルに詳細または共有の影響を適用する際は、骨の間の影響の競合を防ぐために自動正規化を有効にすることが推奨されます。
目
例プロジェクト内の両目には、目のジオメトリ内の瞳孔に全影響が必要です。目のデザインに応じて、リアルな目のポーズを作成するために影響を調整する必要があるかもしれません。
LeftEyeに影響を追加する手順:
オブジェクトモードで、頭部メッシュをクリックし、次にShiftを押しながら任意の骨をクリックしてアーマチュアを選択します。
ウェイトペイントモードに切り替えます。
頂点をより良く視覚化できるように、X-Ray表示モードまたはマテリアルプレビューモードに切り替えます。
Shiftを押しながらLeftEye骨をクリックして選択します。現在選択されている骨の名前がビューポートの左上に表示されます。
目の頂点に影響をペイントします。この例では、瞳孔が赤く塗られ選択した骨によって完全に影響を受けていることを確認してください。
オブジェクトモードに切り替え、任意の骨をクリックしてアーマチュアを選択します。
アーマチュアが選択された状態でポーズモードに切り替えます。
骨をつかんで動かすことで目の骨の影響をテストします。その下のメッシュは従うはずです。
右目についても同様に手順を繰り返します。
まぶた
まぶたの骨にはそれぞれの独自の影響が必要です。例のポーズが上まぶただけを操作する場合でも、下側の角を制御できることは、LeftCheekRaiserやRightCheekRaiserなどの他のポーズには重要です。
左まぶたに影響を追加する手順:
オブジェクトモードで、頭部メッシュをクリックし、次にShiftを押しながら任意の骨をクリックします。
ウェイトペイントモードに切り替えます。
頂点をよりよく視覚化できるように、X-Ray表示モードまたはマテリアルプレビューモードに切り替えます。
骨の最も近い頂点に影響をペイントします。
完了したら、Shiftを押しながら他の骨をクリックして、最も近い頂点に影響を適用を開始します。この手順を各まぶたの骨に対して実行します。
オブジェクトモードに切り替え、キャラクターメッシュを選択し、次にポーズモードに切り替えてテストします。
この時点までの骨がスキニングされたこのプロジェクトのバージョンをダウンロードできます。
制御を追加する
頭部を作成するためには、連続して複数のポーズを保存する必要があるため、必須ではありませんが、制御を使用すると骨を迅速かつ効果的にポージングするのに役立ちます。外部コントロール骨を追加して内部の骨に影響を与えることで、より簡単にアクセスしポーズを取りやすくし、中立の変換にリセットすることができます。
制御の作成にはさまざまな方法があります。以下の例では、ボーン制約と参考のBlenderプロジェクトに含まれる単純な幾何学形状を使用して、キャラクターの顔の骨用のアクセスしやすいコントロール骨を迅速に設定します。リギングと制約についての詳細は、Blenderのドキュメントを参照してくださいキャラクターリギングおよびオブジェクト制約。
顔骨の制御を作成を開始するには:
- オブジェクトモードで、関節アーマチュアを選択し、ShiftDを押して関節アーマチュアオブジェクトを複製します。
- 新しいアーマチュアの名前をControllerに変更します。
- 編集モードで、すべての非顔の骨を選択し、右クリックして選択した骨を削除を選択します。
- 骨の名前に**_Con**を含めるように名前を変更します。バッチで名前を変更するには、以下の手順を使用します:
- アウトライナーで、Shiftを押しながらすべてのコントロー骨をクリックします。
- 編集 > バッチリネームへ移動します。リネームモーダルが表示されます。
- 選択したに設定し、ドロップダウンで骨に設定します。
- タイプを名前を設定するに設定します。
- メソッドを接尾辞に設定します。
- 名前に**_Con**を追加します。
- OKボタンをクリックします。
- オブジェクトモードに切り替え、元のJointsアーマチュアオブジェクトを選択します。
- ポーズモードに切り替えます。
- 元の関節骨(例: LeftEye)をクリックし、次にボーン制約プロパティパネルに移動します。
- 位置をコピーと回転をコピーを追加し、次に各元の骨の制約を対応するコントロー骨(例: LeftEye_Con)をターゲットするように設定します。
- 回転をコピー制約で、次のプロパティを設定します:
- 軸で、X、Y、およびZを無効にします。
- 逆軸で、X、Y、およびZを有効にします。
- ミックスをオフセット(レガシー)に設定します。
- コントロールが必要な各顔の骨に対して手順7〜9を実行します。
コントロール骨へのアクセスを容易にするためにカスタム骨形状を作成するには:
オブジェクトモードに切り替え、Controllerアーマチュアオブジェクトを選択します。
ポーズモードに切り替えます。
コントロー骨(例:LeftEye_Con)を選択します。
ボーンプロパティパネルに切り替え、ビューポート表示セクションを展開します。
プロジェクトに含まれるカスタム形状の1つを選択します。参照プロジェクトでは、形状オブジェクトは顔の骨と類似の名前を共有しています。
X回転を**-90**に設定します。必要に応じて他のスケーリングを設定します。
すべてのコントロール骨について手順3〜6を実行します。この時点で元の顔の骨を非表示にすることができます。
(オプション) コントロール骨に色を割り当てるためにボーングループをセットアップします:
オブジェクトデータプロパティパネルに移動します。
新しいボーングループを作成します。
カラーセットを自分の選択したカラーテーマに変更します。
現在選択されたコントローラーにその色を割り当てるために割り当てをクリックします。バッチでこの手順を実行できます。
ポーズモードでコントローラーをテストします。
ポーズ
ポージングは、アニメーションフレームごとに頭部メッシュの骨を特定の位置に操作するプロセスです。モデルの頭部がリギングされた後、タイムラインにポーズを保存するプロセスを開始できます。このデータにより、Studioは各顔の動きをアクセスしアニメーション化またはブレンドしてダイナミックな表情を作成します。
キャラクターの頭部メッシュの骨を新しい位置にポージングするときは、顔の表情ポーズの参考として表情動作コーディングシステム (FACS) を参照してください。FACSは、視覚的に識別可能な顔の動きを説明するための包括的かつ解剖学的なシステムであり、すべての顔のアニメーションをキャラクター間で共有できるようにします。つまり、一度顔のアニメーションを作成すると、その顔にアニメーション可能な頭部がある任意のキャラクターと再利用できます。
モデリングソフトウェアのアニメーションタイムライン内の各フレームには1つのユニークなFACSポーズが含まれることができるため、複数のFACSポーズを作成したい場合は、それぞれのFACSポーズを異なるフレームに保存する必要があります。また、キャラクターが中立の顔を持ち、顔のコントローラーと骨がデフォルト値に設定されているフレームを含める必要があります。これにより、Studioはキャラクターの中立的な表情と各FACSポーズの間の骨の位置の違いを計算できます。この理由から、フレーム0をキャラクターの中立的な表情として設定し、フレーム1からFACSポーズの保存を開始します。
以下の画像は、5つのフレームを持つBlenderのアニメーションタイムラインの例です。フレーム0にはキャラクターの中立的な表情があり、フレーム1〜4にはFACSポーズデータがあります。

Robloxで使用できる50の基本ポーズがあり、キャラクターの広範な顔の感情を表現します。必要なポーズを決定する際には、FACSポーズ名は常にキャラクターの向きに基づいていることを思い出してください。例として、LeftEyeClosedはキャラクターの左目を閉じますが、これはカメラビューの右側にあります。
キャラクターに必要なすべての50の基本ポーズが必要ない場合もあります。たとえば、口を開け瞬きをする単純なロボットにはJawDrop、LeftEyeClosed、RightEyeClosedのみで十分です。したがって、キャラクターをより表現豊かにしたい場合は、アニメーションタイムラインに含める必要のあるFACSポーズが増えます。使用する予定の基本ポーズをアルファベット順に保存し、以降のフレームを組み合わせポーズに使用することをお勧めします。
以下の手順では、リファレンスで作成した顔の骨を使用して5つのポーズをポージングするプロセスを示していますが、より表現の豊かな頭部に対して、追加のポーズにこれらのステップを適用できます。Blenderで顔の骨をポージングするには:
アニメーションタイムラインのプレイヘッドが正しいフレームに設定されていることを確認します。
- キャラクターの中立ポーズを設定する場合は、フレーム0に設定します。
- EyesLookLeftをポーズする場合は、フレーム1に設定します。
- EyesLookRightをポーズする場合は、フレーム2に設定します。
- LeftEyeClosedをポーズする場合は、フレーム3に設定します。
- RightEyeClosedをポーズする場合は、フレーム4に設定します。
ポーズモードで、ポーズを現実的に使用したい最大の位置に設定します。
- キャラクターの中立ポーズを設定する場合、顔のコントローラーと骨をデフォルト値に設定します。
- EyesLookLeftをポーズする場合、両方の目のコントローラー骨を選択し、キャラクターの左に目をドラッグします。
- EyesLookRightをポーズする場合、両方の目のコントローラー骨を選択し、キャラクターの右に目をドラッグします。
- LeftEyeClosedをポーズする場合、両方の目のコントローラー骨を選択し、左のまぶたを下にドラッグして下まぶたに合わせます。
- RightEyeClosedをポーズする場合、両方の目のコントローラー骨を選択し、右のまぶたを下にドラッグして下まぶたに合わせます。
ビューポートでAを押してすべての骨を選択します。
右クリックしてキーを挿入 > 位置と回転を選択します。これにより、各フレームにすべての骨の位置情報と回転情報が含まれます。
すべてのポーズがタイムラインに保存されたら、アニメーションタイムラインの開始と終了を保存されたポーズのフレーム数を表すように設定します。開始は必ず0に設定し、この具体的な例では、保存された中立でない4つの例ポーズのみをマッピングしている場合、終了を4に設定できます。

組み合わせポーズ
2-3の基本FACSポーズを単一のアニメーションフレームに組み合わせて複雑な表情を表示することができます。ただし、同じ顔の領域を制御するFACSポーズを組み合わせると、顔の特徴が衝突したり変形したりする可能性があります。
たとえば、LeftEyeClosedとLeftCheekRaiserの両方は、キャラクターの左目の周りの動きを制御します。LeftEyeClosedは目を閉じ、LeftCheekRaiserは頬を持ち上げて下まぶたを押し上げ、ひそめたような効果を引き起こします。両方のポーズの値を100%に設定して1つ以上を組み合わせると、下まぶたが上まぶたと衝突します。
組み合わせポーズまたは補正は、2-3のFACSポーズを同時に1つのアニメーションフレームで制御し、それらのデフォルト値から補正差を持たせることです。組み合わせポーズを頭部に定義しマッピングすることで、2つ以上のFACSポーズがどのように組み合わさるかを修正できます。たとえば、前述の各ユースケースの補正を追加すると、下まぶたと上まぶたが衝突せずに接触します:
インポート時に、Studioは頭部のFaceControlsインスタンスに補正差を計算して保存し、FaceControlsインスタンスはアニメーションエディタ内で組み合わせる際に基本ポーズの値を修正します。
マップ
キャラクターが必要とする各FACSポーズのポージングが完了したら、ポーズごとにマッピングまたはリンクする必要があります。マッピングで頭のMeshPart内に骨の位置と変換を保存し、アニメーションエディタ内で頭部をアニメーションさせ始めると、FaceControlsインスタンスはこの保存されたデータを使用してキャラクターの顔の特徴を適用可能なFACSポーズに変換します。
各ポーズをその正しいポーズ名にマッピングすることに加えて、RootFaceJointもマッピングする必要があります。これにより、Studioはその関節を正しく位置付けることができ、インポート時にFaceControlsインスタンス内のすべての子関節とその骨を隠します。
保存されたポーズとRootFaceJointをマッピングするには:
オブジェクトモードに切り替えます。
Head_Geoメッシュを選択します。
プロパティエディタのオブジェクトプロパティタブで、カスタムプロパティセクションに移動し、次に新規ボタンをクリックします。新しいカスタムプロパティが新規ボタンの下に表示されます。

新しいカスタムプロパティの右側にあるギアアイコンをクリックします。プロパティの編集ポップアップが表示されます。

タイプドロップダウンをクリックし、次に文字列を選択します。
プロパティ名フィールド:
- ポーズをマッピングしている場合は、マッピングしているフレーム番号を入力します。例えばFrame0。
- RootFaceJointをマッピングしている場合は、RootFaceJointを入力します。
デフォルト値および説明フィールドは空のままにします。
OKボタンをクリックします。新しいカスタムプロパティが新しいプロパティ名称で更新されます。
カスタムプロパティ名の右側のフィールドに:
- 基本ポーズをマッピングしている場合は、対応するFACS基本ポーズまたは正確にスペルされた組み合わせポーズ名を入力します。
- 組み合わせポーズをマッピングしている場合は、組み合わせている各基本ポーズをアンダースコアで区切って入力します(例:Funneler_JawDrop_Pucker)。
- RootFaceJointをマッピングしている場合は、顔のルート骨の名前(一般的にはDynamicHead)を入力します。
Enterを押します。
このプロセスを繰り返すと、作成した追加のカスタムプロパティがプロパティエディタのオブジェクトプロパティタブ内のカスタムプロパティセクションに表示されます。

保存されたポーズがマッピングされたこのプロジェクトのバージョンをダウンロードできます。保存されたアニメーションデータを持つ頭部.fbxをBlenderにインポートする場合は、タイムラインのフレーム0を含めるために.FBXインポートウィンドウのアニメーションオフセットを0に設定することを確認してください。

エクスポート
キャラクターの頭部をポージングしマッピングしたら、キャラクターモデルを.fbxとしてエクスポートし、Studioにインポートすると、Studio内のFaceControlsインスタンスを使用して4つの目のポーズにアクセスできるようになります。また、すべての50以上の基本ポーズにアクセスするために完全に構成されたCubie頭部.fbxを参照できます。
アニメーション可能な頭部のエクスポート設定は、標準のサードパーティのモデリングエクスポート設定とわずかに異なります。基本的な頭部モデルを.fbxとしてエクスポートするには:
- 上部バーでファイルをクリックします。ポップアップメニューが表示されます。
- エクスポートを選択し、次に**FBX(.fbx)**を選択します。Blenderファイルビューウィンドウが表示されます。
- 含むを展開し、アクティブコレクションに制限を有効にします。この手順は、Blenderプロジェクト内に他のコレクションがない場合はオプションです。
- 含むセクションで、カスタムプロパティを有効にします。
- アーマチュアセクションを展開し、リーフボーンを追加のチェックを外します。
- アニメーションをベイクを有効にします。
- アニメーションをベイクを展開し、NLAストリップ、すべてのアクション、および強制開始/終了キーフレームのチェックを外します。
- FBXをエクスポートボタンをクリックします。FBXを希望のディレクトリに保存します。
この時点で、アニメーション可能な頭部を持つキャラクターとして.fbxをStudioにインポートできます。モデルのインポートと使用の手順については、Studioでのテストヘッドを参照してください。