Tips

Tips

modoの.cfgファイルについて

modoのフーラムで、フリーズしやすいと言う人にフリースクリプト全部消せばいいよ。というアドバイス見るたびそんな事あるの!?と思ってたんだけど、これは本当です。

modoはcfgで色々できる仕様なんだけど、仕様をよく理解してない人や記述ミスのファイル読むと、標準機能とコンフリクトして一見関係ない機能でフリーズが多発したりします。対処方法は問題のcfgと、modo本体のcfgを削除するしかありません。安定してmodoを使いた人は、フリースクリプトやKitsは入れない方がいいです。

modoは個別のKitsのcfgをキャッシュとして本体のMODOx01.CFGファイル内に残します。この仕様はmodo本体のcfg容量を無駄に大きくするだけでなく、何かダメなKits入れてしまった場合は、modo本体のcfg消す以外の対処方法がありません。

プラグインやスクリプトがKitsとしてを読み込んだ場合は場合は、

ファイルメニュー / システム / キットトグル有効

から任意のKitsをOFFにしてmodoを終了すると、MODOx01.CFGに書き込まれた内容が削除されます。

 

設定をカスタマイズしたら、どうやって保存すればいいのか?

カスタマイズ部分を個別のcfgファイルに保存しとくのが正解だと思います。前述の通りMODOx01.CFGはキャッシュファイルと考える事もできて、定期的に削除する物として考えると、保存したい設定は個別のcfgファイルに保存するのが正しい使い方のように思います。

 

関連

Tips

modoのGoZでサブディビをOFFにする方法

ZBrushからmodoにモデルをGoZすると、デフォルトではサブディビジョンが有効で読み込まれます。
重いデータが更に重い状態になってしまうため困ります。

スクリプトファイル GoZBrushToModo.py の以下の283行目に以下の1行を追加するとサブディビジョン無効状態でGoZからメッシュを読み込むことができます。

lx.eval(‘poly.convert face subpatch false’)

情報元 https://community.foundry.com/discuss/post/991296

Tips

modoでカメラの角度でテクスチャ切り替えるリグ

カメラの角度でテクスチャ切り替えるリグ作ってみた。Live2D Euclid的な感じのことが標準機能でできます。

リグの組み方は単純です。
カメラと平面オブジェクトをDirection Constraintして、平面が常にカメラを向くようにします。
次に平面オブジェクトの角度に応じてテクスチャを切り替えます。ここでは手軽にMatrix to EulerをからY軸の角度を使用しました。

テクスチャのを切り替えは表情を書いた画像ファイルをシーケンスとしてmodoに読み込み、Relationshipを使用して平面の角度とテクスチャのフレーム数がマッチするように設定します。

Tips

MeshFusionでアニメーション

MeshFusionはアニメーション出来るらしいのでテストしてみた。
空中でニンジンが切り刻まれるアニメにしたら、動きすぎて切れていく課程がわからなくなってしまった。
あとで知ったけどMeshFusionアイテムにマテリアルやUV設定出来たのね。

 

MeshFusionsは分割したメッシュは直接物理エンジンに渡せないので、最後はメッシュ化したアイテムと切り替えました。
ピボット移動で回転軸動かするのが楽しくなってしまって動かしすぎた。単純に切るだけの方がテスト動画としては適切だったかも。

901のフィジカルマテリアルは手軽にリアルになりますね。MISのおかげでエリアライトのノイズが減って綺麗になりました。ライトだけじゃ無くて、SSSやブラーリフレクションのサンプリング数もレンダリング設定で一括指定になったらいいのにな。
静止画用途なら文句ないので、次は動画でフリッカーレスなレンダラーに進化して欲しいですね。特にアンチのサンプリング数上げないとサブピクセルのチラツキが酷いのと、GIサンプリングに起因するフリッカー抑制をお願いしたい。

Tips

UIを編集出来る「フォーム編集モード」

modo 901の新機能「attr.editMode」コマンド。
ZBrushのようにボタンをドラッグアンドドロップで、UIのボタンを追加・削除出来るフォーム編集モードに入ります。

Tips

modoでロープ的なの作ってみた

modoでロープ的なの作ってみた。触手も安心。
作り方は単純で SplineFalloff でデフォーマの影響をカーブに沿わせてます。

