Diary

参考資料

New V-Ray Toon Shader

V-Ray Next の新しいトゥーンシェーダーのビデオが公開されています。
Mayaを使用したデモで、ランプとシャドーをミックス、ライトの色をミックス、ハイライトを分割、ハイライト形状の編集、テクスチャによるタッチの追加など細かな制御機能ができるみたい。

CG News

CGI condensation pack for MODO

modo用の結露、水滴キットが発売されました。価格は$10。
https://gumroad.com/l/WnKhZ

ちなみに、単純な水滴ならプロシージャルテクスチャで作る方法もあります。

概要

ここ数年、私はビールや飲料パックのビジュアライゼーションに取り組みました。その中には結露が必要なものもありました。すべての作業をより簡単に、より素早く行うため、いくつかのテクスチャとパターンを作成しました。
このキットには 12種類のシームレス法線マップと、対応したステンシル(アルファ)マスクが含まれています。 また、123種類の水滴と 3 つのZbrushインサートマルチメッシュ。

CG News

Octopusリリース

3ds MaxでMayaのマーキングメニューやmodoのパイメニューのような機能を実現するツール「Octopus」がリリースされました。ただのメニューではないとのことで、最後のアクションの繰り返しなんかができるようです。
https://rapidmxs.com/octopus/

CG News

SketchBook 無料化

デジタルスケッチソフトウェア SketchBookのWindows、Mac、Android、iOSなどすべてのプラットフォームで無料化されたようです。スタジオ向けの有料エンタープライズライセンスは引き続き販売する予定で、ソフトウェアは引き続き開発されるらしい。
https://forums.autodesk.com/t5/sketchbook-forum/sketchbook-for-free-faq/td-p/7970245

 

SketchBookは引退しますか?

いいえ。SketchBookは廃止されません。私たちはデザイナー、建築家、アニメーターがアートやデザインを取り込めるようにする機能を追加することに重点を置いて、SketchBookとSketchBook for Enterpriseを開発していきます。すべての機能がSketchBookとSketchBook for Enterpriseの両方で終了するわけではありませんが、SketchBookの堅牢な機能を引き続き利用し、継続的な拡張機能を無償で利用できます。

SketchBook for Enterpriseのメリットは何ですか?

企業向けSketchBook は、より大きな組織での展開をサポートし、さまざまなオートデスクのコレクションの一部として含まれています。この製品にはコレクション内の他のオートデスクソフトウェアに関係する特定のクロス製品機​​能を除いて、同様の機能があります。

Tips

modoのアイテムサイズ

modoのアイテムサイズについて書いてみます。

ミニチュアのように小さなシーンを作る場合、ビューポートでカメラやライトの表示が大きくて邪魔に感じることがあります。modoではメッシュを持たないカメラ、ロケータ、ライトのようなアイテムの大きさは、「表示」タブの「サイズ」で変更することができます。

 

「サイズ」を 0 に設定すると、3ds Maxのビューポートのように常に同じサイズで表示することができます。

 

デフォルト設定は「初期設定」の「新規シーンのデフォルトサイズ」「現在のシーンのデフォルトサイズ」で変更することができます。

Tips

modoのパーティクルオペレータ

modoの Particle Operator の基本的な使い方について書いてみます。
はじめてmodoのパーティクルを使ったとき、使い方がわからず他のソフトで簡単に設定できた表現ができないことにストレスを感じたのを思い出しました。今回はパーティクルでよく使う表現を組む方法をまとめてみました。

 

Particle Operator とは?

Particle Operator はパーティクルが持つ「特性」を制御するためのノードです。使用頻度の高いものだとパーティクルが発生してから徐々にアイテムを大きくしたり、回転したり、透明にしたりと、パーティクルでよく見るような制御ができます。
他の3Dソフトではエミッターにパーティクル制御の設定がまとまってたりしますが、modoはノードベースのパーティクルシステムなので制御用のノードが色々わかれています。

Particle Operator は様々な「特性」を追加することができます。特性は Replicator 、Blob、Volume 、Sprite、グラディエントなどの機能で使用することができます。特性が使用できるかは Replicator など受け取る側によって決まります。

 

デフォルト

Particle Operator を使用せず、単純にパーティクルを放射するとこんな感じになります。変化がわかりやすいように Replicator でティーポットを複製しています。

 

サイズ

パーティクルが発生してから、徐々にサイズを大きくする方法です。

単純な設定方法は Particle Operator の「寿命」を「サイズ」にリンクするだけです。「寿命」はパーティクルが発生してから値をカウントアップするチャンネルなので、徐々にサイズが大きくなります。

 

