Modo

Tips

modoのパーティクルをサーフェースに沿って動かす方法

今回はメッシュの表面に沿ってパーティクルを動かす方法について書いてみたいと思います。

■サンプルファイル

アイテムのスナップ移動」でも軽く書いてますが、modoのパーティクルシステムは他のソフトと違い、アイテムのリギングで使用するノードをそのままパーティクルシステムで使用することができます。
汎用性が高くて面白い特長ですが、どうすれば欲しい表現を実現できるかわかり難いと感じることもあると思います。そこで「パーティクルをサーフェースに沿って動かす表現」を作る場合の考え方、どんな感じでノードを使えばいいか手順を書いてみます。

 

1.サーフェースに沿わせたい →「交差サーフェース」コンストレイント

パーティクルをサーフェースに沿わせたい場合、まずサーフェースと交差判定できるノードが必要そうだと思いつきます。modoのアニメーション機能でサーフェースと交差判定できる機能といえば、「交差サーフェース」コンストレイントです。

「交差サーフェース」コンストレイントは、サーフェース表面にロケーターをくっつけてくれる機能です。操作の基準となるアイテム、メッシュアイテムの順番で選択してモディファイヤタブの「交差サーフェース」ボタンを押すと、サーフェース表面に沿って移動するロケーターを生成してくれます。

スケマティックでノードの繋がりを見るとこんな感じになってます。

Toroidアイテムと、操作の基準となるアイテム(Locator)がIntersect ノードにつながって、交差位置用のアイテム(Locator_2)に位置が出力されていることがわかります。

このノードの処理をパーティクルで組めば同じようにサーフェースに沿ったパーティクルの移動が作れそうです。

 

2.「交差サーフェース」コンストレイントと同じ処理をパーティクルで組む

スケマティックはこんな感じです。Intersectの流れを見比べると「交差サーフェース」で作られたノード構成と同じようにリンクされてるのがわかると思います。

Particle Operatorの特性で「位置(Read Only)」「位置」の2チャンネル追加して、「交差サーフェース」と同様にノードをリンクします。Intersect の「位置出力」のチャンネルタイプマトリクスなので、Matrix Vectorを使用して「位置」チャンネルにリンクできるようXYZ軸に変換します。

 

「位置(Read Only)」「位置」について

パーティクルは「位置(Read Only)」「位置」の2つのチャンネルを使用することで、他のノードで計算した結果を戻すことができるようです。
modoは1つのノードであれば依存ループにならずに計算出来るのですが、パーティクルの場合は1つだけでは複雑な計算ができないため、このような動作になってるのかもしれません。

 

VDB Voxelを使用してメッシュを作成すると、サーフェース表面を水が流れるような表現にも使えそう。

パーティクルをサーフェースに沿って動かすのは Particle Snap Modifierを使用しても同じような表現は可能ですが、Particle Snap Modifierはパーティクルそのものの位置には影響がありません。
例えばサーフェースに沿って動いてるパーティクルから、さらにパーティクルを発生させたい場合には今回紹介した方法が便利だと思います。

Tips

modoのプロシージャルモデリングでソフトクリーム作ってみた

暑いのでmodoのプロシージャルモデリングでソフトクリーム作ってみた。プロシージャルにこだわって作ったので、モデルの形状は雰囲気です。

■サンプルファイル(13.1)

 

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

 

クリーム

クリームの螺旋はSpiral Curveアセンブリを使用してます。Transform Effectorを使ってカーブをアニメーションしてます。そのカーブをmodo13.1で追加されたCurve Sweepを使用してクリームのメッシュを生成してます。クリームのシルエットやカップコーンに入る部分の調節にはラティスデフォーマを使用してます。

Curve Sweepは複数のパスを使用して押し出したり、ミニグラフを使用してカーブの太さを制御できるので便利です。

 

スプリンクル

クリームのふりかけ(スプリンクル)は、ReplicatorとLinear Falloffのイージングを使用してアニメーションしてます。カラフルな色のレンダリングにはVariation Textureを使用してます。

変形するメッシュにSurface Particle Generatorを使用するとフレーム単位でポイントの位置が変わってしまうことがあるので、中央のソフトクリームはアニメーション終了時のメッシュを別アイテムとしてコピーしてSurface Particle Generatorのソースとして使用しています。

