Aron Nemeth氏による無料Cascadeurアドオン「Easy Mass Distribution」の紹介です。
Easy Mass Distributionとは
Easy Mass Distributionは、3DアニメーションソフトウェアCascadeurのリギングプロセスを支援するPythonスクリプトです。
キャラクターリギング、特に非人間型のモデルでは、各リジッドボディ(剛体)に適切な質量を設定する作業が非常に手間がかかります。馬や犬といった実在の動物でも、部位ごとの正確な質量データを見つけるのは難しく、ドラゴンなど神話上の生物となると、その情報は皆無に等しいのが現状です。
開発者は、従来このような作業を推測やスプレッドシートを用いた計算で行っていましたが、それでも正確性に欠け、時間も要していました。この問題を解決するために生まれたのがEasy Mass Distributionです。
このアドオンを使用すると、キャラクターの総質量を入力するだけで、各リジッドボディの体積に基づいて質量を自動的に配分することができます。
具体的には、まず全てのリジッドボディの体積を合計して総体積を算出します。次に、個々のリジッドボディの体積が総体積に占める割合を求め、その割合にユーザーが入力した総質量を乗じることで、各リジッドボディの質量を決定します。
この計算はキャラクターの密度が均一であるという仮定に基づいていますが、これは現実の生物ではあり得ません。しかし、多くの場合、初期設定としては十分な精度で作業の出発点とすることができます。
主な機能
- 総質量に基づく自動質量配分:キャラクター全体の総質量を指定するだけで、接続されている各リジッドボディに質量を自動的に割り振ります。
- 体積ベースの計算:リジッドボディの体積の大きさに応じて質量が配分されるため、直感的に理解しやすい結果が得られます。開発ドキュメントでは、リジッドボディをキャラクターの体積になるべく合わせてセットアップすることが推奨されており、この機能はその思想に基づいています。
- 選択的適用:何も選択せずにアドオンを実行すると、シーン内のすべてのリジッドボディが対象となります。特定のリジッドボディを選択して実行すると、選択されたもののみに質量が配分されます。これにより、例えば「体全体の質量を設定した後、尻尾だけ個別に質量を設定する」といった細かい調整が可能です。特に耳や尻尾のような小さなパーツの調整に有効です。
- インタラクティブなダイアログ:アドオンを実行するとダイアログが表示され、現在の総質量(デフォルトでは各リジッドボディが1kgのため、リジッドボディの数と同じ値)が示されます。ユーザーはこの数値を希望の総質量に置き換えることができます。
- イベントログへの出力:各リジッドボディに設定された質量がイベントログに出力されます。これにより、設定された値を確認したり、必要に応じてスプレッドシートにコピーしてさらに調整したりすることが可能です。
- リギングプロセスの効率化:手作業での推測や複雑な計算をすることなく、リギングの初期段階における質量設定を迅速に行うことができます。完璧な結果ではないかもしれませんが、目分量やExcelでの推測よりも優れており、特に重心の位置を調整する際の出発点として非常に有用です。
使用手順
Easy Mass Distributionの導入から基本的な使い方、そしてアンインストール方法は以下の通りです。
■インストール
- ファイルのダウンロード: 開発者のGumroadページから
easy_mass_distribution.py
ファイルをダウンロードします。 - ファイルのコピー: ダウンロードした
.py
ファイルをCascadeurのコマンドフォルダにコピーします。- デフォルトパス:
(Cascadeurインストールフォルダ)/Cascadeur/resources/scripts/python/commands
- (オプションとして、整理のために
/rig_additional
フォルダ内に配置することも可能です。)
- デフォルトパス:
- Cascadeurの再起動: ファイルを配置したら、Cascadeurを再起動します。
- アドオンの確認: 再起動後、Cascadeurのメニューの
Commands
→Rig Additional
の中にEasy Mass Distribution
という新しいコマンドが追加されていれば、インストールは成功です。このツールはリギングモードで使用する必要があるため、この場所に配置されています。
■使用方法
- リギングモードへの移行: まず、Cascadeurの画面上部にあるボタンをクリックするなどして、リギングモードに入ります。このツールはリギングプロセスの最終段階、つまり必要なリグ要素をすべて追加し、各リジッドボディのサイズを正しく設定し、必要であればミラーリングも完了した後に使用することが推奨されます。
- リジッドボディの選択(オプション):
- シーン内のすべてのリジッドボディに質量を配分したい場合は、何も選択しないでください。
- 特定のリジッドボディ群(例えば、体の主要部分のみ、または尻尾のみなど)に質量を配分したい場合は、対象となるリジッドボディを選択します。
- アドオンの実行: メニューから
Commands
→Rig Additional
→Easy Mass Distribution
をクリックします。 - 総質量の入力: ダイアログウィンドウが表示されます。ここには、現在選択されている(またはシーン全体の)リジッドボディの総質量が表示されます(デフォルトでは各リジッドボディが1kgなので、その合計値)。この値を、キャラクターに設定したい総質量(kg単位)に書き換えます。例えば、平均的な馬の体重は約500kgなので、「500」と入力します。
- 結果の確認と調整:
- OKボタンを押すと、計算に基づいて各リジッドボディに質量が設定されます。
- イベントログを確認すると、各リジッドボディに設定された質量の一覧が表示されます。これをコピーしてスプレッドシートで管理することも可能です。
- 例えば、馬全体に500kgを設定した後、尻尾が相対的に重すぎると感じた場合は、尻尾のリジッドボディだけを選択し、再度アドオンを実行して尻尾の総質量を例えば2kgに設定します。その後、残りの体のリジッドボディを選択し、総質量を498kg (500kg – 2kg) に設定するといった調整が可能です。
- 最も重要なのは、キャラクターの重心 (Center of Mass) が適切な位置にあるかを確認することです。重心を前後に移動させたい場合は、胸部の質量を減らすなど、いくつかの値を調整してみてください。
次の動画でこのツールの説明をみることができます。
ダウンロード
このスクリプトは、Gumroadページから無料でダウンロードできます(開発をサポートするために任意で少額の寄付も可能です)。
コメント