Tips

Tips

modoでFBIKで制御されたスケルトン角度でモーフを制御する方法

アニメーションで筋肉の動きを表現したい場合や、肘や膝がゴムホースのように曲がってしまうのを補正したい場合にモーフを使用する事があります。
FBIKのようにマトリクスを使用して動きを制御するチャンネルモディファイヤを使用すると、プロパティのトランスフォームの角度が変化しなくなります。FBIKでトランスフォームが変化しないのは計算の優先順位によるもので、マトリクスの計算がトランスフォームより優先的に使用さてるためです。

このような場合に測定ノードの Measure Angle で角度を取得する方法を紹介します。

スケルトンとMeasure Angleを使用して角度を取り出しています。
角度とモーフの強さを調節するため、Relationship を使用して任意の角度における強さをマッピングします。

同様の方法で、太ももの角度をスカートのスケルトンに連動させるような使い方もできます。
測定ノードには角度の他にも距離、速度、スピードの測定ノードが用意されているので、様々なリグを作る事ができます。

Measure Angleを使用せず「ワールド回転からローカル角度を計算する」こともできます。

Tips

modoでファイルパスを切り替える方法


アクションごとのシミュレーションや放射照度キャッシュの保存先を変えたり、レンダリング画像の保存先をフレーム数で変更したりしたい場合があります。modoではファイルパスは文字列タイプのチャンネルとして扱われていて、文字列ノードを使用する事でリグを構築することができます。

上記の画像はアセンブリとして再利用できるようにするためロケータに文字列タイプのユーザーチャンネルを追加し、ファイルパスとファイル名を入力用のチャンネルにしていいます。※
StringComposeノードでファイルパスとファイル名を結合し、結合した文字列をStringSwitchノードで切り替えています。

StringComposeはパターンに$[s:1]$[s:2]のように入力することで、「C:\Temp\」と「Cut1.LXI」のような文字列を「C:\Temp\Cut1.LXI」のように結合する事ができます。入力チャンネルには複数のチャンネルを接続することができます。
$[s:1]は文字列チャンネルの1接続目、$[s:2]は文字列チャンネルの2接続目を意味しています。パターンで整数入力する場合は$[i:1]、浮動小数点数入力の場合は$[f:3]のように入力します。詳細はマニュアル参照。

StringSwitchは入力された複数の文字列を、切り替えチャンネルの値で切り替えることができるノードです。例えば切り替えの値が2の場合は、2個目に接続されたチャンネルの文字列を出力します。
StringSwitchの出力を任意の文字列チャンネルに接続して使用しますが、レンダー出力のファイル名チャンネルのように、出力先の文字列行が(Empty)と表示されているようなチャンネルの場合は、あらかじめ仮のファイルパスを設定しておく必要があります。

文字列タイプのチャンネルはプロシージャルモデリングのSelect By Selection SetやSelect By Polygon Tagでも使用されているので、StringSwitchを使うと表現の幅が広がりそうです。

※modoのアセンブリはノードのチャンネルを直接公開すると、アセットロード時に公開チャンネルが消えたりすることがあります。パーティクル関連のノードは直接入力しても値を無視することがあるため、ロケーターのユーザーチャンネルを経由するとバグっぽい動作につまずかずにすむのでお勧めです。

Tips

modoのプロシージャルで手続へアー

modo のプロシージャル駆使すれば、xismoと同じように手続へアー作れるかも?と思って試してみた。作れるけど細かく制御しようとするとmodoでは面倒で普通にモデリングした方が簡単かもしれません。

プラグインのPolyStrips From Curvesを使用すると、modoでもひとふさごとに髪をモデリングすることができます。

 

アニメっぽい短冊形の手続きヘアー作成というと、LightWaveのプラグインにHairBladeを思い出した。懐かしいです。
FoundryのフォーラムではプロシージャルモデリングのUIがわかり難いというコメント見かけますが、個人的にはMaxライクのスタック表示で、自由度も高いので好きです。

 

参考

Tips

Syflex for modoでスカートのテスト