チャンネル リレーションシップを使うと、グラフを使用してサイズを制御することができて便利です。

 

 回転

パーティクルが発生してから、回転し続ける(スピンさせる)方法です。

単純な設定方法は Particle Operator で「寿命」を「回転」にリンクすればいいのですが、「回転」はチャンネルタイプ行列なので、そのままリンクすることができません。そこで Matrix From Euler ノードを使ってベクトルチャンネルを行列チャンネルに変換します。
「寿命」をそのまま Matrix From Euler にリンクすると、回転の値として小さすぎるので、適当に 360 という値を乗算しています。

 

ランダムに回転速度を変える方法です。

ランダムさを設定するのに Randomiz ID ノードを使用します。パーティクルを個別に制御する場合は Particle Operator の「ID」を使用し、追加した 「ID」を Randomiz ID にリンクします。
Randomiz ID はパーティクルの「最小値」「最大値」で値の出力範囲を設定できるのが便利です。

 

位置

パーティクルが発生してから、振幅し続ける方法です。


Channel Waveform ノードを使用してサイン波をパーティクルの「位置 X」にリンクします。

 

ディゾルブ

パーティクルが発生してから、徐々に消す方法です。ディゾルブはビューポートで確認できないので、レンダリングする必要があります。

単純な設定方法は Particle Operator で「寿命」を「ディゾルブ」にリンクするだけです。

 

ランダムな速度で消す方法です。 Randomiz ID を使用してパーティクルにランダムさを設定しています。

 

modoのパーティクルは少し難しい感じがしますが、かなり細かな表現ができます。今回は Particle Operator の単純な使い方について書いてみましたが、「特性」通しを組み合わせるだけでも面白い表現を作り出せると思います。速度でサイズを変化させたり、速度で色を変えたり、組み合わせや制御の自由度が高いくて凄いです。
スケマティックは面倒という人向けにエクスプレッションで制御するノードもあるので、色々試してみると面白いと思います。

Tips

modoのパーティクルを平面的に移動する方法

放射したパーティクルを平面的に移動する方法について書いてみます。
modoのエミッターはXYZの3軸方向にパーティクルを放射します。これはこれで便利なのですが、平面的にパーティクルを放射したい場合があります。

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

Surface Emitter の設定は「初期速度」「速度の広がり」が 0 で、発生した位置から移動しないような設定です。わかりやすいように「放射レート」にキーを設定して、1フレーム目だけパーティクルを放射するように設定しました。

2D的にパーティクルを移動する処理は Particle Operator を使用します。Particle Operator には特性の「ID」「角速度」「前の位置」「位置」「回転」を追加します。2D的なパーティクル放射に必要なのは「ID」「角速度」のみです。「前の位置」「位置」「回転」は Replicator で複製したアイテムを進行方向に向けるために使用しています。

2D的なパーティクル放射の制御は、「ID」と 360を乗算した値を「Sine」「Cosine」ノードに入力し、その出力値を「角速度」にリンクします。「ID」はパーティクルのIDのことで、パーティクルを個別に制御する場合に使用するための特性です。パーティクルは通常0~1.0の範囲でランダムなID値が割り当てられているので、360と乗算してランダムな方向を設定しています。
※画像には使ってない「Tangent」ノードが含まれていますが、「Tangent」ノードを使うと3軸方向に移動することができます。

Replicator を進行方向に回転する処理は、「前の位置」「位置」を Matrix Construct ノードを使用してベクトルチャンネルを位置のマトリクスに変換します。次ぎに Matrix Construct の出力を Direction Constraint の「起点」と「終点」にリンクし、Direction Constraint の「回転出力」をParticle Operator の「回転」にリンクします。これでパーティクルの移動方向に合わせて Replicator が回転します。「前の位置」を使用している関係で、0フレーム目では Replicator の回転が計算されません。

パーティクルIDと乗算する値を変えると、パーティクルの移動方向を変えることができます。

Tips

modoのUVアライナーツール

modo 11シリーズではUV関連の機能強化がおこなわれていましたが、11.2 には文書化されていないUVアライメントツールが搭載されてるらしいです。コマンドは以下の通り。

tool.set uvAligner on

コマンドラインに入力してツールをアクティブにすることができます。

設定が多くて直感的じゃないため隠されているのだそうですが、機能は強力らしい。

Tips

modoでレンダリング完了後に音声ファイルを再生する方法