プロシージャルモデリング用のメッシュにダイレクトモデリングしようとすると警告が表示されますが、ポリゴン選択してコピーすることはできるので便利です。

 

コーンカップ

コーンカップはコーン断面のパスを作成し、Radial Sweepを使用してコーンがあらわれるアニメーションにしてます。Radial Sweepには始点と終端のキャップを生成するオプションがあるのですが、あまり形状が綺麗にならなかったのでOFFにしました。

 

 

modoのプロシージャルモデリングはアニメーションでは使うには遅いのが気になります。クリームが落ちてくる速度と形状がいまいちなのですが、動作が遅いのでタイミング詰めるのあきらめました。今回はプロシージャルにこだわって作りましたが、クリームのらせん形状はデフォーマを使ってアニメーションしたほうが軽く作れるかも知れません。

プロシージャルモデリングはモデリングするときに便利ですが、アニメーションで使用するにはもう少し速度が改善されると嬉しいですね。今後のバージョンアップで快適に動くようになるのを期待してます。

参考資料

Infinite Patterns

modoとC4Dで作られた短編映像です。メイキングが公開されており、modoを使用した蜂のアニメーションやUVTransformを使用した蜂の目や建物の模様のモデリングが素晴らしいです。C4Dの幾何学的なアニメーションもすごく便利そう。

Tips

modoのプロシージャルモデリングでクラシックなメッシュ粉砕

modoのプロシージャルモデリングを使用して、クラシックなメッシュ粉砕表現について書いてみます。プロシージャルモデリングはアニメーションを想定した機能が弱く、あまりいい表現にはなりませんでした。

■サンプルファイル

現在のように「シャッター&グルー」のようなボロノイ分割があたりまえの表現になる前は、ポリゴンが分かれて縮小するような表現を「粉砕」と呼んでいました。そんなゲームっぽいクラシックな表現ができたらいいなと思ってプロシージャルモデリングでどこまでできるかチャレンジしてみました。下の画像はC4Dの粉砕機能。

 

modoのスケマティックはこんな感じ。アセンブリとして再利用できるように作ってみた。

  1. Merge Meshesで粉砕したいメッシュを統合します。
  2. Polygon Bevelの「グループ化」をOFFにしてベベルをかけます。
  3. DeleteとSelect by Previous Operationを使用してベベルの「側面」を削除します。
  4. Push Influenceを使ってメッシュが波うつように変形します。
  5. Deleteを使ってメッシュを削除します。

アニメーションはLinear Falloffを使用してタイミングを調節しています。レンダリングにはCel Edges Materialを使ってみた。

 

単純な形状なのでそれっぽく見えるかも知れませんが、ベベルを使用するとポリゴンが小さくなる表現がうまくいかないです。
ベベルの「インセット」は長さ指定なので、大きな値を設定するとベベルが反転します。本来やりたかったポリゴンが小さくなって消える表現をするにはベベルが反転しないオプションか、「インセット」をポリゴンの大きさに合わせて%で指定するようなオプションが欲しくなります。
もしくはTransform Deformerにアクションセンターのローカルようなことができる機能が追加されるといいですね。何かいい方法あるのかな。

あと複雑なモデルを使用したとき、フォールオフが効かなくなったり怪しい動作に遭遇しました。サンプルファイル開くとわかりますがSelect by Previous Operationが原因のような気がします。

ロゴのスライスアニメーションを作ったときにも思いましたが、modoのプロシージャルモデリングはもっとアニメーションを考慮したオプションが増えて欲しいですね。アニメーションの場合は滑らかにモデリング処理を適用したいんですよね。
あとEdge SplitにTool Pipeがあればベベルを使用しなくて済むのでノード数が減らせるはずなので、Tool Pipeのような基本機能は全てのモデリングノードで統一して使えるように整備して欲しいな。

 

似たようなメッシュを粉砕する表現にはソフトボディーを使う方法もあるので、色々試してみると面白いと思います。

 

参考

https://community.foundry.com/discuss/post/1092610

Tips

modoでネットワークレンダリングする方法

今回はmodoの標準機能を使用してネットワークレンダリングする方法について書いてみます。modoのネットワークレンダリングは静止画と動画の両方に対応してます。Bonjourを使用すると設定も簡単でお勧めです。

 

ネットワークレンダリングとは

