Rendering

CG News

V-Ray 5 for 3ds Max リリース

V-Ray 5 for 3ds Max がリリースされました。
https://www.chaosgroup.com/vray/3ds-max/whats-new

レンダリングを超えて

V-Rayでプロジェクトをポスト処理する。

ライトミキシング

リアルタイムでインタラクティブにライティングの可能性を探ります。新しいV-RayフレームバッファーでLightMixを使用し、レンダリング後のライティングの変更を自由にテストし、順列を保存し、シーンに必要な改善を戻します。

 

レイヤードコンポジション

新しいレイヤーコンポジターを使用すると、新しいV-Rayフレームバッファーで画像を直接微調整し仕上げることができます—別のポスト処理アプリは必要ありません。

 

無限の創造性を探る

ワークフローを最適化する。

マテリアルマネージャー

金属、ガラス、木材など、500以上のレンダリング可能なマテリアルのライブラリから効率的に閲覧します。

 

マテリアルプリセット

アルミニウム、クロム、ガラスなどのプリセットで一般的な材料を作成する時間を節約できます。

 

材料プレビュー

新しいレンダリングされたマテリアル見本は、マテリアルがどのように見えるかを正確に示します。

 

コートレイヤー

更新されたV-Rayマテリアルに反射コーティングを直接追加すると、ブレンドマテリアルを使用した場合と比較してマテリアルの作成とレンダリング時間の両方を節約します。

 

シーンレイヤー

更新されたV-Rayマテリアルの新しい光沢オプションを使用して、ベルベット、サテン、シルクなどの柔らかいマイクロファイバー生地を作成します。

 

テクスチャのランダム化

新しいVRayUVWRandomizerマップと、拡張されたVRayMultiSubTexコントロールでシーンに多様性を追加します。

 

確率的テクスチャタイル

VRayUVWRandomizerの新しいストキャスティックタイリングオプションを使用して、テクスチャタイリングアーティファクトを自動的に削除します。

 

拡張V-Rayダート

強化されたV-Ray Dirtにより、すき間の風化した筋や汚れが簡単になり、アンビエントとインナーの両方のオクルージョンが採用されました。

 

新しい太陽と空のモデル

新しい太陽と空のモデルを使用して、太陽が地平線の下にあるときの薄明の微妙さを再現します。

 

更に

ライトパス エクスプレッション

ジオメトリだけでなく、光の動作を使用して非常に効率的な合成のための柔軟なマスクを作成します。ビルトインのプリセットにより簡単に始めることができますが、究極の制御のためにスクリプトが用意されています。

 

ブルーノイズサンプリング

少ないサンプルでより良いノイズ分布を実現します。

 

ネイティブACESCGサポート

テクスチャ、分散、太陽と空、および光の温度の色の自動色空間調整を使用したレンダリングには、業界標準のACEScgを選択します。

 

最初のアウトオブコア

大きなシーンを処理する初期のアウトオブコア実装。

 

 

リリースノート

新機能

  • LightMix:VFB2にライトの後処理のサポートを追加
  • V-Ray
    • ファイル名からテクスチャ色空間を認識するオプションを備えたACEScg色空間でのレンダリングのサポート
    • 大きなシーンをレンダリングするときの精度を向上
    • 接線法線マップのMikkTSpaceサポート
    • VFB2の新しいバージョンの通知とレンダリング設定についてセクション
    • V-Ray AppSDK Pythonバインディングをインストールに含める
  • V-Rayアセットブラウザ:V-Rayマテリアルライブラリ用のマテリアルライブラリブラウザユーティリティ
  • V-Rayマテリアルライブラリ:スタンドアロンとインストールの一部の両方で機能するマテリアルライブラリダウンローダーを追加
  • V-Rayマテリアルプレビュー:カスタム.vrsceneでマテリアルプレビューをレンダリング
  • VRayMtl:コート層と光沢層を追加、簡単なプリセットを追加
  • VRayHairNextMtl:簡単なプリセットを追加
  • VRayCarPaintMtl2:より正確なフレークフィルタリングとメモリ使用量の削減を備えた新しいカーペイント材料を追加
  • VRayUVWRandomizer:VRayBitmapとVRayTriplanarTexのマッピングソース入力でのみ使用する必要があるtexmapを確率的タイリングサポートとともに追加
  • VRayMultiSubTex:ランダム化された色相、彩度、ガンマ分散オプションを追加、新しいランダムな面マテリアルID /オブジェクトID /要素モードを追加
  • VRayBitmap:VRayHDRIの名前をVRayBitmapに変更
  • VRayCompTex:新しい描画モードを追加。カラーシフト、カラーティント、ブレンドアルファストレート、ブレンドアルファプリマルチプライド
  • VRayTriplanarTex:VRayBitmapのマッピングソースとして使用する機能
  • VRayPointCloudColor:PointCloudカラーチャネルをサポートするマップを追加
  • VRayLightSelect:環境照明のサポート
  • インストーラ:統合されたバンドル製品での新しいインストーラーエクスペリエンス:Chaos License Server、Chaos Cloudクライアント、V-Ray Material Library
  • V-Ray GPU
    • Out-of-Coreコードパスのサポートを追加
    • 2D変位のサポート
    • フォグモードでのPhoenix FDパーティクルシェーダーのレンダリング
    • OSLシェーダーのサポートを追加
    • セルラーマップのサポートを追加
    • BerconTilesおよびBercon Woodマップのサポートを追加
    • デバイスごとのGPUメモリトラッカーを実装
    • プログレッシブサンプリングによる再開可能なレンダリング
    • VRayNormalMap回転パラメーターのサポートを追加
    • VRayLightSelectの環境と自己照明の貢献をサポート
  • V-Ray:VRayLightSelectのモードを介してライトパスエクスプレッションのサポートを追加
  • V-Ray:カラー管理でVRayBitmapオプションのRGBプライマリオーバーライドを追加
  • V-Ray:DMCサンプラーのブルーノイズ最適化を実装
  • VRayNormalMap:マップ回転パラメーターを追加
  • VRayPhysicalCamera:EVパラメータを追加
  • VRayProxy:VRayInstancerおよびPhoenix FDで使用できるAlembicの共通パーティクルインターフェイス(IParticleObjExt)をサポート
  • VRaySun:改良されたSkyモデルを実装
  • VRayVolumeGrid:速度ストリームラインプレビュー
  • VFB2
    • レイヤー合成を統合したVFBのまったく新しい実装を追加
    • 背景色補正
    • フィルムトーンマップカラー補正
    • 保存されたシーン名とメモテキストに基づく、履歴内の画像検索
    • ソロボタンAlt +マウスクリックで1つのライトのみが有効になり、残りはすべてLightMixでトグルします。
    • 他の要素にないすべてを含むLightMixの特別な要素「Rest」
    • メモリフレームバッファーなしのレンダリングのサポート
    • レイヤーアクションを元に戻す
    • ホワイトバランスの色補正にマゼンタグリーンの色合いのスライダーを追加します
    • 履歴が保存されたレンダリング設定の読み込みと比較
  • .vrsceneエクスポーター:選択したノードのみをエクスポートするオプションを追加
  • V-Rayシーンコンバーター:Physical MaterialからVRayMtlへのコンバーターを実装
  • VRayDirt:ストリーク生成オプションを追加

 

