トップ > レンダリング > Cycles Renderでレンダリングしてみよう >
Cycles Renderの利用の前に

  

Cycles Renderの利用の前に知っておきたいこと

Cycles Renderは、Blender 2.61で搭載された物理ベースのレンダリングエンジンです。 なお、初期設定では標準レンダリングエンジンのBlender Renderが利用されるようになっており、Cycles Renderは利用されません。 Cycles Renderを利用するには、レンダリングエンジンの切り替えが必要です。

また、単純にCycles Renderに切り替えただけでは望むような結果は得られません。 マテリアルの設定やライティングなどが、標準レンダリングエンジンのBlender Renderとは若干異なるためです。

Cycles Renderを利用するためには、いくつか知っておかなくてはならないことがありますので、ここで解説しておきます。

マテリアルとシェーダに関して知っておきたいこと

まずは、マテリアルおよびシェーダ関係の操作で注意すべき点を説明します。

では、新規ファイルを開いた状態から説明を進めます。 画面上部のプルダウンメニューの"File" -> "New"を実行して新規ファイルを開いてください。

なお、新規ファイルを開くと、レンダリングエンジンはBlender Renderが選択された状態になります。

1. マテリアルパネル切替ボタン
1. マテリアルパネル切替ボタン

上図のようにPropertiesウィンドウのマテリアルパネル切替ボタン(マテリアルパネル切替ボタン)を押します。

2. マテリアル関連のパネル群
2. マテリアル関連のパネル群

上図のようにマテリアル関連のパネル群が表示されます。 Diffuseパネルには拡散反射シェーダの情報が、Specularパネルには鏡面反射シェーダの情報が表示されます。 見慣れた画面であり、特に変わったものはありません

では、レンダリングエンジンをCycles Renderに切り替えましょう。

3. Cycles Renderへ切り替え
3. Cycles Renderへ切り替え

上図のようにInfoウィンドウのレンダリングエンジン選択リストから" Cycles Render" を選択します。

レンダリングエンジンを切り替えたことで何が変わったのか、マテリアル関連のパネル群を見てみましょう。

4. マテリアル関連のパネル群
4. マテリアル関連のパネル群

上図のようにシェーダ関連の設定項目らしきものが見当たりません。 拡散反射色の設定項目であろう "Diffuse Color" が目に入る程度です。

シェーダ関連の設定項目が無いのは、シェーダノードネットワークが存在しないためです。 シェーダノードネットワークがシェーダノード(機能ブロック)をつなげたものだということはすでに説明しました。

  
Cycles Renderを利用するためには、『シェーダノード』および『シェーダノードネットワーク』の知識が不可欠です。 まだ読んでいない場合は、レンダリング > ノードとノードネットワークについての記事を先に読んでください。

標準レンダリングエンジンであるBlender Renderでは、ノードネットワークが存在しなくても問題はありません。 というよりも、Blender Renderでは、ノードネットワークは中級者・上級者向けの機能です。

ところが、Cycles Renderでは、シェーダはシェーダノードで実装されています。 つまり、シェーダノードネットワークを構築しなければ、シェーダは適用できないのです

そういうことなので、まずはシェーダノードネットワークを構築しましょう。

5. [Use Nodes]ボタンを押す
5. [Use Nodes]ボタンを押す

上図のように[Use Nodes]ボタンを押します。

6. マテリアル関連のパネル群
6. マテリアル関連のパネル群

上図のようにSurfaceパネルの内容が変化し、また、新たにVolumeパネルが表示されました。 なお、Surfaceパネルでサーフェイスシェーダ、Volumeパネルでボリュームシェーダに関する設定を行います。

ではここで、レンダリングエンジンをBlender Renderに戻してみましょう。

7. Blender Renderへ切り替え
7. Blender Renderへ切り替え

上図のようにInfoウィンドウのレンダリングエンジン選択リストから" Blender Render" を選択します。

レンダリングエンジンをBlender Renderに戻したことで、マテリアル関連のパネル群はどう変化したでしょうか。

