2026/08/20
eST3でプロップリグを作成
こんにちは。
BACKBONEの塙です。
本日は『eST3』のcustomユニットを使用して、プロップをセットアップする方法についてご紹介します。
公式サイトのユーザーページにあるチュートリアルを一通り進めることで、人型キャラクターのリグを作成できるようになります。では、「武器や小物などのプロップリグはどうやって作ればいいの?」と思われる方もいるのではないでしょうか。
そこで今回は、customユニットを使った簡単なプロップリグの作成手順をご紹介します。
CGWORLDオンラインで掲載されている、ポリゴン・ピクチュアズ様による『eST3』の連載記事でもcustomユニットについて紹介されていますので、本記事はそちらを補足する内容としてもお読みいただければと思います。
なお、本記事は公式の人型リグチュートリアルを一通り完了していることを前提に解説を進めていきます。
まだ人型リグのチュートリアルを完了されていない方は、まずはそちらから進めていただくことをおすすめします。
【実践】customユニットでプロップをセットアップしよう
1. まずは土台となるフレームワークの作成
① リグコンストラクターの起動
ビュー パネル上部のeST3メニューからリグコンストラクターを起動します。
● eST3メニュー > リグ > コンストラクター

② フレームワークエディターを起動
起動したリグコンストラクターのメニューから、フレームワークエディターを起動します。
● リグコンストラクターメニュー > リグ > 「作成」のオプション ボックス

③ リグパスを設定して作成
リグパス項目を編集し、フレームワークを作成します。
● eST3 公式サイト:リグパスについて(開いたページでリグパスを検索)
今回は、デフォルト > プロップ > katana > 共通 で進めます。

リグコンストラクターを見ると、表示されているメニューや情報が更新されていることが確認できます。

2. ベーススケルトンを作成
① ベーススケルトン作成メニューを開く
● リグコンストラクターメニュー > ベーススケルトン > 作成…

customユニットを選択して、基本設定を表示します。
● Basic Part > Custom > custom

③ ユニットの基本設定を指定
「ノードの一般名」項目に任意の名前を入力します。
今回は「katana」と入力します。
「COGを作成する」にチェックを入れて作成します。
識別子はブランクで構いません。

eSTでリグを構築する上で必ず必要なユニットです。COGがないとベーススケルトンの登録ができません。「COGを作成する」にチェックを入れておくことで、rootユニットとcogユニット及びそれらのベーススケルトンが自動的に作成されます。最上位のユニットを作成する際には、必ずCOGを作成する必要があります。
コントローラーを作成すると全体移動コントローラー(COGコントローラー)が作成されます。

また、COGは複数作成することもできます。例えば、KatanaA と KatanaB にそれぞれ全体移動用のコントローラーが必要な場合、各Customユニットの「新規COGの識別子」に「A」「B」を指定(任意の文字列で指定したい場合は頭文字を大文字で入力(WeponL、WeponRなど))することで、それぞれを個別に制御できるCOGコントローラーA、Bを作成できます。
3. 作成したcustomユニットにベーススケルトンを追加する
① 手動でジョイントを作成する
まずはプロップに必要なジョイントをシーン内に手動で作成します。

② customユニットのベーススケルトンを編集する
リグコンストラクターから編集画面を開きます。
● リグコンストラクターメニュー > ユニット > Katana : custom > ベーススケルトンを編集…

③ ジョイントをベーススケルトンとして登録する
追加したいルートジョイントを選択し、UI左上にある [+] ボタンを実行します。
これでジョイントがベーススケルトンとして登録されます。

UI上で任意のジョイントを選択し、アニメーション可能を [はい] に設定します。
次に、画面内の「非アニメータブル属性」のリストから、動かしたいアトリビュート(TranslateやRotateなど)を左クリックで選択し、選択したアトリビュートを隣の「アニメータブル属性」のリストへ中ボタンでドラッグ&ドロップします。

4. ベーススケルトンやCOGの位置/角度をデザインモードで編集する
①デザインモードで調整
デザインモードに切り替えて骨の位置調整を行います。
骨の角度調整には「jointAxisEditor」が便利です。
● リグコンストラクターメニュー > ベーススケルトン > デザインモード切替

調整後はデザインモードを解除します。

5. コントローラーの作成
①コントローラーの作成設定を確認
コントローラーを作成する設定を確認します。
● リグコンストラクターメニュー > コントローラー > 作成 > ユニットのオプションボックス

②設定を調整して実行
今回は設定を変更せずに、デフォルトのまま実行します。

実行すると、controller_gp 階層 が自動的に作成されます。

初めてコントローラーを作成すると、ビュー上ではコントローラーシェイプが非表示に設定されています。
以下の手順で表示を切り替えることが出来ます。
- リグコンストラクターまたはリグビューの右側の [C] のアイコンを右クリックします。
- 「選択的表示」のチェックを外すことで、コントローラーシェイプが表示されます。