ネットワークレンダリングはレンダリング時間を短縮するために、複数のPCを使用して計算を分散してレンダリングする機能です。
3DCGのレンダリングは一般的に絵の品質を高めれば高めるほど時間がかかります。映画だと1秒間におよそ24コマ(フレーム)の絵を必要としますが、1フレームあたりのレンダリング時間は速いものだと1~5分間。遅い物だと1時間以上かかることも普通にあります。動画を作る場合は1台のPCで全てレンダリングするのは大変なので、複数のPCを使用してネットワークレンダリング(分散レンダリング)を行うのが一般的です。

 

ネットワークレンダリングの注意点

ネットワークレンダリングにはPCの使い方や、ネットワークに関する最低限の知識が必要です。ネットワークレンダリングでつまずきやすい点をまとめてみました。
modoではシーンファイルを読み込んでレンダリングを実行するPCを「マスター」、マスターからシーンファイルを受信して分散レンダリングするPCを「スレーブ」と呼びます。スレーブPCはmodoのライセンスがなくてもレンダリングに使用することができます。

  • マスターPCとスレーブPCに同じバージョン(ビルドナンバー)のmodoをインストールする
  • マスターPCからスレーブPCにファイルアクセスできることを確認する
  • レンダリング画像の保存先はネットワークパスを使用する
  • ファイアウオールの設定を適切に設定する
  • 必要に応じてBonjour をインストールする

 

同じバージョン(ビルドナンバー)のmodoをインストールする

あたりまえの話ですがmodoはバージョンアップごとに機能が追加されるため、同じバージョンのmodoを使用しないとレンダリング結果が異なることがあります。そのようなミスを防ぐためmodoは同じバージョンのスレーブとだけ通信します。これはmodoに限らず他の3Dソフトでも同じですね。

 

マスターPCからスレーブPCにファイルアクセスできることを確認する

マスターPCとスレーブとして使用するPCが同じネットワーク内に存在していて、お互いのPCが通信可能か確認しましょう。ネットワーク共有したフォルダにアクセスできれば問題ありません。たまにネットワークにPCが見えていてもアクセス出来ないことがあります。

 

レンダリング画像の保存先はネットワークパスを使用する

レンダリング画像の保存先はネットワークパスを使用します。これもあたりまえの話ですがマスターPCで「C:\RenderImage」のようなローカルパスを出力先に指定しても、スレーブPCからは画像を保存することができません。ネットワークにフォルダを共有して「\\MyPC\Share\RenderImage」のようなネットワーク経由のファイルパスを使用しましょう。

 

ファイアウオールの設定を適切に設定する

Windowsには「Windows Defenderファイアウオール」が標準で入ってます。modoがネットワークと通信を行う場合、ファイアウオールが通信を遮断してしまうことがあります。その場合はmodoが通信を行えるように適切に設定する必要があります。
追加でセキュリティーソフトを使用している場合も同様に、通信が遮断されないように通信の許可ルールを設定する必要があります。

もしも通信がうまく行かない場合は、PCのファイアウオールを一時的に無効にして通信が成功するか確認し、どこに問題があるかしぼり込むといいです。ネットワークの通信設定は少し面倒くさいので、わからないことは検索して頑張ってください。

 

必要に応じて Apple Bonjour をインストールする

Windows版のmodoをインストールする時、modo11.0まではmodoと同時にApple社のBonjourというソフトがインストールされていました。modo 11.1以降はBonjourがインストールされなくなったため、Bonjourを使用したい場合には別途インストールする必要があります。

Bonjourとは

BonjourはApple社が開発しているソフトです。「何の設定も行わず機器を使用可能にする」という目的のソフトで、面倒な設定を必要とせずLAN内でソフト間の通信を可能にします。Appleのメディアプレイヤー「iTunes」をインストールすると「Bonjour」もインストールされます。

 

ネットワークレンダリングの手順

ネットワークレンダリングはスレーブPCでmodoスレーブモードを起動、次にマスターPCのmodoにシーンファイルを読み込んで、レンダリングを実行するという手順で行います。
ネットワークレンダリングで使用されるシーンファイルは1度テンポラリに保存され、各スレーブPCに転送されます。

スレーブPC

スレーブPCはマスターPCからシーンファイルを受信してレンダリングする役割のPCです。マスターPCからレンダリングを実行する前に、modoをスレーブモードで起動する必要があります。