変更された機能

  • V-Ray
    • グローバルスイッチからのMikkTSpace計算を有効にするUIオプションを追加
    • UIオプションを追加して、ネイティブ3ds Maxマテリアルスウォッチに切り替えます
    • OCIO構成を使用する場合、sRGBとACEScgの色空間間の変換を最適化します
    • 古いスイッチのいくつかをグローバルスイッチから削除しました
    • グローバルDMCからUse local subdivsを削除し、それに依存していたブルートフォースGI、マテリアル、ライトのsubdivsパラメーターを削除します
    • カラーマッピングオプションを簡素化
    • Lightキャッシュオプションを簡素化
  • V-Ray Cloud
    • VRayDistanceTexのアニメーションパラメータが適切にエクスポートされません
    • 静止間隔が大きいジオメトリのアニメーション位置が異なります
    • V-Ray GPU:tyFlowインスタンスレンダリングの初期サポートを追加
  • V-Ray:VRaySunのより高速な計算
  • V-Ray GPU
    • エンジンタイプがRTXの場合、アウトオブコアレンダリングを自動的に無効にします
    • VRayVolumeGridのBoxサンプラータイプを実装します
    • VRayUVWRandomizer確率的タイリングオプションのサポートを追加
    • CPUとGPUの両方でモーションブラージオメトリのメモリフットプリントを最適化
    • Embreeツリーをシリアル化するときに退化した顔をスキップします
    • VRayObjectPropertiesによるマットオブジェクトのサポート
    • VRayCarPaintMtl2およびVRayFlakesMtl2のサポート
  • V-Ray GPU IPR:チルトとシフトのパラメーターを微調整したカメラがある場合の無限の更新
  • V-Ray Standalone:VFB2では画像バッファーのレンダリングは実装されていませんが、処理された出力は書き込まれます
  • VRayDenoiser:「Generate render elements」UIオプションを削除
  • VRayBitmap:法線マップの伝達関数とRGB色空間を自動的に設定します
  • VRayLightSelect:サブサーフェスモードを追加
  • VRayMtl
    • ツールチップをいくつか追加
    • シーンベースのファブリックプリセットを追加
    • 「デフォルト」のプリセットを追加
    • すべてのNDFベースのBRDFにGGXシャドウイングを使用します
  • VRayOSL:サポートされていないOSLシェーダーパラメーターの警告を出力します
  • VFB2
    • 「なし」オプションを追加して、ステータスバーの二次色情報を非表示にします
    • 履歴画像を読み込むための進行状況バーを追加します
    • 画像のフィッティングタイプオプションと[画像に保存]を背景レイヤーに追加します
    • 履歴比較ボタンを1つのフライアウトボタンにグループ化します
    • レンダラー統計を実装します
    • 保存時に元のRGBチャンネルを保持します
    • シーンに依存しない永続的な設定を保存します
    • V-Ray Cloudの色補正と設定転送のサポート
    • バケットアウトラインの改善
    • 履歴とロードされた画像のノイズ除去を有効にします
    • さまざまな使いやすさの向上
  • V-Rayアセットブラウザー
    • インポート時に「実世界スケールを使用」および「トリプラナーマッピングを使用」オプションを追加
    • 「ME」ボタンの名前を「わかりやすくするためにMEを開く」に変更して、よりわかりやすくしました
  • V-Rayシーンコンバーター:シーン変換後に表示されたマテリアルのスレートマテリアルエディターに変換されたマテリアルノードを配置します。
  • V-Rayツールバー:V-Rayツールバー。vrenderXXXX.dlrディレクトリに関連して、ネットワークインストールを支援するアイコンファイルを探します。
  • VRayALSurfaceMtl:アーティファクトを引き起こすSSS半径パラメーターの値を防止します
    VRayVolumeGrid:グリッド速度を持つフレームをタイムベンドコントロールとブレンドするための速度を上げ、メモリ使用量を減らします
  • VFB2 / VFB:Render LastではなくRenderコマンドを実行するためのRenderボタン
  • VFB:サポートされているすべての形式を、画像を読み込むためのデフォルトのフィルターとして使用します
Tips

modoのシェーダーノードでレンズディストーションエフェクト

modoのシェーダーノードを使って、カメラのレンズゆがみのような効果を制御する方法が解説されてたので写経してみました。

カメラの回転とShader Inputのレイ方向をそろえた後、レイ方向のXYを任意に編集した結果をRayCastでFinal Color Outputに戻すというのが基本的な流れのようです。

 

球面

球面のようにレンダリング。

サンプルファイル

 

ディストーションのカーブ制御

カーブを使用してゆがみ制御。

サンプルファイル

 

ディストーションのテクスチャ制御

テクスチャを使用してゆがみを制御。

サンプルファイル

 

レイ方向を制御する方法はポストエフェクトによるゆがみと異なり、ピクセルが荒くなったりせずシャープな画像を維持できるのがメリットです。しかし、欲しいゆがみを計算で求めるのが難しいです。
シェーダーノードはレンダリングも遅いので、テクスチャオフセットのように、もう少し手軽に使えるような機能があると嬉しいですね。

 