eSTでは、親のユニットから順番に処理する仕組みになっています。コントローラーを作成する際は親のユニットから作成します。削除する際は子のユニットから削除します。順番を満たしていないユニットはメニュー内でグレー表示されます。
- 作成:親のユニット作成後に、子のユニットが作成できます。
- 削除:子のユニット削除後に、親のユニットが削除できます。
6. リグビュー(コントローラーピッカー)を活用して動作確認
①リグビューの起動
● eST3メニュー > リグ > ビュー

※下図は、後述するバインド後のジオメトリも表示した状態です。

アプローチ1:環境設定で「全体的」にサイズを変更する
コントローラーを作成する前に、あらかじめ大まかな基準サイズを一括で変更しておく方法です。
リグコンストラクターから設定を開きます。
● リグコンストラクターメニュー > UI > 設定…

グローバルスケールの値を調整します。

これにより、次から作成されるコントローラー全体のサイズを調整することができます。
アプローチ2:コントローラごとに「個別」にサイズを変更する
すでに作成済みのコントローラーを個別に調整したい場合の方法です。
コントローラーシェイプノード(eST3locatorノード)の「Preset Size」または「Local Scale」のどちらかのアトリビュートでサイズを変更できます。

7. バインドスケルトンを作成
次はバインドスケルトンを作成します。
①バインドスケルトンの作成設定を確認
● リグコンストラクターメニュー > バインドスケルトン > 作成 > ユニットのオプションボックス

②設定を調整して実行
今回は、「親バインドスケルトン」項目を [ 親のバインド空間 ] に設定します。
「最上位のノードをバインド空間にする」項目を [ON] にします。

実行すると、新たに setup_gp 階層 が自動的に作成されます。

バインドスケルトン作成後はベーススケルトンとの接続が外れている場合があります。
下記の機能で接続の切り替えが行えます。
● リグコンストラクターメニュー > バインドスケルトン > コネクト > 全てコネクト
8. バインドジオメトリーの登録とウェイト作業
次はウェイト作業に移ります。
レンダリング用の「レンダージオメトリー」を直接バインドするのではなく、スキンバインド用の「バインドジオメトリー」を用意して作業を進めます。
①バインドジオメトリー用にレンダージオメトリーを複製する
バインドスキンを行いたいレンダージオメトリーを複製します。
複製したジオメトリーは「xxx_bindGeo」と命名しておきます。

②バインドジオメトリーを追加する
複製したバインドジオメトリーと、登録先となる任意のベーススケルトン(今回は「katanaRoot_jt」)を選択して「追加」を実行します。
オプション設定は「イニシャルシェーダーをアサイン」のみ [ON] にして追加します。
● リグコンストラクターメニュー > バインドスケルトン > バインドジオメトリーを追加


③バインドスキンとウェイト作業を行う
バインドスケルトンを使って、バインドジオメトリーをバインドスキンします。

通常通りウェイトペイント等の作業を進めてください。
今回の作例では、刀(katanaBlande)は変形させていますが、柄(katanaTsuka_geo) と 鍔(katanaTsuba_geo) については、変形しない固形のジオメトリ―として扱っています。「デフォームはしないけれど、特定のジョイントの動きにそのまま100%追従させたい」というパーツに関しては、後述の「レンダージオメトリーの登録」のみを行います。
9. レンダージオメトリーの登録
ウェイト作業完了後は、レンダージオメトリーを登録します。
①レンダージオメトリーを追加する
レンダージオメトリーと、登録先となる任意のベーススケルトン(今回は「katanaRoot_jt」)を選択して実行します。
● リグコンストラクターメニュー > レンダージオ > 追加 > 選択したベーススケルトン空間へ


②バインドジオメトリーとレンダージオメトリーを接続する
● リグコンストラクターメニュー > バインドスケルトン > バインドのオプションボックス
バインドジオメトリーとレンダージオを選択してバインドのオプションウィンドウを開きます。

「バインド方法」項目を [ Connect Only ] に設定して実行します。

10. 仕上げ
仕上げのオプションウィンドウを開きます。
● リグコンストラクターメニュー > バインドスケルトン > バインドのオプション ボックス

検出を押すと項目ごとにリストしてくれます。プロジェクトによっては「bindPose」と「バインドジオメトリーのシェーダ」はそのままにしておいて欲しいというご要望があると思います。その場合は、項目を確認してから実行しましょう。

まとめ
今回はeST3のcustomユニットを使い、シンプルなプロップリグの作成手順をご紹介しました。ベーススケルトン→コントローラー→バインドスケルトンの手順でご説明しましたが、コントローラーとバインドスケルトンの作業を入れ替えたフローでも問題ありません。公式の人型チュートリアルを終えた方なら、この流れを応用することで様々な小物や道具のリグにも対応できるようになります。
今回紹介したセットアップ方法はあくまで数あるアプローチの一例ですので、作成するプロップの性質に合わせて、色々と設定をカスタマイズしてみてください!
ではまた。
本記事内で公開している全ての情報について、その完全性、正確性、適用性、有用性等いかなる保証も行っておりません。これらの情報のご利用により、何らかの不都合や損害が発生したとしても、当社は何らの責任を負うものではありません。自己責任でご使用ください。