1. PCにmodoをインストールして起動します。

「Modo13.1v1j_Windows.msi」を使用して通常通りmodoをインストールします。modoは複数台のPCにインストールするこが許可されているので、好きな数だけPCにインストールします。

 

2. スレーブモードに設定します。

スレーブモードを設定するにはmodoをライセンスが無い状態で起動します。すると「ライセンス」ダイアログが表示されます。

ライセンス ダイアログの「高度」ボタンを押すと、いくつかのオプションが表示されるので「スレーブとして起動」を押します。

「レンダースレーブ」ダイアログが開き、modoが待機中になります。

Windowsのセキュリティ警告が表示された場合は「アクセスを許可する」を押してください。キャンセルするとファイアウオールに通信がブロックされレンダリングに参加出来なくなります。

 

ライセンスインストール済みのmodoをスレーブモードにしたい場合はレンダーメニューから「スレーブモードに設定」を使用します。

以上でスレーブPCの準備完了です。もしサードパーティのプラグインを使用している場合は、スレーブPCにもプラグインをインストールする必要があります。

 

modo_cl.exeのスレーブモード

modoを起動してスレーブモードにすると、フルスクリーンで起動してGUIのサイズが変えられないので邪魔です。コマンドライン用のmodo (modo_cl.exe)に起動オプション -slave を使用すると、modo_clをスレーブモードにすることができます。ショートカットを作成しておくと便利に使えるのでお勧めです。

 

マスターPC

マスターPCからネットワークレンダリングを実行する手順です。
modoにはスレーブPCと通信を行う方法が2種類あります。「Bonjour」を使用する方法と「ホストリスト」を使用する方法です。両方の方法を紹介しますが「Bonjour」を使用する方法がお手軽だと思います。

 

Bonjourを使用したネットワークレンダリング

Bonjourを使用するメリットは手軽に通信が行えることです。

1. modoを起動してシーンファイルを読み込む

2. ネットワークビューでスレーブPCを確認する

「ネットワークビュー」を開いて、スレーブPCがリストされていることを確認します。スレーブPCが表示されない場合は、ファイアウオールの設定など注意点を確認してください。

スレーブPCの状態は●の色で表示されます。

  • 緑色 : 互換性がありレンダリングが可能です。
  • 灰色 :互換性がありますが、レンダリングの準備ができていません。
  • 赤色 : 通信できません。または互換性がありません。

灰色でもレンダリングすると動くことが多いので、とりあえずレンダリング実行してみるといいです。

 

3. ネットワークレンダリングを設定する

「初期設定」ウィンドウを表示し「最終レンダリング」の項目で「ネットワークレンダーノードを使用」「ボンジュール経由でレンダーノードを検出」をONにします。

好みに応じて「ネットワークノードでのみレンダリング」「ネットワークレンダーノードへフレーム全体を送信」を設定します。

ネットワークノードでのみレンダリング

マスターPCをレンダリングに参加するかどうかの設定です。このオプションがONの場合、レンダリングはスレーブPCのみで実行されます。マスターPCで他の作業がしたい場合はONがいいと思います。

ネットワークレンダーノードへフレーム全体を送信

フレーム単位で分散するかどうかの設定です。このオプションがONの場合、1フレーム単位でスレーブPCに分散します。アニメーションをレンダリングする場合はONがいいです。

オプションがOFFの場合、1フレーム(1枚の画像)をバケット単位で分散します。静止画をレンダリングする場合はOFFがいいと思います。レンダリングウィンドウでは、スレーブのバケットが青枠で表示されます。

 

4. レンダリングを実行する

「アニメーションをレンダー」 または「F9」を押します。ファイルの出力先にはネットワークパスを指定します。

レンダリングウィンドウが表示され、レンダリングの進行状況やスレーブPCの数が表示されます。レンダリングウィンドウは下のバーをドラッグしてネットワークビューを表示することもできます。

 

ホストリストを使用したネットワークレンダリング

ホストリストを使用するメリットはレンダリングするPCを指定できることです。例えば10台のスレーブPCうち、5台でレンダリングするというようなグルーピングが可能になります。

1. modoを起動してシーンファイルを読み込む
2. ネットワークレンダリングを設定する

「初期設定」ウィンドウを表示し、「最終レンダリング」の項目で「ネットワークレンダーノードを使用」をON、「ホストリスト経由でレンダーノードを検出」をONにします。