参考

詳細な解説をしてくれた館長さんに感謝です。

 

Tips

modoでEmberGenのシミュレーションデータをレンダリング

modoでEmberGenのシミュレーションをレンダリングしてみました。

EmberGenはGPUベースのリアルタイムのボリューム流体シミュレーションソフトです。JangaFXのサイトにはEmberGenで作成されたシミュレーションデータがいくつか公開されています。今回はガソリン爆発のサンプルをmodoでレンダリングしてみた。
https://jangafx.com/software/embergen/download/free-vdb-animations/

 

EmberGenのシミュレーションは90°回転した状態で読み込まれるのでVDBアイテムを回転して位置を調節してます。
VDBファイルを読み込む場合は0フレーム目のファイルを選択します。途中のフレームのファイルを選択して読み込むと、選択したフレームからシミュレーションが再生されます。

 

VDBをレンダリングする場合は、Volumeの「ボクセルソース」にVDBを接続します。

 

質感はGradientを使用してルミナンスを設定しました。Gradientにはmodo 10.2からFluid関連の入力が追加され、Fuel、Fuel、Temperatureを細かく制御できるようになっています。

 

最初にデフォルト設定でレンダリングしたとき、ボクセルグリッドの四角形状やフリッカーが目立ってました。VDBの「ボクセルフィルタ」を設定したら少し軽減された気がします。

フィルターなし。

フィルターあり。

ボクセルフィルターの比較、上がフィルターなし。フィルターを使用するとボリュームの密度が変わってしまいますが、フィルターを使用すると細かなノイズのようなボクセルが軽減されるように見えます。

 

同じデータをArnoldでレンダリングしたもの。Arnoldはフィジカルベースのボリュームシェーダーを搭載しているので、少ないパラメータで見栄えのよい煙や炎の質感を作ることができて便利です。レンダリングも速い気がします。

 

modoとArnoldのレンダリングを比較、上がArnoldのレンダリング。

modoはボクセルグリッドが目立ちます。Arnoldのボリュームシェーダーにはボクセルの補間オプションがあって、煙の表面を滑らかにすることができるのですが、残念ながらmodoには補間のパラメータがありません。

また、modoのボリュームは透明に近いボクセルを省略してレンダリングしてるような印象を受けます。画像右ではフレームを間違えてるのかと思うほど薄いボリュームがレンダリングされていません。VDBのGL表示は薄い部分も確認できるので、ボリュームレンダリングを高速化のための工夫なのかもしれません。

 

EmberGenのシミュレーション結果をmodoで使用することはできますが、レンダリングの品質についてはEmberGenの設定を含めて確認する必要がありそうです。
EmberGenはOctaneRenderと提携を発表してるので、Octaneでどのように活用されるのか気になりますね。

 

参考

参考資料

NVIDIA Marbles RTX

NVIDIAがMarbles RTXと呼ばれるシミュレーションとリアルタイムGPUレンダリングのデモ映像を公開しています。デモはプレイ可能なゲーム環境で、動的な照明と豊富な物理ベースのマテリアルでリアルタイムの物理を表示します。

MarblesはOmniverseのアーティストとエンジニアの分散チームによって作られ、VFX+の高品質なアセットを完全に物理的にシミュレートされたゲームレベルに組み立てています。リアルタイムで実行するための「ゲーム化」アートアセットから一般的に生じる品質と忠実性を犠牲にすることはありませんでした。

Marblesは単一のQuadro RTX 8000上で動作し、リアルタイムでレイトレースされた世界の複雑な物理をシミュレートします。

Tips

modoのプロシージャル頂点マップ

Foundryのフォーラムで面白いスレッドを見かけたので紹介します。

「Vertexmaps In The Mix」はmodo 14で追加されたプロシージャル頂点マップ活用法を共有しようというスレッドで、アニメーションからレンダリングまで幅広い活用方法が紹介されてます。
https://community.foundry.com/discuss/topic/151806/vertexmaps-in-the-mix?mode=Post&postID=1196476#1196476

スレッドでは様々なサンプルファイルが公開されてます。ファイルが公開されてないものから面白そうな物をまねしてみました。サンプルファイルを公開しておくので参考にどうぞ。

 

徐々に消えるウェイト

現状はウェイトマップを徐々に消えるような機能がありません。そこでパーティクルを使用して、メッシュとパーティクルが離れるにつれてウェイトが消えるようにするハック技です。

サンプルファイル

パーティクルの距離とウェイトの強さはテクスチャリプリケーターを使用しています。Constantはレイヤーを反転、または値を-100%に設定しないとウェイトが意図したように反映されないようです。理由は不明。

14.0ではウェイトをブラーする機能が搭載されてないため、全体的にウェイトが荒い印象になってしまいます。現在はTracerXにウェイトマップをブラーする機能があります。

 

メッシュのパートによるアニメーション

メッシュのパート(連結されたメッシュ)単位でウェイトを設定してアニメーションする方法です。

サンプルファイル

Falloff Operatorのポイントパートを使用して、Boxごとに0~100%のウェイトを適用します。ウェイト位置のアニメーションはmodo 13.2で追加されたグラディエントノードを使用して、Falloff OperatorのグラデーションをGradient Offsetを使用してアニメーションしてます。

 

プッシュデフォーマを使ったバージョン。上の内容と同じです。

サンプルファイル

Falloff Operatorが思いのほか便利だと気がつきました。最初のサンプルではトランスフォームデフォーマを使用しましたが、モーフマップを使用しておなじような表現を作ることもできます。

Falloff Operatorはジオメトリ情報を元にウェイト値を生成できるので、「ポリゴン面積」「ポリゴン平面率」などを使用した標準機能では作れない質感を作れる気がします。

 

 

以下は自分でテストしたものです。

 

広がるウェイト

選択した頂点からウェイトが広がる基本的な使用法です。

サンプルファイル

ソフトボディには「ゴールマップ」という、シミュレーションをおこなわない部分をウェイトで指定する機能があるのですが、残念ながらウェイトのアニメーションには対応してないようです。


