2019年8月

参考資料

Sturgill Simpson – Sing Along

映像制作は神風動画だそうです。セル系の映像はキャラは3Dになってもエフェクトは手描きが残りそう。

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

参考資料

Houdini Vellum R&D 2019

Vellumの紹介とクロスシミュレーションのR&D映像。こういうの好き。

CG News

3dsMax 2020.2

3dsMax 2020.2 がリリースされました。
https://area.autodesk.com/blogs/the-3ds-max-blog/3ds-max-20202-feature-updates/
http://help.autodesk.com/view/3DSMAX/2020/JPN/?guid=GUID-ED156653-E334-4493-9647-1DE0670B9EAA

面取りモディファイヤの改善

  • 高解像度の四辺形交差を提供する新しい留め接ぎタイプである[パッチ]と[放射状]。
  • [反転]と[開く]オプションがすべての留め継ぎタイプで機能するようになりました。
  • 新しい頂点面取りの実装により、設定されたセグメント数または深度が考慮されるようになりました。
  • 新しい面取りオプションが[編集可能ポリゴン](Editable Poly)で使用可能になりました。
    ([均等]、[終了バイアス]、[放射状バイアス]、[テンション]、[奥行き])

 

SketchUp ファイル読み込み

  • 新しいインポータでは、すべてのバージョンの SketchUp ファイルを 3ds Max に読み込むことができます。
  • 将来のバージョンとの互換性も維持できるようになりました。

表示モードと同期

  • 新しいビューポートのバックグラウンド モード
  • 環境のバックグラウンドを自動的に使用
  • 環境のバックグラウンドが黒の場合は、グラデーションのバックグラウンドが表示されます。

 

機能強化点および変更点

モデリング
  • EditPoly および EditPoly モディファイヤの要素をクリックして選択し、開いたエッジと頂点が選択状態になっていると、[背面を無視](Ignore Backfacing)が有効になっていない限りビューポートのバック フェース カリングが考慮されます。
  • PolySelect モディファイヤでダブルクリックによる選択がサポートされるようになりました。さらに、TextPlus の[テキストとして値を設定する]機能に対するスクリプト アクセスにより、MAXScript での TextPlus の使用に対する制御が向上しました。
アニメーションとパフォーマンス
  • キーの作成、トラックビュー、スレート UI、およびファイル リセットのパフォーマンスが大幅に向上しました。
  • [平均の重み]は[重みを平均化]に変更されました。リスト コントローラの評価は、[重みを平均化]がオンかオフかに関係なく高速になりました。
ユーザ インタフェース

3ds Max はWindows の地域設定で設定した小数点記号を使用するようになりました。

ビューポート
  • シーンに環境が追加されるとイメージベースド ライティング(IBL)が自動的に行われます。スカイライトを追加する必要はありません。
  • 物理マテリアルの粗さパラメータがビューポートのリアリスティック モードでサポートされるようになりました。
  • シャドウが改善され、既定のライティング モードでサポートされるようになりました。
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

参考資料

Brawl Stars

手描きのロボット物のアニメーション。塗りの雰囲気がいい。

参考資料

Almost Perfect.

編集もかっこいいけど色味が凄く綺麗に調整されてる気がする。日本の湿度が高い日差しの感じが絵になってる。

参考資料

ソメイティ競技アニメーション

東京2020パラリンピックマスコット ソメイティ競技アニメーション。こういう記念映像は4Kで作ればいいのにね。せっかくかわいいのにぼけててもったいない。

参考資料

THX Deep Note Trailer 2019

THXの新しい4kトレイラーが公開されてます。ディレクターはAfterEffectsのTipsとプラグインで有名なVideo CopilotのAndrew Kramer氏です。安定のかっこよさですね、地球にはORBを使用してるようです。

参考資料

Crania

3Dスキャン下データをRedshiftでレンダリングしたらしい。氷の感じがよい。

参考資料

Space Station modeler

宇宙ステーションモジュールをモデル化するために作られたHoudiniの手続き型ツール。ちょっと面白い。

参考資料

Economy is Care

人形っぽい質感がいい感じです。