好みに応じて「ネットワークレンダリングでのみ」「ネットワークレンダーノードへフレーム全体を送信」を設定します。

 

3. ホストを追加する

初期設定ウィンドウの「ホストリスト」の項目でホストを追加します。「ホストを追加」ボタンを押して「新規ホストエントリ」ダイアログを表示し、PC名 または IPを入力します。

リストでホストを選択して、右上の「ホストをテスト」を押してスレーブPCと通信可能かテストします。
次に「選択の接続」を押すと、ネットワークビューにPCがリストされネットワークレンダリングで使用可能になります。

 

4. レンダリングを実行する

「アニメーションをレンダー」または「F9」を押します。ファイルの出力先にはネットワークパスを指定します。

レンダリングウィンドウが表示され、レンダリングの進行状況やスレーブPCの数が表示されます。

 

ネットワークレンダリングはBonjourを使用すれば比較的手軽におこなうことができて便利です。
今回modo標準機能を使用したネットワークレンダリングの記事を書いてみましたが、modo標準のレンダリングマネージャーは安定性や信頼性が高くないようです。大規模なシーンのレンダリングではDeadlineのようなレンダリングマネージャー(ディスパッチャー)を使用した方が、PCの性能を考慮して賢く分散処理してくれる気がします。

 

参考

ネットワークレンダリングの手順
https://learn.foundry.com/modo/content/help/pages/rendering/network_rendering.html

ネットワークレンダリングのトラブルシューティング
https://learn.foundry.com/modo/content/help/pages/rendering/nr_troubleshoot.html

CG News

MODO 13.1 リリース

modo 13.1がリリースされました。13.1は3部構成となるModo 13シリーズの2番目のメジャーリリースです。
https://community.foundry.com/discuss/topic/148622/modo-13-1-is-now-available

Modo 13.1の改良点
  • 新しいツールプリセットシステムにより設定を保存、再利用、共有することができます。
  • ポリゴンベベルツールとプロシージャルベベルオペレータの新しい[境界を開く]オプションによるベベルの改善。
  • MeshFusionモデリングはカーブメッシュアイテムを受け入れるようになり、Fusionサーフェスストリップとして生成されるカーブでサーフェスをより簡単にカットおよびシェイピングできるようになりました。
  • 靴ひも(穴、曲線、ジオメトリなど)の構築プロセスを合理化するコマンドの新しいパッケージワークフロー。
  • モーフコンテナはリギングツールセットに新しく追加されたもので、メッシュとは別の修正形状を保存できます。
  • スクロールフォームにより、ナビゲーションパラダイムをユーザーのニーズに応じて操作できます。

 

パフォーマンス

 

アドバンスドビューポート

 

アニメーションとリギング

 

ダイレクトモデリング

 

MeshFusion

 

手続きモデリング

 

シェーディング

 

ワークフローとUI

 

Script

 


今回のアップデートではいくつかお気に入りの機能追加がありましたが、最も注目しているのはアニメーション再生パフォーマンスの改善です。これまでもいくつかパフォーマンスに関するアップデートがありましたが、実際のシーンではあまり改善が感じられませんでした。13.1ではサーフェス計算コードが書き直され、新しいAPIを使用するようになりました。この改善によりアニメーション再生パフォーマンスがおよそ2倍になりました。modoの歴史の中で最も大幅なアニメーションパフォーマンスの改善だと思います。
現在のところこのパフォーマンス改善はフェースポリゴンに限定されていて、サブディビジョンを使用した場合は以前のバージョンに近い速度になてしまいます。私が確認した範囲ではOpenSubdivを使用するとフェースポリゴンに近い速度で再生できることを確認しています。
このサーフェス計算コードの描き直しはmodo全体に影響するためモデリングにも恩恵があります。1アイテムに多くのポリゴンが存在するアイテム編集のパフォーマンスも向上してるとのことです。
他にもアニメーション再生時にタイムラインの再描画を抑制、アイテム選択中の再生パフォーマンスの改善、アプリケーション全体で発生するイベント処理の改善、マルチスレッド化の基礎が追加されてます。今後も継続してパフォーマンスの改善に取り組むようで嬉しいですね。

他のお気に入り機能はバウンディングボックス描画にアニメーション再生時オプションが追加されました。あとはトランスフォームツール編集中にバウンディングボックス表示にしてくれれば完璧なので、ぜひ対応をお願いしたいところです。