8. マテリアル関連のパネル群
8. マテリアル関連のパネル群

上図のようにシェーダ関連の設定項目が消えました。 DiffuseパネルとSpecularパネルがありません。

なぜ、DiffuseパネルとSpecularパネルが消えたかというと、Blender Render用のシェーダが存在しないからです

順を追って説明します。 まず、新規ファイルを開いた時点では、レンダリングエンジンはBlender Render が選択されていました。

Blender Renderでは、利用者が操作しない限りシェーダノードネットワークは構築されません。 シェーダノードネットワークが存在しないため、既定のシェーダのみが機能している状態でした。

その既定のシェーダが存在したため、DiffuseパネルとSpecularパネルが表示されていたのです

その後、レンダリングエンジンをCycles Renderに切り替え、続けて、[Use Nodes]ボタンを押しました。 それにより、シェーダノードネットワークが構築され、Cycles Renderの標準のサーフェイスシェーダであるDiffuse BSDFシェーダが追加されました。 また、選択中のマテリアルは、シェーダノードネットワークを利用する設定へと切り替わりました。

そして、最後の操作でレンダリングエンジンをBlender Renderに戻しました。 レンダリングエンジンはBlender Renderに戻りましたが、選択中のマテリアルがシェーダノードネットワークを利用するという設定は解除されていません。 さらに、そのシェーダノードネットワークに組み込まれているシェーダノードは、Diffuse BSDFシェーダなのです

つまり、レンダリングエンジンはBlender Renderなのに、Cycles Render用のシェーダと結びついているのです。 Cycles Render用のシェーダは、Blender Renderでは使えません(逆もまた同様)。

よって、シェーダは存在しないのと同じであり、DiffuseパネルとSpecularパネルには何も表示されないのです。

シェーダ関連の設定項目が消えたのは、上記の理由によるものです。 つまり、選択中のマテリアルがシェーダノードネットワークを利用するという設定になっていることが問題です

では、その設定はどこで制御するのでしょうか。 探してみましょう。

9. シェーダノード有効
9. シェーダノード有効

上図のようにマテリアル選択リスト(マテリアル選択リスト)の右側に、それらしいボタンがあります。 そうです、この[シェーダノード有効]ボタンが悪さをしているのです。

では、この[シェーダノード有効]ボタンをオフにしてみましょう。

10. シェーダノード有効
10. シェーダノード有効

上図のように[シェーダノード有効]ボタンをオフにします。 結果はどうなるでしょうか。

11. マテリアル関連のパネル群
11. マテリアル関連のパネル群

上図のようにシェーダ関連の設定項目が再表示されます。

ランプの扱い

続いては、Cycles Renderでのランプの扱いについてです。 Blender Renderと同じ感覚ではランプは扱えません。

シェーダノードを使う必要がある

ランプの設定が、シェーダと同じようにシェーダノードで実装されるようになりました。 シェーダノードネットワークを構築しないままだと、設定できるのはLampパネルにある、

  1. ランプの大きさ(Size : 影の柔らかさに影響する)
  2. ランプの種類(ポイントライト・太陽・スポットライト・ヘミライト・エリアライト)
  3. 影を作り出すかどうか
  4. 間接光のサンプリングを行うかどうか
  5. ランプの色

という程度です。

ノードネットワークを構築していない状態
ノードネットワークを構築していない状態

[Use Nodes]ボタンを押してシェーダノードネットワークを構築することで、ランプとしてまともに機能するようになります。

利用すべきシェーダノードは、発光を表現するためのEmissionシェーダです。

  
Diffuse BSDFシェーダなどの、他のノードも割り当てることができます。 ただし、よくわからないレンダリング結果になります。

明るさ

ランプの明るさについても注意が必要です。 Blender RenderとCycles Renderでは、ランプの明るさに違いがあります。

Blender Renderでは、ランプの種類に何を選んでも、初期設定のままでそれなりに明るくレンダリングされていました。 しかし、Cycles Renderでは、初期設定では暗すぎたり明るすぎたりするランプが多いです。