円柱の場合は Transform デフォーマのエフェクタ用のロケータに、X軸とZ軸をスケールして円柱を細らせる変形を加えます。SplineFalloff を使用して円柱を細らせる位置を、触手オブジェクト周辺の範囲に制限します。

Morphで細らせた形状に対して、SplineFalloffを同じように適用することもできます。細かに形状をコントロールしたい場合は Morph を使用するといいかもしれません。
本当はへこんだ周辺を少し盛り上がる表現がしたかったのですが、2重に変形すれば上手く行くかな。C4Dのようにフォールオフの減衰をカーブUIで編集できると面白いんですけどね。

Tips

modoのプロシージャルシャッター機能


901からプロシージャルシャッター機能が追加されました。
衝突の強いところから自動的にオブジェクトが粉砕されて、オブジェクトが段階的に粉々にできます。
あまり期待してなかったけど思ってたより使えそうで面白いです。処理はそれなりに重い。

プロシージャルシャッターはオブジェクトをバラバラにする機能です。これまでも「シャッター&グルー」という機能がありオブジェクトをバラバラにすることができましたが、破片ごとに別オブジェクトになったり、粉砕の設定を変えるたびにオブジェクトが生成されるためシーン管理が煩雑になっていました。
プロシージャルシャッターは手続き的にオブジェクトを粉砕できるので、設定の変更やオブジェクトの管理が楽です。

プロシージャルシャッターのパラメータについて簡単にメモしておきます。
「破片/立方メートル」の値を上げると細かく粉砕されます。「最小容積」で細かくなる破片のサイズ最小サイズを設定します。

「最大レベル」は破片が壊れる回数で、「破断までの寿命」が何フレームおきに粉砕判定するかの設定です。
「破断までの寿命」が5の場合は5フレ間隔で粉砕の判定が行われ、破片が「最大レベル」に設定された値だけ分割されます。
キーフレームを設定できるので、特定のフレームからより細かく粉砕するようなことができて便利です。

オブジェクトの壊れやすさは「密度」と「破断加重」で設定します。
「破談加重」は粉砕のしやすさの設定で、「破談加重」の値を下げると「密度」が小さくとも壊れやすくなります。

「最小容積」や「破片/立方メートル」の値は「パターン」に依存するみたいです。パターンを変えたら値を変更しないと同じように粉砕できないような気がします。

Tips

modo の Sculpt Layer

modo 901で新しく搭載されたSculpt Layer使ってみた。
軽く試しただけなので複雑な形状の再現性がイマイチだけど、トポロジー気にせずモデリングできる機能に成長して欲しいですね。
現状は重くてボーン設定して動かそうとは思えないけど、将来的にそんな使い方ができて欲しい。

Tips

modoでレゴや8bitなエフェクト作ってみた


作り方の流れはParticle Generatorを使って空間にブロックを等間隔に敷き詰める。
ブロックの「サイズ」をデフォルト状態で0に設定して見えないようにし、Intersectを使ってトーラスの近くと判定したブロックだけ「サイズ」を100%にしています。

ブロックの色はバリエーションテクスチャ使用しています。トーラスのサーフェイス色を拾って、ブロックが単色になるように設定したかったけど上手い方法が思いつかなかった。

スケマティックはこんな感じです。

少し細かく解説してみます。
スケマティックの上の処理は単純で、Particle Generatorで空間にブロックを敷き詰めるためにパーティクルを発生させています。

Particle Generatorは直接Particle Simulationに接続できないので、Source Emitterの「パルス」を使用してParticle Generatorが生成するパーティクルから、パーティクルが1個だけ発生するように設定しています。このときパーティクルが移動すると困るので「初期速度」「速度の広がり」を0に設定します。こんな感じ↓

スケマティックの下の部分はトーラスオブジェクトにパーティクルが近いか遠いかを判定してます。

まずParticle Operatorを追加して「位置」「サイズ」を追加し、つぎにトーラスのポリゴンメッシュと、パーティクルの距離をIntersectを使用して判定します。IntersectデフォルトではTypeがLineになっているので、Surfaceに変更します。

Intersectはオブジェクトの表面にオブジェクトを沿わせることができる便利なノードですが、今回はパーティクルとポリゴンの距離を測定するのに使用しました。

Intersectはマトリクスを使用するので、Particle Operatorの「位置」をMatrix Constructを使ってマトリクス型に変換します。