リネーム機能が標準搭載されたことも嬉しい。メッシュアイテムの一括リネームや、文字列の置換、プレフィックスやサフィックス追加など定番の機能がそろってます。

UI改善で最も嬉しいのがスクロールバーの追加!今までプロパティの表示範囲が狭いときは省略ボタンが表示されていました。この風変わりなUI機能はLightWave 6.5からの付き合いですが、クリック数が増えるだけで全くメリットを感じなかったです。ついにスクロールバーが追加されて便利にになりました。タブを複数選択して表示できるようになったのも素晴らしいです。

CurveSweepが追加されて、複数のカーブに一括でパス押し出しできるようになったのも凄く便利です。

 

13.1リリースに会わせて行われたライブストリーミングではmodoの今後について語られています。modoの強みであるモデリング機能を継続的に強化することや、Siggraphで発表された新しいパストレースレンダラーの詳しい話、さらに高い要望のあったフルボディーリグ用の新しいIKソルバを開発中とのことです。13.2のオープンベータが待ち遠しいですね。

Tips

modoでモーショントレイル表現

modoでモーショントレイル、アイテムが移動したときの軌跡の作り方について書いてみたいと思います。モーショングラフィックでよく見かける表現です。

■サンプルファイル

 

スケマティックはこんな感じです。modo 13で追加されParticle ArrayとCreate Polygonsを使用します。

Arrayとは

Arrayはポイント、カーブ、アイテムの位置、文字列など様々な値から、頂点番号のような配列データを生成するノードです。Create Polygonsは配列データ使用してポリゴン、ライン、カーブを生成するノードです。
ArrayとCreate Polygonsを使用すると、modo 12以前ではできなかったアニメーション可能で自由度の高いポリゴン生成ができるようになります。

 

今回のモーショントレイルのような表現では、Meshの頂点をParticles to Arrayの「複数フレームモード」を使用してアニメーション全体の配列データを生成しています。
カーブの長さをアニメーションさせるためFilter ArrayとInt Range From Patternを使用して、カーブの始点と終点の位置をアニメーションしてます。最後にCreate Polygonsでカーブを生成します。

Curves to Arrayを使用すると、Create Polygonsで生成したカーブ間にポリゴンを貼ることができます。NURBSサーフェースのような制御ができて面白いですね。

静止したカーブをレンダリングする場合は、アイテムのプロパティで「カーブをレンダリング」をONにします。

アニメーションをレンダリングするとこんな感じになります。カーブごとに色を変えるのは、Variation Textureを使用しています。

 

ホーミングレーザーっぽい表現にも使えそう。

 

サンプルファイルではカーブ生成用に専用のメッシュを使用していまが、本当はSurface Particle Generatorを使用してランダムな位置からカーブを生成しようと思ってました。ですがSurface Particle Generatorを使用すると動作が遅くなるのでやめました。

ほかにもCreate Polygonsが原因なかわかりませんが、2つほど問題に遭遇しました。

  • モーションブラーを使用するとレンダリング時にカーブが消える。
  • GLよりカーブが短くレンダリングされる。

Arrayの使い方に失敗してるのかも知れませんが、安定した動作でより高度な表現をしたい場合には「TracerX」を使用するのがよさそうです。

 

参考

Arrayのステキな使い方が紹介されてるスレッドで、とても参考になります。https://community.foundry.com/discuss/topic/146466/arrays-in-the-mix

CG News

Quad Remesher

3ds Max、Maya、Modo で動作するクワッドリメッシュ化プラグインがリリースされました。
https://exoside.com/quadremesher/

価格

  • 永久Proライセンス:$109.90
  • 永久インディーズライセンス:$59.90ドル
  • サブスクリプションライセンス:$15.99/3ヶ月間

 

modo版のレビュー。

Tips

modoでアイテムが粉砕されて別のアイテムに変わる表現

modoでアイテムが粉砕されて、別のアイテムに組変わる表現について書いてみたいと思います。基本的には以前書いた記事の組み合わせでできる表現です。

 

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

 

