チュートリアル / Maya V-ray アーティスト ワークフロー~レンダリングテクニックを学ぶ~
第1回:V-Ray導入編 ~MayaでV-Rayを使いこなすために~

2016.04.26

  • Maya
  • チュートリアル
  • レンダリング
  • 中級者
  • 映画・TV

近頃、CGの学校を出てCGプロダクションに入られる方はたいていAutodesk Mayaを勉強されています。モデリングからレンダリングまで一通り勉強されていると思いますが、実際のお仕事に関わると、学校では勉強してこなかったアプリケーションソフトウェアを扱う必要がでてきて困ったりしますよね。特に、Mayaでお仕事をする場合にV-Rayを使ってレンダリングをされているプロダクションも増えています。CGを仕事にしようとされているくらいですから、V-Rayのことは聞いたことあるし、少しは触ったことがあるかもしれません。しかし、V-Rayはレンダラーの中でも複雑で覚えることが多く、知ったかぶりだけでは乗り越えられない壁にぶつかるかもしれません。
そこで、このコラムでは、Maya上でV-Rayを使う場合のワークフローについて順を追って解説して行きたいと思います。

でもその前に…

1.V-Rayってなんすか?

V-rayは、1997年に、ブルガリア共和国ソフィア市にて設立されたChaos Group Ltdが2002年3月に開発したレンダラー。

2.V-Rayの特徴って?

グルーバルイルミネーションを搭載していながらも比較的高速に動作するレンダラー。
3ds Max 版で開発・発売され、当初は建築ビジュアライゼーション分野で多用されたが、 現在ではMaya, SoftImage, Cinema4D, Rhino, SketchUp, Blender, Modo, Nuke, Katana版が発売され、多方面に使用されている。

V-Rayが発売された当時、他にも様々なレンダラーが登場してきたが、現在にいたるまで開発が続いているレンダラーは少ない。V-Rayが生き残ることができた理由としては、高速でありながらもアーティファクトの少ない綺麗なグローバルイルミネーションイメージを作り出せることと、最新のトレンドを取り込んでいく開発スピードにあると思われる。

V-Rayが登場した90年代後半は、CPUの計算スピードが著しく向上した時代で、それまではほぼ現実的ではなかったグローバルイルミネーション計算が、ようやく実用的なレベルになったことで、沢山のグローバルイルミネーションレンダラーが登場した。しかし今から考えると当時のCPUの動作周波数はようやく1GHzを越えた辺りで、当然マルチコアもなかった。そのような中でもV-Rayは比較的高速に綺麗な画像を作り出すことが出来るアルゴリズムを採用していた。

3.V-Ray 3ds Max 版との違いはあるの?

V-Rayは3ds Max 版から開発されたため、最新のアップデータが登場するのも3ds Max が一番速かったが、現在ではMaya版もほぼそれに追従しており、どちらも最新の機能をつかえるようになっている。例えば「3ds Max フォールオフマップ」は「V-Ray falloff texture」としてMaya版に移植され、3ds Max 版と同等の効果が得られるようになった。また、V-Ray3.0以前は3ds Max 版のみ無制限レンダリングライセンスが付属していたが、現在ではそれも廃止されプラットフォーム間で均一な開発が行われるようになった。またレンダーノードライセンスはマルチプラットフォームライセンスとして動作するので3ds Max 、Mayaどちらであっても有効活用できるようになっている。

というような概要を頭にいれた上で、実際にMaya上でV-Rayを使っていきましょう。

Step01 【V-Rayをインストールした後にまず行うこと】

V-RayをインストールしたらMayaのPlug-in ManagerでV-Rayがロードされているか確認しておきましょう。

Plug-in Manager

Auto loadにチェックを入れておくとMayaを立ち上げるたびに自動的にプラグインが読み込まれます。

※このプラグインマネージャーでロードにチェックをつけていてもたまに外れていることがありますよね。Mayaが強制終了した時や、Mayaを立ち上げた時にまだプラグインが読み込まれる前に操作してしまった時などに外れてしまうことがあります。お気をつけ下さい。

つづいて、V-Rayオリジナルのユーザーインターフェースがあるので、それを表示させます。
デフォルトでは表示されていません。
まずRender Settings (レンダー設定) を開いてRender Using (使用するレンダラ) をV-Rayにします。

Render Settings

それから、Setting タブの中にあるV-Ray UI の2つのスイッチを入れます。

Render Settings

Shelf buttons in “Rendering”のAddスイッチを入れると、シェルフのRenderingにV-Ray専用のマテリアルやライトが追加されます。

さらにCreate/Replace V-Ray Shelf スイッチでV-Ray専用シェルフが追加されます。

これでV-Rayを使う準備は完了です。
簡単ですね!
V-Rayをインストールしたことにより、他にもいくつかのV-Ray専用メニューが追加されています。

Create (作成) メニューの下にV-Ray専用のCreateコマンド

Lights (ライト) の中にもV-Ray専用ライト

Maya2016から搭載された新しいハイパーシェードにもV-Rayのコマンドが追加されます。

V-Rayには専用のレンダービュー「V-Ray Frame Buffer」が用意されています。