トーラスは移動、回転、スケールをアニメーションさせるので Matrix Composeを使用して移動、回転、スケールを含んだマトリクスにします。Matrix Composeの「マトリクス入力」は接続順で計算するので、スケール、回転、移動の順番でチャンネルをリンクします。

最後にIntersectの「距離出力」をRelationshipを使用して「サイズ」にリンクします。Relationshipのグラフではパーティクルとトーラスの距離が10㎝のとき「サイズ」を100%にするというように設定します。

最初ブロックの表示/非表示にディゾルブを試してみたところ、レンダリングでは反映されるけどビューポートでは表示されたままになって不便だったため、サイズを使用することにしました。

サイズが0でも内部的には全部のメッシュを計算してるようで、ビューポートの動作が重いです。こういうところは早く最適化して欲しいですね。

Tips

台風でコロッケ飛ばされてきた

カメラトラッキングしたかっただけです。。。
コロッケはmodoのソフトボディーを使用ました。

壁に当たってからゆっくり落ちる表現は、コロッケがぶつかるコリジョンオブジェクト付近にだけ作用するようにフォールオフを設定した下向きのLinear Forceを配置しています。
それだけでは上手く行かなかったので、横向きにコロッケを飛ばす用のLinear Forceの「強さ」にキーを設定して、徐々にフォースの強さを弱くしています。
横向き用のLinear Forceにもフォールオフを設定していて、これは等間隔に配置したコロッケを段階的に飛ばすために使用しています。

Tips

modoでホーミングミサイル

modoのパーティクルノードでホーミングミサイルを作ってみた。
ミサイルの動きはFlashゲームなんかで使われてるのと同じ基本的な計算を使用しています。球体は正弦波ノードで自動的にアニメーションしてます。
パーティクル全体のスケマティックはこんな感じです。

全部解説すると大変なので、ミサイルが追尾する部分の処理について解説してみます。
追尾部分だけ表示するとこんな感じです。

上の部分はメッシュからSurface Emitterを使用してミサイル用のパーティクルを発生させています。
Particle Simulation は Particle Look At Modifier を経由してリプリケータに接続します。
Particle Look At Modifier はミサイルが目標アイテム方向を向くように設定するために使用しています。

下の部分がミサイルが追尾する処理です。modoではパーティクルの動作はParticle Operatorを使用します。Particle Operatorはパーティクル1つ1つに対して様々な動作を設定可能にするノードです。

ベクトルを求める

Particle Operatorに「位置」「速度」「フォース」チャンネルを追加します。
目標アイテムの「位置」(画像ではロケータ)とParticle Operatorの「位置」を、ベクトル演算ノードを使用して「減算」します。「位置」を減算することでパーティクルと目標アイテム2点の方向を求めています。
減算の出力結果をベクトルノードの 長さの設定ノード を使用して「長さ」を設定します。
この処理は毎フレーム計算されます。

パーティクルを目標アイテムの方向に移動させる

長さの設定ノードの出力結果と、Particle Operator の「速度」をベクトル演算ノードを使用して「減算」します。
減算した出力結果を「フォース」に接続します。ベクトル演算ノードの出力をそのまま「フォース」に接続すると値が大きすぎるので、演算ノードを使用して値を小さくします。

以上でホーミングミサイルの完成です。
ちなみに短時間でこういう表現を作りたい場合は、LWのフロッキング機能を使用した方が圧倒的に早いですw あらかじめ機能がまとまって用意されてるのは手軽でいいですね。
modoのパーティクルは自由度が高くて素晴らしいのですが、MaxやLWで手軽に作れるような表現も、計算方法を調べて検証するところからスタートになるので時間がかかってしまいます。Particle Expression Modifier でバリバリ処理できれば色々凄い表現ができる気がします。

Tips

modoでオートリトポ

modo 801にはオートリトポその物はありませんが、実験的な機能として mesh.octree コマンドが搭載されています。ドットモデルっぽく変換する事もできるので試してみると面白いかも知れません。

relaxを使用すると、オートリトポのようなポリゴンを削減したようなメッシュを生成してくれます。


boxesを使用すると、ドットモデルのようなポリゴンメッシュを生成します。


 

modo 10.2で正式にオートリトポ機能が搭載されました。