クロスシミュレーションする範囲が広がったり、逆にクロスシミュレーションからシミュレーション前の形状に変化させるアニメーションを作りたいときもあるので、将来的にウェイトのアニメーションに対応してくれると嬉しい。

 

波紋

パーティクルでメッシュを変形する使用方法です。基本的には以前紹介したカーブフォールオフでメッシュ変形する方法と同じです。

サンプルファイル

「徐々に消えるウェイト」のようにテクスチャリプリケーターを使用しても同じことができますが、変形する時間を制御するのは、カーブを使用した方が扱いやすいと思います。

 

足跡

雪に足跡が残るような表現です。メッシュが細かいので重い。

サンプルファイル

足跡用のメッシュをアニメーションさせて、Select By Volume を使って足跡メッシュ内に含まれるポリゴンにウェイトを設定してます。

 

エッジウェイトのアニメーション

何に使えばいいのかわからないけど、とりあえずアニメーションしてみた。

サンプルファイル

 

ウェイトマップはデフォーマの変形以外にも、ウェイトマップテクスチャと組み合わせてレンダリングに使用できるのも便利です。UV展開しなくても頂点ペイント感覚でモデルに質感設定することができます。

ウェイトのブラーのようにまだ足りない機能もありますが、プロシージャルでウェイトを設定できるのはアニメーションで大いに役立ちそうです。

 

参考

Tips

modoの虹色マテリアル

modoの虹色マテリアルについて書いてみます。

modoには光の干渉による虹色(スペクトル)を表現するためのマテリアルが搭載されています。このマテリアルを使用するとCD、真珠、シャボン玉、金属の油膜や焼き色のような質感を手軽に作ることができます。

 

Iridescence Material と ThinFilm Material

modoにはIridescence(虹色)ThinFilm(薄膜)という2種類のマテリアルがあり、どちらも虹色の効果をシミュレートすることができます。
2つのマテリアル違いはパラメータの設定方法が異なるくらいで、「スペキュラ」「反射」に限定すれば、ほぼ同じようなレンダリング結果になります。ThinFilmはフレネル反射が強いようで少し明るく見えます。

マテリアルの特長は以下の通りです。

Iridescence Material

  • 虹色の繰り返し回数を「波長」カーブと「nanometers」で制御
  • 虹色は「ディフューズ」「スペキュラ」「反射」「透過」「ルミナンス」で個別に設定可能

ThinFilm Material

  • 虹色の繰り返し回数を「厚み」で制御
  • 虹色は「スペキュラ」「反射」に限定した動作

基本的には細かく制御できるIridescence Materialがおすすめです。Gradientを使用しても手動でグラデーションを設定することもできますが、光のスペクトルを表現したい場合はIridescence Materialが手軽で便利です。

Iridescence Material にはThinFilm Materialにある「厚み」が無いように見えますが、チャンネルビューポートのnanometersで設定することができます。レイヤーエフェクトの「虹色」は「nanometers」チャンネルに影響してます。「厚さ」による色の変化はArnoldのマニュアルなど他のソフトのサンプルが参考になります。

 

Iridescence Material と ThinFilm Materialは「グループマスク」「レイヤーマスク」が使用出来ないので、マテリアルをマスクする場合はチャンネルごとレイヤーエフェクトを設定する必要があります。

マスクしたい箇所はウェイトマップを使用すると便利です。

 

ThinFilm Material を使用する場合は「屈折率」を1.0に設定するとレンダリングエラー(黒いピクセル)が発生するので、テクスチャを使用する場合は1.0にならないように注意する必要があります。

Iridescence Materialを使用すると金属の質感がリアルになるのでおすすめです。レザー素材にもいいらしいですよ。

 

テンパーカラー

 

油膜

 

亜鉛メッキ

 

ステンレス

 

参考

参考資料

MAVERICKRENDER GRADIENT LIGHTS PRESENTATION

Maverick Renderのグラデーションライトの紹介ビデオ。HDR Light Studioっぽい機能ですね。カーブUIのグラデーション表示が使いやすそう。
https://maverickrender.com/gradient-lights/

グラデーションライト

Maverick Studioは、実物に近い製品の視覚化に関するものです。そして、その名前自体が示唆するように、完璧で使いやすいスタジオ製品照明は当社のソフトウェアの主な目標です。
Maverickはライトオブジェクトを作成および再配置する強力なツールを最初から提供しています。しかし、これらのパネルとスポットライトによって実際に照射される照明がソフトボックス、傘などの形をしている場合に、最良の結果が得られます。実際の写真スタジオのように。

シェイプのライブラリを作成しても私たちにとって十分な気分ではありませんでした。そこで、想像を絶するスタジオライトの形状を作成できる、非常に柔軟で完全にカスタマイズ可能なプロシージャノードを作成することにしました。しばらくしてマップ自体に入ります。しかし、プレゼンテーションビデオは、この新しい機能がどれだけの力をもたらすかをわずか60秒で理解できるほど説明的でなければなりません。

 

参考資料

Chaos GroupのProject Lavinaオープンベータ開始

Chaos Groupが2019年のシーグラフでデモしていたProject Lavinaのオープンベータが開始されました。使用するには利用可能なV-Ray Next Renderライセンス(V-Ray Next製品に付属)が必要です。
https://www.chaosgroup.com/lavina

このソフトウェアはNvidia RTXグラフィックスカード使用する、RTXの技術プレビューとして2018年のシーグラフで発表していました。

Vrayシーンをロードして、レンダリングするオブジェクト、カメラ、または環境ライティングを編集することができます。Project Lavinaは主にV-Rayシーンのルックを反復したり、肩越しのレビューで探索したりするための環境として意図されています。

ユーザーは非常に大きな.vrsceneファイルをLavinaに非常にすばやく読み込むことができます。ChaosGroupはV-Ray自体で開くのに数分かかるシーンが数秒で読み込めると話してます。

現在はマテリアルを編集したりライトを配置したりすることはできませんが、新しいアセットをマージして、インタラクティブに配置またはスケーリングし、LUTまたはHDRIマップを読み込んでシーンの照明を変更することができます。

静止画やウォークスルーをリアルタイムで、または高品質のオフラインレンダリングとして生成するだけでなく、LavinaでV-Rayレンダリングのカメラ位置を設定する環境として使用できます。

