V-Ray Scenes バージョン 2 でChaos Cloud改善
[Chaosフォーラムのこちらのスレッドより翻訳した記事です]
V-Ray 6 Update 1 では、Chaos Cloud にシーンを送信する為の新しい中間フォーマットを導入しました。この形式には、次の利点があります。
- Chaos Cloud でのより正確なレンダリング。新しいフォーマットで追加された固有のプロパティにより、ローカルレンダリングと Chaos Cloud レンダリング間の多くの違いが修正されました。
- Chaos Cloud にアップロードするデータ サイズを削減しました。最低でも約 24% 削減されます。しかし、多くのシーンでより大きく削減されるでしょう。
この形式は、シーンが Chaos Cloud に送信されるときに自動的に使用されます。 ユーザーは V-Ray 6 Update 1 にアップグレードする以外に何もする必要はありません。
この新しい形式による改善点は他にもありますが、それらを数値化して簡単な箇条書きとしてリストするのは困難です。以下にその詳細を解説します:
V-Ray Scene (.vrscene) ファイル
変更が何であるかを理解するために、そもそもクラウドへの送信(submit)がどのように機能するかについて、いくつかの内部的な挙動の話を提供する必要があります。
ローカルマシンでレンダリングする場合は、話は簡単です。選択したソフトウェア (3ds Max、Maya、SketchUp など) にシーンをロードし、レンダリングするとV-Ray が起動し、コンピュータ上のファイルを使用して出力画像を生成します。当たり前ですね。
しかし、この同じシーンを Chaos Cloud でレンダリングしたい場合はどうなるでしょうか? これは、別のパソコンでレンダリングする場合も同様の問題です (ご存じのように「クラウド」は単に「別のマシン」にすぎません)。 通常、シーンとそれに付随するファイルをこのリモートマシンに何らかの方法で転送して、V-Ray がそれら全てのリソースを使用できるようにする必要があります。
Chaos Cloud では、このプロセスは自動化されています。 「V-Ray for X」と Chaos Cloud clientソフトウェアが連携して、アップロードする必要のあるファイルを見つけ出し、それを実行します。しかし、これはどのようにそれを行うのでしょうか? Chaos Cloudへのデータ送信はこのシーンリソースの転送に関する問題が中心となります。
Chaos Cloud ではサービススタート当初から V-Ray Scene ファイルを使用してきました。お使いのマシンで実行されている V-Ray はChaos CloudにレンダリングをSubmitする場合、シーンを .vrscene ファイルに変換します。変換された.vrsceneファイルが、シーンをアップロードする為の Chaos Cloud clientソフトウェアによって取得されます。Chaos Cloud clientソフトウェアは .vrscene ファイル自体だけでなく、その中に記載されているそのシーンリソースファイルを収集します。シーンリソースファイルは、明示的または暗黙的に言及されている場合があります。後で重要になることを覚えておいてください。
.vrscene ファイルは Chaos Cloud のネイティブファイルであると言えます。Chaos Cloudマシン上のV-Rayは、それをサーバー上で直接使用して、レンダリング画像を生成します。
これはうまく機能しますが、完璧ではありません。もっとうまくできるはずです!
V-Ray Scenes バージョン 2
Chaos Cloudチームは改善に取り組みました。V-Ray 6 Update 1 では、新しいバージョンの .vrscene ファイル (「Version 2」とよびます) を実装しています。これは別のマシンにシーンを簡単に転送できるようにすることを目的としています。古い .vrscene ファイルと新しいファイルの主な違いについて説明します。
バイナリーデータ
ご存知かもしれませんが、.vrscene ファイルはテキスト形式のファイルです。テキスト形式のフォーマット内に、ジオメトリ、マテリアル、シェーダーなどのデータも記述されます。一般的にジオメトリ、マテリアル、シェーダーの情報はバイナリ形式の方が最も効率的に格納できます。ただし、.vrscene ファイルの「バージョン 1」では、テキスト形式であるが故に、全てがテキスト形式にエンコードされます。これにより、.vrscene ファイルは実際のサイズよりもはるかに大きくなります。
.vrscene フォーマットの「バージョン 2」では、これが改善されています。このようなデータは、別のファイルにバイナリ形式で保存されます。 .vrscene ファイル自体には、データが保存されているバイナリファイルへの参照パスのみが含まれています。この変更により、新しいシーンフォーマットのシーンサイズが劇的に縮小されました。
また同時に、サイズの縮小を目的とした別の変更を行いました。以前は、同じデータが .vrscene ファイルで何度も繰り返される可能性がありました。たとえば、アニメーションのフレーム毎に 10MB のジオメトリが繰り返し記述されている事を想像してみてください。シーンの容量は爆発的に増加します。
「バージョン 2」では、データの 1 つのインスタンスのみがバイナリファイルに格納されるように変更されました。 .vrscene ファイルには好きなだけ参照を含めることができますが、実際のデータは一度だけ保存されます。この変更の効果はシーンに依存します。特にオブジェクトをスキャッターしたりアニメーションするシーンで大きな効果が現れます。この変更によりシーン全体のサイズが大幅に縮小する人もいますが、あまり効果がない人もいます。
明示的なシーンリソースのファイルリスト
以前の Chaos Cloud ソフトウェアは、.vrscene ファイル自体を読み取って、アップロードする必要がある追加ファイルを .vrsceneファイルを解析する必要がありました。つまり、新しいV-Rayの新機能や変更点が追加された場合、正しいレンダリングに必要な新しいファイルを認識できるように、Chaos Cloud Client アプリケーションを更新する必要がありました。これが原因でChaos Cloudで認識されないデータが発生したりする不具合が簡単に発生していました (悲しいことに頻繁に発生していました)
「version 2」形式では、正しいレンダリングに必要な全てのアセットファイルを明示的にリストすることで、これらすべてを修正しています。このようにしてシーンリソースはCloudソフトウェアに対して「透過的」になります。ユーザーの観点からは、これは更新頻度を減らす事ができる事を意味します。
この変更の結果、これまで知られていないいくつかの不具合も解決されました。そのため「version 2」形式を使用するシーンは、全体的により正確(再現性が高く)になっています。
現在の制限
現在、バージョン 2 の .vrscene ファイルは、Chaos Cloud に送信する場合にのみアクセスできます。
すべてのシーンを「version 2」の .vrscene 形式にエクスポートできるわけではありません。エクスポートを妨げる少数のプラグイン (ノード) があります。これは一時的なものであり、時間とともに改善されます。シーンに問題のプラグインが含まれている場合、古い「version 1」形式で Chaos Cloud に自動的に送信されます。
改善例
旧バージョンとの比較例をいくつか紹介したいと思います!
シーンサイズの比較
chaos.com/getting-started サイトからいくつかのシーンを .vrscene のバージョン 1 と 2 にエクスポートして比較しています。古い形式の「.vrsceneファイル」と新しい形式の 「.vrsceneファイル + バイナリファイル + 明示的なファイルリスト」を比較していることに注意してください。レンダリングに使用しているリソースは、両者で同じです。
「Tool Cabinet」シーンでは、98 MB (v1) から 44 MB (v2) に減少しました。これにより、ファイル サイズが 55% 削減されます。
「VFMax City」シーンは 41 MB (v1) から 32 MB (v2) に減少しました。これにより、ファイル サイズが 21% 削減されます。
「VFMaya Character」シーンは 66 MB (v1) から 46 MB (v2) に減少しました。これにより、ファイル サイズが 30% 削減されます。
「VFSU Interior」シーンは、6.2 MB (v1) から 2.9 MB (v2) に減少しました。これにより、ファイル サイズが 53% 削減されます。
この比較は、私たちが実際に行った変更を非常によく表しています。これは、非常に大きなシーンにも当てはまります。例に含めるような大きなシーンは手元にありませんが、以前は 100GB をアップロードする必要があるシーンも v2 シーン形式では、これが 50GB 以下に減っても驚かないでしょう。
再現性の改善
以下のリストは決して網羅的なものではありませんが、新しい形式では、以前は不明だった多くのバグが修正されています。問題が明らかになったのは、v1 と v2 の出力を比較し始めた時に発見されました。
vraybitmap を使用した一部のアニメーションキャラクターは、「バージョン 1」形式ではテクスチャが「スクランブル」されたように見えました。
Alembic レイヤーを含むレイヤーでは、ジオメトリが完全にオフになっていました。
Proxy経由での Alembic レイヤーも正しくレンダリングされませんでした。いくつかのテクスチャさえ欠けていました。
リソースファイルへのユーザーアトリビュートタグが機能していませんでした。次の画像では、次のように色と形状の属性を使用しました。
[CODE]
PluginType name {
file=”../tex/dn/tex-<color>-<shape>.png”;
}
Node name {
user_attributes=”color=green;shape=arrow;”;
}
[CODE]
ファイル名に <token> が含まれている場合の BitmapBuffer の Instancer2 アトリビュートは完全に壊れており、Chaos Cloud では機能しませんでした。これが改善されています。
結論
V-Ray Scnee バージョン 2 で Chaos Cloud (V-Rayスタンドアローンレイヤー)が大幅に改善されています。 V-Ray 6 Update 1 を入手して、ぜひ活用してください。特に、以前にシーンのサイズや正確さでChaos Cloudに問題があったケースも改善されている筈です。
最新記事 by Yamauchi (全て見る)
- Chaos Unboxed ロードマップをアナウンス - 2024-02-28
- MaterialX と V-Ray: 3Dクリエイティビティの次世代ワークフロー - 2024-02-26
- V-Ray 6, for 3dsMax Update 2 サイドノート - 2023-12-08