V-Ray Frame Bufferの詳しい説明はまた後の機会にいたします。
なんだかMayaがV-Ray色に染まっているようですね。

しかし、問題はこれからです。
V-Rayは機能も豊富で憶えることが多く、どこから手をつけていいか分らないうちに使い始めてしまい、なんとなくレンダリングができているのでコレで良いんじゃないかと、機能を正しく理解せずに使い続けてしまうことがあります。
V-Rayが始めての人は今から最短で理解できるように、また、現在使っている人はより使いこなせるように学んでいきましょう。

Step02 【V-Rayフローを理解する】

レンダラーと一口に言っても、実際にレンダリングするためにはいくつかの設定があります。
Mayaで作られたモデル、あるいはシーンをV-Rayを使ってレンダリングする場合、レンダー設定だけをいじれば済むということではなく、以下の項目にV-Rayの設定を行う必要があるのです。

・ジオメトリ(モデル)
・ライト
・カメラ
・マテリアル(質感)
・エフェクト
・レンダリング設定

V-Rayの設定がされていないシーンでも、V-Rayに切り替えてレンダリングしてみたらうまくいった!という場合は、ユーザーを戸惑わせないようにV-Rayが既存の設定をうまく変換してレンダリングしているだけなのです。しかし、これではV-Ray本来の機能をつかいこなせているわけではありません。
というわけなので、具体的にどのようにV-Rayの設定をしていくのかを見ていきましょう。

Step03 【ジオメトリアトリビュート設定】

MayaのV-Rayではオブジェクトのアトリビュート(属性)にV-Ray専用のアトリビュートを追加して機能を設定していきます。
シェイプを選択して表示されるアトリビュートエディターのAttributes (アトリビュート) メニューの中に、V-Ray専用のコマンドがあります。
例えばシェイプの場合はサブディビジョンやディスプレイスメントの設定、オブジェクトID番号の設定などはここから行います。
これらのコマンドをONにするとシェイプアトリビュートの一番下のExtra VRay Attributesに追加されていきます。

この中から特にサブディビジョンの設定について説明します。
Mayaではずいぶん前から(いつの頃からだったか忘れてしまいました)レンダリング時のサブディビジョンをビューポート上でも見られるようにするスムースメッシュプレビューという機能があり、みなさんもキーボードの【1】【2】【3】を押して設定していますよね。
しかし、これはもともとmentalRayのために作られた機能なので、V-Rayではこれを変換してレンダリングしています。それとは別にV-Rayには専用のサブディビジョン機能としてOpenSubdivが用意されているので、どのように異なるかをフリーモデルのスザンヌさんを使って見ていきましょう。

まずビューポートサブディビジョンが設定されていないモデルをV-Rayでレンダリングしてみます。

ビューポートサブディビジョンが設定されていないモデル

当然、カクカクですね。こちらのレンダリング時間は26.2秒です。

次にキーボードの【3】を押してビューポートサブディビジョンを設定します。

さらにレンダー設定を開き、OverridesタブのGeometryのViewport SubdivisionをONにしてレンダリングします。
これはデフォルトでOFFになっています。

OverridesタブのGeometryのViewport SubdivisionをONにしてレンダリング
スムーズな形状がレンダリングされた

スムーズな形状がレンダリングされました。
ビューポートサブディビジョンを使ったレンダリング時間は35.5秒でした。

最後にV-Ray専用のOpenSubdivを使ってレンダリングしてみましょう。

ジオメトリシェイプのアトリビュートでOpenSubdivをONにします。
デフォルトでサブディビジョンレベルは4になっています。
ビューポートサブディビジョンは外しておきます。

OpenSubdivを使ったレンダリング結果

OpenSubdivを使ったレンダリング時間は20.5秒です。
ビューポートサブディビジョンを使った場合と比べてかなり速くなっています。

もう少しオブジェクトが沢山あるシーンで比較してみましょう。
サブディビジョンをかけるとかなりのポリゴンになるボトルを複数置いてみました。

サビディビジョンをかけない場合のレンダリング。

サビディビジョンをかけない場合のレンダリング

カクカクしたボトルです。レンダリング時間は1分11秒

ビューポートサブディビジョンを使った場合のレンダリング

ビューポートサブディビジョンを使った場合のレンダリング時間は1分29秒

OpenSubdivを使った場合のレンダリング

OpenSubdivを使った場合のレンダリング時間は1分11.6秒
サブディビジョンをかけていない場合と比べてもほぼレンダリング時間は変わりません。
このレンダリング時間の差は、ジオメトリの数が増えれば増えるほど効いてきそうですね。

OpenSubdivのメリットはもう1点あります。
モデリング時にCrease Edge (折り目エッジ) を使った場合、mentalRayを使用してレンダリングすると問題は発生しないのですが、V-RayではOpenSubdivでしか正しい形状をレンダリングできません。
ビューポートサブディビジョンやV-Rayの古いサブディビジョンを使ってレンダリングしてもCrease Edge (折り目エッジ) は正しくレンダリングされないのです。
モデリングする際、このように角をはっきりさせるためCreaseコマンドを使う場合があります。