Tips

Mayaのバッチレンダリングをバッチコマンドで便利にする

Mayaのコマンド ライン レンダラを使用したバッチレンダリングのしかたを紹介したことがありますが、今回はその応用編として、バッチコマンドを使用してMayaのバッチレンダリングを少し使いやすくする方法について書いてみます。

 

MayaはメジャーバージョンやSPごとに細かな不具合が多く発生します。このためコマンド ライン レンダラを使って各Mayaバージョンでレンダリングを実行し、どのバージョンからバグったか調べたりします。
しかし、Mayaは基本的にデザイナーに優しい動作をしないため、Maya標準動作が不便に思うことが多々あります。そこでバッチコマンドを使用して、Mayaのバッチレンダリングを少し使いやすくする方法を紹介したいと思います。

以下は指定したファイルをレンダリングする、基本的なバッチファイルの記述です。これを元に使いやすくしていきます。

“C:\Program Files\Autodesk\Maya2018\bin\Render.exe” -r sw -s 1 -e 120 -of png -log “C:\BatchFolder\Output\Cut001.log” -rd “C:\BatchFolder\Output” “C:\BatchFolder\Cut_001.ma”

 

バッチ実行後にウィンドウを閉じないようにするコマンド

cmd /k

通常コマンドプロンプト ウィンドウは、バッチファイルのコマンドを実行すると自動的にウィンドウが閉じます。バッチファイルの最後にコマンドを追加すると、コマンドプロンプト ウィンドウが閉じなくなります。

基本的になくてもよいですが、バッチの実行結果を確認したい時に使用します。バッチファイルが意図した通り動作するまではコマンドを入れておくとよいです。

“C:\Program Files\Autodesk\Maya2018\bin\Render.exe” -r sw -s 1 -e 120 -of png -log “C:\BatchFolder\Output\Cut001.log” -rd “C:\BatchFolder\Output” “C:\BatchFolder\Cut_001.ma”
cmd /k

 

変数 コマンド

set

変数を設定するコマンドです。
変数とは「値」や「文字列」を出し入れできるアイテムボックスみたなもので、「値」や「文字列」に好きな名前をつけてバッチファイル内で使うことができるようになります。

例えばログファイルと画像ファイルを同じ名称にしたいとき、バッチファイル内を2箇所書き換えるのが面倒です。そこでバッチファイル内で変数を定義し「set FileName=Cut001」、置換したい箇所に変数の展開「%FileName%」を記述します。下の例では変数「FileName」を「Cut001」という文字列に置き換えられてバッチが実行されます。

set FileName=Cut001
“C:\Program Files\Autodesk\Maya2018\bin\Render.exe” -r sw -s 1 -e 120 -of png -log “C:\BatchFolder\Output\%FileName%.log” -rd “C:\BatchFolder\Output\%FileName%” “C:\BatchFolder\Cut_001.ma”

レンダリングに使用するシーンファイルなど、書き換える頻度が高いものを変数として使用すると便利です。

set MayaFile=BatTest.ma
set FileName=Cut001
“C:\Program Files\Autodesk\Maya2018\bin\Render.exe” -r sw -s 1 -e 120 -of png -log “C:\BatchFolder\Output\%FileName%.log” -rd “C:\BatchFolder\Output\%FileName%” “C:\BatchFolder\%MayaFile%

 

カレントディレクトリ コマンド

%~dp0

バッチファイルのあるディレクトリを指定するコマンドです。
バッチファイルとMayaファイルを同じディレクトリで管理して使用するとき、画像ファイルの出力先のパスを毎回書き換えるのは面倒です。相対パスで記述しておけばパスを書き換える必要がなくなって便利です。

例えば下の画像のようにバッチファイルとMayaファイルを同じディレクトリに入れて使用するとします。

絶対パスでは「C:\BatchFolder\Cut_001.ma」のような記述になりますが、相対パスでは「%~dp0\Cut_001.ma」で済みます。

set MayaFile=Cut_001.ma
set FileName=Cut001
“C:\Program Files\Autodesk\Maya2018\bin\Render.exe” -r sw -s 1 -e 120 -of png -log “%~dp0\%FileName%\%FileName%.log” -rd “%~dp0\%FileName%” “%~dp0\%MayaFile%”

 

フォルダ作成 コマンド

mkdir

フォルダを作成するコマンドです。
Mayaは画像の出力先のディレクトリがなかった場合、自動的にフォルダを作成してくれます。しかしログ作成「-log」はフォルダを作成してくれません。このためログファイルを出力する場合はあらかじめフォルダを作成する必要があります。

下の例では変数を使用してフォルダを作成してます。

set MayaFile=BatTest.ma
set FileName=Cut001
mkdir %FileName%
“C:\Program Files\Autodesk\Maya2018\bin\Render.exe” -r sw -s 1 -e 120 -of png -log “%~dp0\%FileName%\%FileName%.log” -rd “%~dp0\%FileName%” “%~dp0\%MayaFile%”

 

ファイル削除コマンド

del

ファイルを削除するコマンドです。
ログ作成は「-log」は、レンダリングを繰り返すたびファイルにログを追加し続けます。私の場合は最新のログしか必要ないので、レンダリング前にログファイルを削除します。

set MayaFile=BatTest.ma
set FileName=Cut001
mkdir %FileName%
del %FileName%\%FileName%.log
“C:\Program Files\Autodesk\Maya2018\bin\Render.exe” -r sw -s 1 -e 120 -of png -log “%~dp0\%FileName%\%FileName%.log” -rd “%~dp0\%FileName%” “%~dp0\%MayaFile%”

 

バッチファイルを参照する

call

バッチファイルから別のバッチファイルを呼び出すコマンドです。
例えばMayaのバージョンを変数で管理したいとき以下のように記述します。Mayaのバージョンが多くなると見にくくなると思います。

set Maya2016=C:\Program Files\Autodesk\Maya2016.5\bin
set Maya2017=C:\Program Files\Autodesk\Maya2017\bin
set Maya2018=C:\Program Files\Autodesk\Maya2018.5\bin
set Maya2019=C:\Program Files\Autodesk\Maya2019\bin
set Maya2020=C:\Program Files\Autodesk\Maya2020\bin

