Modo

参考資料

MODO 901:スニークピーク

FxGuidennの画像解説にGTRと記載されてるので、新たなシェーダーモデルとしてGTR BRDFが追加されるんじゃないか?との噂 です。
modo901は、モデリング、テクスチャ、アニメーション、レンダリングなど、すべての分野にわたって100以上の新機能を提供することを約束」との事で続報が楽しみですね。

MODO 901: exclusive tech sneak peek

Vrayに搭載されてる物と同じ感じなのかな?
http://oakcorp.net/archives/3881
https://www.chaosgroup.com/blog/improvements-to-the-gtr-brdf

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でも内部的には全部のメッシュを計算してるようで、ビューポートの動作が重いです。こういうところは早く最適化して欲しいですね。

CG 日記

ニコニ立体ちゃん

ニコニ立体ちゃんのモデルが配布されてたのでmodoで読んでみた。
modoはルミナンスでシェーディング消すとき、テクスチャ設定先が他のソフトと違うのでルミナンス色に変更する必要があるけど、ポーズやモーフは普通に読んでような気がします。
http://3d.nicovideo.jp/alicia/

イラストカワイイ。

CG 日記

The Art of Moving Points

The Art of Moving Pointsという電子書籍を買ってみた。なかなか為になる。
個人販売の本ですがインタラクティブコンテンツになってて面白い。 電子書籍という言葉から連想される画像やムービーが配置されたハイテクコンテンツを体現出来てるのは、現状はiBooksだけのような気がする。
http://hippydrome.com

モーフを使用したフィシャルに関して書いてる本てす。著者はPixarのキャラクターモデラーの方で、ソフトはmodoを使用していますがソフト関係なく参考になる内容です。

著者のデモリール↓
https://vimeo.com/43344320

この本を読んで感じたのがモーフを使ったフェイシャル表現で、なぜ海外スタジオではリグ組むのか理解できた気がします。スライダーで一個ずつモーフをコントロールするのが面倒だからリグを組むというより、複数のモーフターゲットを組み合わせてより自然な表情を作るためにリグを作る。
ではどのような考えで複数のモーフターゲットを作ったらいいのか?という話しが丁寧に解説されてます。

ちなみにフェイシャルにモーフを使うかボーンを使うか、モーフとボーンの合わせ技にするかはプロジェクトや好みによるらしい。
余談ですが、モーフ使わないフェイシャル知ったのはMessiahのデモが最初だった気がします。その後Max4あたりでボーン制御のフェイシャルサンプルが入ってたの見かけた記憶がある。

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 でバリバリ処理できれば色々凄い表現ができる気がします。