ビューポートサブディビジョンをONにして確認するとこのようになります。

ではこのモデルに対しmentalRayを使ってレンダリングしてみましょう。

mentalRayを使ってレンダリング

もともとビューポートサブディビジョンはmentalRayの機能なのでmentalRayでレンダリングするとCrease Edge (折り目エッジ) は正しくレンダリングされます。
ではV-Rayはどうでしょうか?
ビューポートサブディビジョンをONにした状態でV-Rayでレンダリングしてみます。

ビューポートサブディビジョンをONにした状態でV-Rayでレンダリング

V-Rayにはバージョン3.0以前の機能としてもうひとつのサブディビジョンが搭載されています。
次はそれを使ってみます。

V-Ray以前のバージョンのサブディビジョン

最後にOpenSubdivを使ってレンダリングしてみます。

OpenSubdivを使ってレンダリング

というわけなので、V-Rayでサブディビジョンを使用する場合は気をつけておいて下さい。

Step04 【ライトアトリビュート設定】

ライトの場合も同様ですが、ライトにはV-Ray専用ライトとMayaから引き継げるライトがあります。
MayaライトにV-Rayアトリビュートをつけることによって、主にコースティクスの詳細なパラメーターが付加されます。

V-Ray専用のライトには以下のようなタイプがあります。

・Doom Light

Doom Light
Doom Light

Doom Lightは主にイメージベースドライティングに使用します。
HDRIからのライトで影も落とすことが出来ます。
Use Dome Tex のアトリビュートをONにして、HDRIを読み込み、横方向の解像度をTexture resolutionで設定します。
Dome SphericalをOFFにすると半球状のライトになってしまうのでお気をつけ下さい。
昔のV-RayではOFFがデフォルトでした

昔のV-RayではOFFがデフォルト

Doom Lightの回転はビューポート上からは出来ません。やっても空回りするだけです。
VRayPlaceEnvTex ノード タブにあるHorizontal rotation アトリビュートを動かしましょう。
これで任意の位置に回転させることができます。

・VRay Sun ,VRay Sky Light

VRay Sun ,VRay Sky Light
VRay Sun ,VRay Sky Light

太陽の高さによって実世界の太陽でライティングされたような結果を得ることが出来ます。VRay SunとVRaySkyは連動しています。さらに緯度経度を使ってコントロールすることもできます。
ただし、このライトは実世界と同じように非常に明るいため、何も設定していないカメラからレンダリングすると真っ白に飛んでしまいます。なので、これを使用する場合はカメラにVRayPhysicalCamelaを付加する必要があるでしょう。
VRayPhysicalCamelaについては次回詳しく説明いたします。

・IES Light

IES Light
IES Light

IES Lightは照明器具を実際に計測したデータを使用してリアルな照明効果を得ることが出来るライトです。
デフォルトでは影はハードな設定ですが、ソフトシャドウをONにすると柔らかい影を得ることも出来ます。

ソフトシャドウをONにすると柔らかい影を得ることも出来る

・VRayLightSphere

VRayLightSphere
VRayLightSphere

物理的な大きさを持ったポイントライトといえばいいのでしょうか。
使い道は…いろいろ考えられると思います。実世界でも大きさの無いポイントライトは存在しないわけですしね。

・RectLight

RectLight
RectLight

RectLightはいわゆるエリアライトのことです。
V-Rayのようなグローバルイルミネーションレンダラーではもっともよく使うライトの一つです。
実際に面積を持ち、光源からの距離の二乗に反比例するので、物理的に正しい結果を得ることが出来ます。物理的に正しい光の減衰は外すことができますが、そうするとV-Rayを使う意味は薄れてしまいます。
V-Rayを使っているけど、レンダリングされた結果にリアリティを感じない場合、ライトの減衰が正しく設定されているかを疑ってください。実世界では、ライトの輝度は光源で最大となり、光源から離れるにつれて減少、つまり減衰します。
特にMayaのスポットライトを使っている場合、デフォルトでは減衰しない設定になっています。

Mayaのスポットライトを使っている場合、デフォルトでは減衰しない設定になっている

ではここで、Decay Rate (減衰率)
・No Decay (減衰なし)
・Linear (リニア)
・Quadratic (二次)
・Cubic (キュービック)

の違いをみてみることにします。

Spot Light (スポットライト) にバーンドアを設定して照射される範囲を限定、便宜上同じような強さになるようにIntensity (強度) を調整しています。
No Decay (減衰なし) だと距離に関わらず光の当たり方は一定なので太陽光と同じになってしまいます。
Linear (リニア) 以降は減衰していますが、Linear (リニア) の影は最後まではっきり出ています。
Qubic (キュービック) は減衰の仕方が極端なので手前のオブジェクトは白とびしてしまいました。
物理的に正しく減衰させるためにDecay Rate (減衰率) はQuadratic (二次) が推奨されています。

V-Rayについてはまだいろいろと解説したいことはあるのですが、いつの間にかかなりの量になってきました。
今回はここまでにして、次回は【カメラ】【マテリアル】【レンダリング】の話をしたいと思います。
ではまたお会いしましょう。