最初にアイテム2個(球とトーラス)を Shatter を使用して粉砕します。粉砕タイプはUniformを使用します。破片の個数は球とトーラスで同じ数を設定します。
粉砕したアイテムは Locators to Array とCreate Polygonsを使用して、アイテムのセンターの位置に頂点を作成します。この頂点からSource Emitterを使用してパーティクルを発生させます。今回はWind ForceとCurve Forceを使用してパーティクルを制御しました。

 

球とトーラスのParticle Simulationのうち、どちらか一方を CSV Point Cacheを使用してキャッシュします。またCSV Point Cacheの「オフセット」を使用してシミュレーションを逆再生にします。

 

Particle Simulation_3では「パーティクルの位置をブレンドする方法」と同じく Matrix Blendを使用してパーティクルをブレンドします。こうすることで球から発生したパーティクルが、トーラスの位置に移動するパーティクルを制御できます。

 

Particle Simulation_3をMerge Meshesし、Create Polygons_3でラインを生成します。このラインメッシュに粉砕したアイテムを「頂点の位置コンストレイント」することでアイテムをアニメーションしています。粉砕したアイテムを球からトーラスに変えるところは「アイテムインフルエンス」を使用します。リニアフォールオフを使用して球の破片はスケールが100%から0%になるように設定し、トーラスの破片はスケールが0%から100%に変わるように設定しています。

スケマティックでは粉砕したアイテムを循環して使用してますが循環させない方がいいです。循環させるとコンストレイントの影響でアイテムの位置からパーティクルが発生しなくなります。少し煩雑になりますが粉砕したアイテムは複製して、 Locators to Arrayで使用するアイテムと、コンストレイントするアイテムはわけた方がいいです。


「頂点の位置コンストレイント」は複数のアイテムを同時にコンストレイント設定できないので、「コンストレイント補正オプション」をONにして、手動で1つずつコンストレイントしました。ちょっと面倒くさいですね。

 

パーティクルをフォローするようにカメラ移動するとこんな感じになります。

Iridescence Materialとクリアコートを設定してレンダリングしてみまた。Iridescence Materialは虹色の反射を設定できるので、たまに使うと面白いですね。

参考資料

Talking animals | made with modo

modoを使用したCMとメイキング映像が公開されています。トラッキングにSyntheyes リグにCharacterBox、Modoのネイティブのファーマテリアル、AfterEffectsで合成とのことです。メイキングではテクスチャのペイントにもmodoを使用してるみたいですね。

CG 日記

上野さん作ってみた

漫画「上野さんは不器用」の上野さんを作ってみた。アニメ化されてるけど漫画ベース。画像をTwitterに投稿してたのが 2018年6月28日、けっこう古い。

 

CBOXでリグ入れ。脚のIK移動に合わせてスカートが動くようにしてみた。スカートのリグについてはこちらの記事に書いてます。

 

手描きの絵っぽく、カメラの位置で顔とツインテール補正するリグ作ってみた。カメラの位置を使うリグはこちらの記事と同じ方法で、リレーションシップを使ってスケルトンの位置を移動してます。

ビューポートのセルルックな質感はMatteCapシェーダーを使ってます。modoではMatteCapをレンダリングで使えるので、このままレンダリングできます。

 

髪と顔をアニメ版によせてみた。

CBOXのテストを兼ねて作ったモデルだったのですが、スプラインIKやスケールのアニメーションをサクサクいじれて楽しい。アニメっぽい誇張表現が手軽に作れます。

CBOXはいわゆるモジュラーリグ呼ばれるリグシステムで、あらかじめ用意されたリグを組み合わせてレゴブロックのようにオリジナルのキャラクターリグを簡単に構築できるプラグインです。ボタンクリックで高度なリグを構築できて便利です。

参考資料

「斗え!スペースアテンダントアオイ」メイキング

「斗え!スペースアテンダントアオイ」のメイキング記事が公開されています。由水 桂氏といえばLightWaveユーザーの印象が強かったですが、現在はモデリングにmodo、アニメーションにMotionBuilder、リグとレンダリングにMayaを使用されてるみたいです。
https://cgworld.jp/feature/201907-keica1.html
https://cgworld.jp/feature/201907-keica2.html

続きを読む

Tips

modoのダイナミックリプリケータ

今回はReplicator通しのコリジョン計算を行うダイナミックリプリケータについて書いてみます。ビンにあめ玉を入れたり、アイテムをばらまくときに便利です。

サンプルファイル

 