set MayaVersion=2019
set MayaFile=BatTest.ma
set FileName=Cut001

call set MayaVersionPath=%%Maya%MayaVersion%%%
mkdir %FileName%
del %FileName%\%FileName%.log
%MayaVersionPath%\Render.exe”-r sw -s 1 -e 120 -of png -log “%~dp0\%FileName%\%FileName%.log” -rd “%~dp0\%FileName%” “%~dp0\%MayaFile%”

Mayaのパスだけ別のバッチファイル「MayaPath.bat」に記述し、このバッチファイルを他のバッチファイルから参照することができます。

set Maya2016=C:\Program Files\Autodesk\Maya2016.5\bin
set Maya2017=C:\Program Files\Autodesk\Maya2017\bin
set Maya2018=C:\Program Files\Autodesk\Maya2018.5\bin
set Maya2019=C:\Program Files\Autodesk\Maya2019\bin
set Maya2020=C:\Program Files\Autodesk\Maya2020\bin

「call」を使用して他のバッチファイルを指定します。

call C:\BatchFolder\MayaPath.bat

set MayaVersion=2019
set MayaFile=BatTest.ma
set FileName=Cut001

call set MayaVersionPath=%%Maya%MayaVersion%%%
mkdir %FileName%
del %FileName%\%FileName%.log
“%MayaVersionPath%\Render.exe”-r sw -s 1 -e 120 -of png -log “%~dp0\%FileName%\%FileName%.log” -rd “%~dp0\%FileName%” “%~dp0\%MayaFile%”

Mayaのパスを分けるのはバッチファイルが長くなるのを避けることができることの他に、将来的にMayaのバージョンが増えた場合に、ファイルの書き換えが1ファイルの編集だけで済むというメリットもあります。考え方としては3Dソフトのリファレンス機能と同じです。

バッチファイル完成!これでバッチファイルの使い勝手がよくなりました。バッチコマンドを使いこなせば、フォルダ内の全てのMayaファイルを全てレンダリングするようなこともできます。

 

個人的にはバッチファイルやCUIは苦手なので使いたくないのですが、Mayaはスクリプトやらコマンドプロンプトやら色々知ってること前提のソフトなので、GUIベースのソフトで育った人には辛い。

Tips

Mayaソフトウェアで頂点カラーをレンダリングする方法

Maya Softwareで頂点カラーをレンダリングする方法について書いてみます。

Maya単体では頂点カラーをレンダリングすることはできませんが、Maya Bonus Toolsに入ってるCv Color Shaderを使用すると、Maya Softwareで頂点カラーをレンダリングすることができます。
https://apps.autodesk.com/MAYA/en/Detail/Index?id=8115150172702393827&os=Win64&appLang=en

 

使用方法

1.メッシュに頂点カラーをペイントする。

 

2.Maya Bonus Toolsをインストールしてプラグインをロードする。

 

3.シェーダーのカラーアトリビュートのマップボタンをクリックしてCv Color Shaderを設定する。

 

4.レンダリングする。

 

頂点カラーがレンダリングできると、MASH Colorを使ってメッシュにランダムに色を設定することができるようになります。

 

トゥーン系のレンダリングでは、ArnoldのようなPBRでGI前提のレンダラーはレンダリングコストが高いように思います。GIが必要なければMaya Softwareのようなレガシーなレンダラーの方が速くて向いてる気がします。

Tips

modoで交差したオブジェクトの境界をやわらかくする方法

LightWaveで交差したオブジェクトの境界をやわらかくする方法についてツイートしてるのを見かけたのでまねしてみた。何となくそれっぽく動いた。

サンプルファイル

 

Raycastノードの「ヒットした距離」をリレーションシップで調整して透明にしてます。

ソフトパーティクルのように使おうと思ったら、Replicatorで複製されたメッシュ通しで透明になってしまった。パーティクルで使用するには、もう少し工夫する必要がありそう。

 

参考

CG News

OctaneRender 2020.1 XB1

Octane 2020.1がテストリリースされたようです。また、OctaneRenderは現在ブラックフライデーセール中のようです。元の価格いくらだっけ。

永久ライセンス

  • 12か月のメンテナンスプラン 699 €
  • 24か月のメンテナンスプラン 899 €

年間サブスクリプション

  • 22 .50€/月
  • 29 0.99€/月

https://render.otoy.com/forum/viewtopic.php?f=7&t=73237

新機能2019.2以降の新機能と改善点

  • Optix 7:主要なRTXの改善-安定性、速度、メモリフットプリント
  • ACES:新しいワークフローと画像コンテナーファイルレイアウト
  • Maxon Cinema 4D GPUノイズ:テクスチャ、ボリューム、OSL、Vectron、ディスプレイスメント
  • 新しいHosek-Wilkieスペクトルスカイモデル
  • パーティクルとストランドポイントの属性
  • ユニバーサルカメラ2:スプリットフォーカスと光学ケラレ
  • LiveDBのキュレートされたOSLプロシージャルシェーダー
  • Houdini 18 SolarisビューポートのHydraレンダーデリゲート
  • 高度なディスプレイカラー管理システム| OCIO
  • Round Edgesアーティストコントロールの改善
  • スカルプトロン
2019.1以降の新機能と改善点
  • SSSの改善とランダムウォークSSS
  • スペクトルヘアマテリアル
  • ボリュームサンプルの位置ディスプレイスメント
  • スペクトル領域/球体プリミティブ
  • ボリュームステップおよびシャドウステップ
  • 新しいユニバーサルダートシステム
  • Vectronボリューム

Hosek-Wilkie Skyモデル

Hosek-Wilkieモデルを日光環境に追加しました。特にかすんでいる条件や地平線に近い他の実装よりも、より現実的で詳細な結果を生成します。デイライト環境ノードのドロップダウンデイライトモデルをクリーンアップするために、Old Daylight ModelをPreetham Daylight Modelに、New Daylight ModelをOctane Daylight Modelに名前を変更しました。前と同じように、空の色と夕焼けの色。