例えば、ポイントライトは、Strength を 500 に設定して、ようやくBlender Renderでの初期ファイルと同じ程度の明るさになります。

  
明るさを設定するための項目が、EnergyからStrengthに変わりました。
  
ランプの種類にポイントライトを選択した場合に限っての話ですが、Strengthはワット数を表します。

ヘミライトは偽物

Cycles Renderでは、ヘミライトはまだ実装されていません。 現状では、ヘミライトの振る舞いは太陽と同じ、つまり、偽物です。

現状でヘミライトを使ってしまうと、将来的にヘミライトが正しく実装された時に、現在の結果と異なってしまいます。 ヘミライトは使わないようにしましょう。

Blender 2.77のマニュアルにも、

  
Hemi lamps are not supported, and will be rendered as point and sun lamps respectively, but they may start working in the future, so it’s best not to enable them to preserve compatibility.
 
- 引用元 -
https://www.blender.org/manual/render/cycles/lamps.html

と記載されています。

  
Blender 2.77でも、ヘミライトはまだ実装されていないようです。

メッシュオブジェクトを発光させなければならないという誤解

Cycles Renderの話題を扱っているネット上の記事の一部では、『Cycles Renderでは、ランプは使わずにメッシュオブジェクトを発光させて光源にしなければならない』と記載されていることがあります。

しかし、マニュアルには、そんなことは記述されていません。 マニュアルには、

  
Next to lighting from the background and any object with an emission shader, lamps are another way to add light into the scene.
 
- 引用元 -
https://www.blender.org/manual/render/cycles/lamps.html

と書かれています。

筆者の英語力では、"Next to" を『次いで』と訳すべきか、『並んで』と訳すべきかはわかりません。

『BackgroundシェーダとEmissionシェーダで発光させたオブジェクトに次いで、シーンに光源を追加する方法としてランプがあります』となるのか、『BackgroundシェーダとEmissionシェーダで発光させたオブジェクトと並んで、シーンに光源を追加する方法としてランプがあります』となるのかはわかりません。

どう訳すべきかはわかりませんが、どう訳すにしても『ランプを使うな』とは解釈できません。 というよりも、マニュアルにはさらに、

  
The difference is that they are not directly visible in the rendered image, and can be more easily managed as objects of their own type.
 
- 引用元 -
https://www.blender.org/manual/render/cycles/lamps.html

と書かれています。 『BackgroundシェーダやEmissionシェーダで発光させたオブジェクトとの違いは、カメラに映らないことと、ランプという種類だから管理が楽であること』という意味でしょう、たぶん。

ラジオシティのせいなのか

今はもうありませんが、Blender 2.28で、『ラジオシティ』と呼ばれる機能が搭載されました。

ラジオシティは、グローバルイルミネーションの考え方に基づいた陰影計算の技法で、間接光を表現することができました。 熱工学に基づいて仮想世界の各地点の明るさをあらかじめ計算し、その計算結果をレイトレーシングで利用することで間接光を表現していたのです。

  
ラジオシティを有効にしてレンダリングすると、それはもう(当時としては)驚くような写実的なレンダリング結果が得られたものです。

ラジオシティでは、光源にランプは用いず、メッシュオブジェクトを発光させて光源にします。 マテリアルのShadingパネルのEmitで、発光度合いを指定するのです。 例えば、蛍光灯のメッシュを発光させたり、窓のメッシュを発光させていました。

『Cycles Renderでは、ランプは使わずにメッシュオブジェクトを発光させて光源にしなければならない』というネット上の情報は、ラジオシティの情報が形を変えて生き残っているのかな、とちょっと思いました。

  
  

まとめ

レンダリングエンジンをCycles RenderからBlender Renderに戻す場合には、マテリアルがシェーダノードネットワークを利用するかどうかの設定も見直す必要があります。

Cycles Renderでは、ランプの扱い方がBlender Renderとは異なります。 ランプの設定の見直しが必要です。

  
Cycles Renderでのレンダリングについては、ここまでです。 現在、続きを執筆中ですので、公開までしばらくお待ちください。
 
メニュー