modoのSyflexでスカートのテスト。アニメーションはCBOXのサンプルファイルを使用。
Syflexはサブフレームの計算精度が指定できないので(開発に聞いてみたところサブフレームは、フォースとコリジョンの複雑さに応じて自動的に計算される仕様)フレームレートを320にして計算してます。
髪にPinじゃなくNail使ってるのでズレてるけど、かなり激しい動きでも大丈夫そうです。計算速度が速いので、コリジョン専用のデータやシーンを作らなくともそこそこの結果に持ってける気がする。

Syflexはシーンのフレームレートに応じてパラメータ変えないといけません。面倒くさいのでアセット作った。フレームレートを変更する場合の計算式はマニュアルに書かれてので、それをスケマティックで再現した感じです。
だけどSyflexノードのチャンネルは値の入力を受け付けないバグがあって結局手入力になりました (´Д`υ)
このバグについては開発元には報告済みです。

Tips

Syflex for modo のキャッシュクリアを便利にする方法

Syflex はDeleteCashを頻繁に使う事になりますが、メニューからアクセスする必要があって面倒くさい。
flex.cfg 136行目のマニュアルへのリンクをcmd syRemoveCacheに変えると使いやすくなります。

Tips

modoでトランスルーセント

modoで葉っぱや紙のような薄い物質を光が通る半透明な質感(トランスルーセント)を設定する方法。
スキャッタリング距離を0にすると質感が切り替わります。

Tips

modoのgooch.fs書き換え方法

modoのビューポート表示はGLSLShaderが使われています。
グーチトーンがGLSLShaderに書き直された時に色が以前のバージョンと変わってしまいました。
見にくいと感じた人はgooch.fsを書き換えることで表示を見やすく変える事が出来ます。
白色で見やすいかも。
https://community.foundry.com/discuss/post/1067703

Tips

modoでPSDをレイヤーごと分けて読み込む方法

modoでPSDファイルをレイヤーごと分けて読み込む時は、画像の読み込みじゃなく「レイヤー画像の読み込み」を使う。
「レイヤー画像の読み込み」はPSDやEXRをレイヤーごと読み込めるけど、レイヤーにペイントは出来ないので注意が必要です。
801の初回リリースからこの仕様だけど、編集できるようになれば便利なんですけどね。

Tips

法線をリアルタイムでモデルに転送

modo 10 のプロシージャルモデリングでTransfer Vertex Mapノードを使うと、オブジェクトのノーマルをリアルタイムで別のオブジェクトに転送できます。
セルルックやゲームモデルを作るときに便利かも知れません。

Tips

modoでアイテムの編集を速くする方法

modoのアイテム編集で体感2〜3倍速くする方法見つけました。
初期設定 / リマッピング / 入力デバイス で「タブレット」にする。またはマウスではなくタブレットを使用するといいです。
環境依存かもしれないけど、Win+ロジクールマウス+modo10の環境では結構速く感じます。

ビューポートが遅い原因はいくつかありますが、たぶんビューポートの再描画が遅い場合に有効です。ACSとかキャラクターリグは顕著に速くなりました。

modoはマウスの移動量とアイテムの移動量が、ビューの重さによって変わります。
重いシーンはアイテムは移動しづらくなり体感的に重くなる。
ペンタブやタブレット入力にすると画面の絶対値で座標を処理するらしく、ビューポートの重さの影響を受けずにアイテムを編集出来るようになるようで体感速度が速くなったように感じます。
ビューポートのFPSは早いのにアイテムの移動が遅く感じるときには、この方法で体感速度が改善されると思います。

プロシージャルのカーブスイープにスプラインデフォーマ設定して、ロケータをアニメーションしようとしたらすごく重い。 気まぐれでペンタブ使ったらグリグリ滑らかに移動出来るようになってマウス入力が原因と気がつきました。

Tips

modoで起動時に特定のシーンを読み込む方法

レンダリング設定やライトやカメラの位置など、modo 起動時のシーンに特定のファイルを使用したいことがあります。このような場合は「デフォルトシーン」を使用します。新規シーン(Ctrl+N) にも対応してます。

以前はスクリプトを使用してmodo起動時にシーンファイルを開くというチップスがありましたが、801からは「デフォルトシーン」を使用した方が簡単で便利です。