Octane昼光モデルでのみ使用されますが、地色はHosek-Wilkieモデルの空の大気散乱にも含まれています。これは微妙ですが目に見える効果です。たとえば、森林の現実的な空をレンダリングするには地色を濃い緑色に設定し、雪の多い風景の現実的な空には地色を白に設定します。

Hosek-Wilkie 日光モデルの両方でレンダリング同じシーンの比較

ユニバーサルカメラ

新しいユニバーサルカメラは、他のOctane組み込みカメラの既存の機能の多くを公開し、次のような多くの新機能で拡張します。

  • 収差
  • 開口部のテクスチャ
  • キューブマップレイアウト(6×1、3×2、2×3、1×6)
  • ねじれ
  • 魚眼レンズ
  • DOF設定の改善
  • 光学ケラレ
  • スプリットフォーカスジオプター

カメラを2つの別々の領域にフォーカスできるスプリットフォーカス機能を使用したサンプルレンダリング。

カラー管理の表示

Octaneで使用するカラープロファイルを指定できるようになりました。ビルトインプリセットに加えて、ICCおよびICMプロファイルもインポートできます。これはすべてのプラグインとLua API経由でも利用できます。

 

ACESイメージコンテナーファイルレイアウト

Academy Color Encoding System(ACES)OpenEXRファイル(IEEE ST 2065-4:2013)のエクスポートのサポートを追加しました。Octaneスタンドアロンでは、これはレンダーパスエクスポートダイアログのオプションとして追加されました。現在のレンダリングに加えて、ディスクメニューに保存します。いつものように、これはすべてのプラグインとLua API経由でも利用できます。ビルトインCinema 4Dノイズシェーダー

ビルトインCinema 4Dノイズシェーダー

Octaneは現在ネイティブCinema 4Dノイズの生成をサポートしています。 つまりCinema 4Dプラグインのユーザーは、Maxonの組み込みノイズシェーダーをOctane内で直接使用できます。

Cinema 4Dノイズシェーダーを使用するシーンは、ORBXとしてエクスポートし、完全にサポートされたスタンドアロンでレンダリングすることもできます。

ラウンドエッジシェーダーの改善

より正確なラウンドエッジシェーダーを更新して、より広範なシナリオでより良い結果を生成しました。これには、エッジ法線の評価に使用するサンプル数を指定できる新しいオプションも含まれます。

画サンプルが多いほど、より正確な結果が生成され、各シーンに応じてレンダリング時間が長くなります。これらの変更は、Octane 2019にもバックポートされます。

LiveDBの新しい手続き型シェーダー

カスタマイズ可能なOSL手続き型シェーダーの完全に新しいコレクションがLiveDBに追加されました。 これらには、新しいパターン、ノイズ、ボリュメトリックシェーダー、その他の効果、および有用なユーティリティが含まれます。

新しいライブラリは、LiveDBのOTOYセクション内にあります。

Houdini 18のHydraレンダーデリゲート

Houdini 18のOctane 2020.1はSolarisビューポートの完全に機能するHydra Renderデリゲートとして動作し、USDプレビューサーフェスとHydra APIによって公開されるライトをサポートします。

RTXサポート

2020.1ではレイトレーシングを高速化するRTXサポートを追加しています。 NVidiaカードのRTXは、Octaneに次のレベルのパフォーマンスをもたらします。この実験リリースでは三角形メッシュトレースを実装しましたが、シーンに大きく依存しますが、レイトレーシングのパフォーマンスが500%も向上するのを目撃しました。これは、特定のシーンのレンダリングの実際にレイトレーシング操作に費やす時間とシェーディングに費やす時間に応じて、異なるスピードアップに変換されますが、ほとんどの場合、少なくともある程度の顕著なゲインが見られるはずです。

以前の実験的ビルドとは対照的に、VulkanRTに影響するいくつかの問題がまだサードパーティによって解決される必要があるため、光線追跡バックエンドを切り替えてOptiXを使用することにしました。この変更により、ほとんどのシーンの全体的なレンダリングパフォーマンスが向上しますが、特に複雑なシーンでは、VRAMの使用量が以前の約半分に削減されます。

サポートされているデバイスでRTXを有効にするには、NVIDIAドライバーバージョン435.80以降が必要です。以下は、RTXオンモードとRTXオフモードで速度が向上したシーンの例です。

ランダムウォークSSS

ランダムウォークメディアを追加しました。このミディアムノードは他のミディアムノードの従来の吸収/散乱カラースペクトルとは対照的に、予想されるSSSカラーを指定するためにアルベドテクスチャを取り込みます。また、色の半径のテクスチャを指定することもできます。これは光が媒体に散乱する距離を表します。

ランダムウォークに加えて散乱/吸収テクスチャへの入力として任意のテクスチャを提供できるように、古いメディアを修正しました。ボリュームにそれらを使用する場合を含む。

それ以外に媒体内のバイアスのない散乱とバイアスのある散乱を補間するバイアススライダーも導入しました。バイアス散乱法(バイアスが1.0の場合)を使用すると収束が速くなりますが、曲率の高いメッシュの2つの方法を混在させることもできます。

ランダムウォークSSSは他の以前のミディアムノードと同様の既存のマテリアルにアタッチできます。さらにレイヤードマテリアルと組み合わせて使用​​して、スキンマテリアルなどをシミュレートできます。

ランダムウォークSSSの実際の例を以下に示します。ここでは拡散スロット(左)の拡散素材とアルベドテクスチャを比較します。 0.0バイアスの中間散乱アルベド(中央)、vsバイアスが1.0の中間散乱アルベドとしてアルベドテクスチャを使用する新しいランダムウォークミディアムノードの拡散マテリアル(右)。画像からわかるように、古い散乱法を使用すると(0.0バイアス)、媒体内で光線が失われるために表面下散乱がかなり暗くなりますが、新しいランダムウォークSSSを使用すると(1.0バイアス)、表面下散乱効果は、媒体内部のエネルギーをそれほど失いません。

スペクトルヘア素材

Octaneの一般的なヘアレンダリングのリアリズムを改善する2020.1に新しいヘアマテリアルを実装しました。 ヘアマテリアルと従来の拡散/スペキュラマテリアルの違いは、ヘアマテリアルでは割り当てられたジオメトリが厳密にヘアスプラインであると想定しているため、ヘアジオメトリで発生するマルチスキャッタリングエフェクトの事前統合が可能です。