レンダリング完了後に、任意の音声ファイルを再生する方法について書いてみます。
LightWave、3dsMax、AfterEffectsにはレンダリングが完了したときに、ビープ音や音声ファイルを鳴らす設定がありました。バックグラウンドでレンダリングしながら、他のソフトで作業中してるときにレンダリング完了が音でわかるので便利だったりします。

modoにレンダリング終了後に音を鳴らす設定がないので、レンダリング実行後にオーディオファイルを再生するマクロを作ります。マクロの内容は以下の通りです。

#LXMacro#
render
audio.playFile filename:C:\Windows\media\notify.wav

「audio.playFile」コマンドはmodo 701から搭載された機能で、好きな音声ファイルを指定することができます。このマクロではWindowsのシステム音を指定してます。このマクロをテキストエディタにペーストして、適当な名前「RenderCompleteSound.LXM」みたいな感じで保存すればOKです。

 

マクロファイルはmodoのスクリプトフォルダに入れておくと、コマンドラインに「@RenderCompleteSound.LXM」と入力するだけでマクロを実行することができます。ショートカットに割り当てたり、UIにボタンを追加すると便利かもしれません。

modoのスクリプトフォルダは「システム / ユーザースクリプトフォルダを開く 」で開くことができます。

 

レンダリング完了後にメールを送信したい場合は以下のフリースクリプト「eMailNotify」を試してみると良いかもしれません。
http://community.thefoundry.co.uk/asset/scripts/view.aspx?id=1412

 

参考

https://community.foundry.com/discuss/topic/60548/play-sound-when-render-is-complete

Tips

modoのパーティクルで破壊表現

パーティクルとテクスチャリプリケータでアイテムを破壊するような表現について書いてみます。
大まかな設定は前回の「パーティクルで波紋を表現 」と同じですが、パーティクル位置からパーティクルを2種類発生させています。1つはテクスチャリプリケータ用、もう一つは破片用のパーティクルです。

 

パーティクルの設定は以下の通りです。Particle Simulation_1 はパーティクル発射用で、Particle Simulation_2 と Particle Simulation_3 はコリジョンと衝突したときにパーティクルを発生させる用のシミュレーションです。Particle Simulation_4 は破片用のシミュレーションです。

スケマティックは前回とほぼ同じですが、破片用のシミュレーション部分が長くなっています。
Particle Simulation_2 はテクスチャリプリケータ用のシミュレーションで、コリジョンが当たった位置に発生しとどまります。Particle Simulation_3 は破片用のシミュレーションで、「寿命で除去」をONにして1フレームで消えるように設定しています。このパーティクルを元に Source Emitter を使用して破片がはじけるシミュレーションを設定しています。
Particle Simulation_4 は Particle Operator を使用して破片が回転するように設定しています。回転は「寿命」を「角速度」にリンクすることで設定します。「寿命」に200掛けてるのは回転数を調節するためです。

破片はボックスを「シャッター & グルー」で生成したアイテムを使用しています。「シャッター & グルー」を使うと破片ごとに別アイテムになるので、「センターをバウンディングボックスへ」を実行してメッシュの中心にセンターを移動します。
アイテムはグループタブでグループ化します。このグループをリプリケータの「原型アイテム」に設定すると、グループ内のアイテムがランダムで使用されるようになります。リプリケータで複数のアイテムを複製するときに便利な機能です。

 

レンダリングの設定はディスプレースメント用の画像をテクスチャリプリケータとして使用しています。ディスプレースメント用の画像は「シャッター & グルー」で粉砕したメッシュを適当にバラバラにしてから「形状をブラシへ」機能で作ってみました。ディスプレースメントは凸ではなく、凹にしたいので「上限値」を-100%に設定しました。

ディスプレースメントはデフォルト設定だと荒くレンダリングされるので、Render 設定のマイクロディスプレースメントで「ディスプレースメント評価」を0.2Pixelに変えています。

いくつか似た感じの記事を書いてみましたが、パーティクルとテクスチャリプリケータという同じ機能の組み合わせでも色々なエフェクトや表現が作れるんじゃないかと思います。単純な機能だけど発想しだいで無限の可能性感があって面白いですね。

次回以降も引き続きパーティクル制御について書きながら、徐々にボリュームを使った爆発表現なんかにシフトしていこうかと思います。

参考資料

“One Small Step” Official Trailer

宇宙飛行士になることを夢見る中国系アメリカ人の女の子、Lunaの話だそうです。リムライトの当て方とか絵の雰囲気やアニメーションがいい感じです。