modoではパーティクルにメッシュを複製する場合はReplicatorを使用しますが、パーティクルとメッシュにコリジョン判定を設定してもReplicator通しのコリジョン計算はおこなわれません。

Replicator通しのコリジョンを設定したい場合には Dynamic Replicator を使用します。Dynamic Replicatorを設定するには、Replicatorを選択して「アクティブリジッドボディ」をクリックします。

 

Dynamic Replicatorは異なるReplicator通しでコリジョン計算することができます。

Dynamic Replicatorの「質量」を設定すると、衝突したときの動きに変化をつけることができて面白いです。

 

modo 10くらいからサンプルコンテンツがあまり増えなくなってしまったので、Dynamic Replicatorの基本的なファイルを公開しておこうと思って記事を書いてみました。

 

参考

CG News

Obj Sequence Exporter for MODO

modoからobjのシーケンスをエクスポートキットが公開されています。After EffectsのElement 3Dでの使用を想定したもののようです。MeshOps、Deformer、Mesh Fusionをサポート。価格は無料ですが、コーヒーがお好きなようです。
https://gumroad.com/l/objExp

以前公開されていた同様のスクリプトに比べると機能の対応範囲が広そう。

CG News

Tropism V1.0 for Modo 13

以前から開発されていた樹木作成プラグイン「Tropism」がリリースされたようです。価格は€ 50。
https://payhip.com/b/pMxT

概要

Tropismは、カスタムのMesh Operatorに基づいて構築されたModo用の完全に手続き的な木/つる/静脈発生プラグインです。それは Adam RunionsによるSpace Colonization Algorithmに基づいています。

特徴

  • 木、低木、植物、小枝、生垣、静脈、つる、稲妻などの実体をリアルタイムで成長できます
  • パーティクルシステムで、メッシュサーフェス上、カーブに沿って、メッシュ境界の内側で成長できます
  • メッシュサーフェスにパーティクルをペイントして、ペイントした場所にリアルタイムでつるが成長するのを確認できます
  • 1つ以上のロケーター(根)を使用して成長の場所を定義
  • いくつかのルーツで、エンティティは枝の衝突なしにスペースを奪い合います
  • メッシュボリューム、デフォーマ、エフェクタを使用して成長を形作り、変形し、アニメートできます
  • ハイポリ/ローポリ生成コントロール(クワッド、sds)
  • 自動的にメッシュにUVマッピング生成
  • カーブガイドを使用して成長を制御
  • 小枝/葉システム制御
  • Modo Replicatorを使用してカスタムビルボードを作成し、葉を散布する
  • 成長のための複数のアニメーションコントロール
  • ランダムな小枝をスケッチまたは作成してテクスチャ焼き付け

その他、フォーラムをご覧ください。

機能

動作環境:Modo 13、Mac 10.13以降、Win 7、Win 10

PointScatter

任意のメッシュのサーフェス上で、任意のカーブに沿って、閉じたメッシュボリューム内に頂点を散乱させます。それは基本的な木/茂みの形で点を分配することもできます。

SPCOperator

アトラクタポイントに基づいてさまざまな種類の植生の典型的な構造を模倣するために、さまざまな方法でカーブを成長させます。

SproutPass

成長を模倣するためにさまざまな方法でカーブの頂点を操作するMesopです。

TwigOperator

カーブの先端から任意のカーブに沿って追加のポリライン/カーブを追加できます。また、その位置に葉/小枝/ビルボードを散布するレプリケータ用の変形制御を持つパーティクルを追加します。

CurveMesher

ディテールやUVマッピングを細かく制御して、メッシュレイヤ内の任意のカーブに沿ってメッシュを生成します。Modoのカーブメッシャーツールと比較してユニークなのは、特定のルールに基づいて互いに結び付いているカーブを理解する能力です。それは木の典型的な構造を理解しています。

10以上のサンプルシーンと2時間の無料オンライントレーニング

注意事項

Tropismにはテクスチャパックやプリセットは含まれていません。

ライセンス

オンラインでライセンスを有効にする必要があります。2つのPCでライセンスを同時に実行することができます。ライセンスはタイムアウトや遅延なしにオンラインサービスを介してマシン間で転送できますが、すべての登録と転送にはインターネット接続が必要です。ランダムなオンラインチェックが行われますが、アクティブライセンスを持っている限りTropismをオフラインで最大20日間使用できます。