ヘアマテリアルには独自のパラメータセットがあり、ヘアのさまざまなカラーモード、およびヘアのストランドに沿ったさまざまな散乱挙動の複数の粗さパラメータを使用できます。

以下の画像は、縦方向の粗さが低い(左)から高い(右)まで変化する髪のレンダリングを示しています。

以下は、低(左)から高(右)まで方位角の粗さが変化するヘアマテリアルの画像です。

ボリュームサンプルディスプレイスメント

ボリュームサンプルのディスプレイスメントにより、任意のテクスチャを使用してボリュームグリッド内のすべての位置でサンプリング位置をシフトできます。 ノイズの場合はボリュームデータをまったく変更せずにディテールを追加でき、リアルタイムで調整できます。

Vectronボリューム

Vectronを使用してレンダリング時にボリュームを作成できるようになりました。 ボリュームの散乱と吸収へのSDF入力を使用することにより、同じオブジェクトを使用してサーフェスの代わりにボリュームを定義できます。

Spectron area /球プリミティブ

2020.1の2つのデフォルトライトプリミティブ(ジオメトリを含む)を追加しました。

  • Spectron area プリミティブ
  • 分光球体プリミティブ

ジオメトリレベルで両方のライトタイプの基本的なプリミティブスケーリングを許可し、ジオメトリ変換のために位置ノードを併用できます。 また、受信メッシュサーフェスの立体角を考慮して、これら2つのライトプリミティブのライトサンプリングアルゴリズムを改善しました。 これにより、直接光サンプリングのノイズ低減の改善が可能になり、通常、従来のメッシュ光サンプリングの使用と比較して、より高速で画像の収束が改善されます。

クワッドライトをさらにスポットライトに変更できるようにするorbxを含めました。ここで追加のパラメーターの例を示します。 広がりを制御すると、光が放射する方向性を制御できます。

次の3つの画像は、Spectronの球体光と従来のメッシュ光(ピクセルあたり1サンプル、10サンプル、20サンプル)を使用した画像のノイズへの影響を示しています。

ボリュームステップとシャドウステップ

ミディアム/ボリュームミディアムノード内のステップ長は、一般的なレイステップ長とシャドウレイステップ長に分離されます。 デフォルトでは、これらは以前のバージョンのOctaneと同じ値にロックされています。 この新しい機能を使用すると不要な場合に不要なレイマーチングを回避するために、それらを独立してシャドウレイのレイステップ長を個別に増加させることができます。これによりボリュームトレースの速度が向上し、最終レンダリング時間が短縮されます。

以下は、ボリュームレイマーチをさまざまなステップ長とシャドウステップ長で比較した画像です。

新しいユニバーサルダートシステム

ダーティテクスチャノードは、柔軟性を高めるための追加パラメーターにより2020.1で改善されました。 2020.1より前ではダートノードは均一なコサインサンプリング法を使用して、マテリアル表面からの光線を追跡しました。

2020.1で、ダートノードにバイアスをかけるためのパラメーターをいくつか導入しました。これにより、レイの広がりを制御し、コサインサンプリング方式ではなくコーン型にすることができます。 また、Octane 2020.1より前のように、表面の法線に対してより均一に、またはより均一にダートレイの分布を制御できるようになりました。さらに、ダートノードの半径をテクスチャ入力に変更しました。 サーフェスポイントのトレース距離を空間的に制御します。

汚れのテクスチャは、ビジュアライズのためにグラウンドプレーンにアタッチされています。 スプレッドが低いほど常に一方向にダートレイをサンプリングするため、ダートはよりシャープになります。

汚れの分布により、汚れの光線は法線方向または法線+バイアス方向により集中し、左の画像はデフォルトの1.0分布(均等に分布した汚れの線)で、右の画像は1000.0分布(法線+に集中) バイアス方向)。

以下は汚れ除去とバイアスのない汚れと偏った汚れの比較を示します。

参考資料

「銀河英雄伝説 Die Neue These 星乱」におけるRedshiftレンダラの実力

mental rayに変わるレンダラとして、Redshiftの検証記事が公開されています。
https://cgworld.jp/feature/201911-255gineiden.html

メインのレンダラとしてmental rayとPSOFT Pencil+が使われていた。しかし、3ds Max 2018以降でmental rayが廃止されたことを受け、今後I.G3Dで使用する次期レンダラを選定する必要に迫られることになった。候補として挙がったのは、V-Ray、Arnold、Unreal Engine、Redshiftの4つ。4つのレンダラ候補から選ばれたRedshiftの驚異的な速度。

続きを読む

Tips

modoのテクスチャをフォールオフで制御

modoのテクスチャをフォールオフで制御する表現について書いてみたいと思います。

フォールオフはアニメーションのタイミングパーティクルの制御ダイナミクスのトリガーなどに使用することができますが、テクスチャの不透明度を制御することもできて便利です。
マイクロポリゴンディスプレイスメントと組み合わせると、地形のようなモデリングやエフェクトを作成することができます。

 

リニアフォールオフ

サンプルファイル

スケマティックはこんな感じ。Constantは単色で塗りつぶすレイヤーです。

 

ラジアルフォールオフ

サンプルファイル

スケマティックはこんな感じ。フォールオフの重ねがけ。

 

カーブフォールオフ

サンプルファイル (13.2)

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

カーブフォールオフはmodo 13.2で追加された便利なフォールオフです。「長さに沿ってフォールオフ」など気の利いたパラメータがはじめから用意されてます。

シェーダーツリーはこんな感じ。

レンダリングが遅いときはマイクロポリゴンディスプレイスメントの「ディスプレースメント評価間隔」に0.5や1.0Pixelsなど大きな値を設定すると軽くなります。ただし形状が荒くなります。

 

カーブプローブ

これまでもカーブプローブやスプラインフォールオフを使用すればカーブフォールオフのような表現ができましたが、セットアップが少し面倒でした。カーブフォールオフを使用すると手軽にカーブを使用した表現ができるようになります。