【2024】BlenderのCyclesとは?使い方の手順とEeveeとの違い
Blender含む3DCGソフトウェアにおいて、「レンダリング」という機能は少し特別な意味を持ちます。
モデリングやウェイトはソフトを扱う人の大半が触る機能ですが、レンダリングはそうではありません。
まったく触らず、存在の認知すら曖昧という人も大勢います。
Blenderには長く触れてきたけど、レンダリングはほとんど使ったことがないという人は決して珍しくありません。
にも関わらず、レンダリングの歴史は3DCGの歴史と言っても過言ではないほど奥深いものであり、Blender内でパソコンの機能を最も活用するのもレンダリングです。
つまり、そのレンダリングを実行するレンダリングエンジンは、3DCGの先人の知恵や経験が最も詰まったものだと言っても過言ではないのです。
今回はそんなレンダリングエンジンの一つである、「Cycles」について詳しく解説していきます。
BlenderレンダーのCyclesとは
Cyclesとは、Blenderのver2.61から利用可能になったレンダリングエンジンの一つです。
特に何を追加せずとも、Blenderをインストールすれば標準搭載されているレンダリングエンジンですので、誰でも無料で手軽に扱うことができます。
Cyclessの特徴は、丁寧で緻密な計算で行われるシミュレートによるフォトリアルな絵です
Blenderに標準搭載されているレンダリングエンジンの中で、Cyclessは光の反射からなにまで最もしっかりと正確に計算を行おうとするエンジンです。
レイトレーシングという、カメラに映るものに対して特に緻密な計算を行うアルゴリズムを採用しているため、たとえばまるで現実との見分けがつかない一枚絵や、トゥーンの要素をできるだけ取り除いた映像作品を作りたいというときには、最適なレンダリングエンジンとなるでしょう。
逆に、それだけ多くの計算を行っているということは、結果を算出するのにもそのぶん時間がかかるということです。
この欠点は、常にリアルタイムなレンダリングを要求されるゲーム内ムービーや、算出の回数が大きく増える長編動画を作る際には致命的に響いてしまいます。
また、極単純な見た目の絵を取る際にも同じように緻密に計算しようとして、余計に時間を取ってしまうため、その点もCyclessを使う際の欠点だと言えます。
CyclesとEeveeの違い
BlenderにはCyclesともう一つ、Eeveeというレンダリングエンジンが標準搭載されています。
この2つはどのように違い、またどのように使い分けると良いでしょうか?
Eeveeとは
EeveeはBlenderにver2.8から搭載されたCyclesより少し新しいレンダリングエンジンです。
それまでBlenderは「Blender Internal」という軽いレンダリングエンジンを採用しており、それと代わるようにして生まれたものです。
Blender Internalの特徴を受け継ぐように、主に軽い動作でのレンダリングを特徴としています。
また、Cyclesと同じ物理ベースであるため、Blender Internalでは難しかったレンダリングエンジンの途中変更が可能になりました。
Eeveeとの違い
先ほどお伝えしたように、Cyclesは緻密でフォトリアルな絵を得意としているのに対し、Eeveeは素早いレンダリング速度、軽い動作、シンプルな計算、それでいてある程度リアルに見える上手いフェイクと、真逆とも言える性質を持っています。
そのため、Cyclesの苦手分野として挙げたリアルタイムなレンダリングを要求されるゲーム内ムービーや長編動画はそっくりそのままEeveeの得意分野です。
逆に、フォトリアルな絵や映像をEeveeで表現しようとすると、どうしても節々に粗の目立つ結果となってしまいがちです。
また、計算の細かい設定をEeveeでいじろうとすると、上手いフェイクが保ちにくくなってしまうため、元から実直に計算結果を見せているCyclesの方が変更には強いです。
Blenderでレンダリングを行う際には、この2つのレンダリングエンジンどちらかを選んで使うことになるでしょう。
フォトリアルな一枚絵、映像を撮りたい、そのためのマシンスペックも足りているというのであればCycles。
そこまでのマシンスペックがない、またはトゥーン調の映像やいくらレンダリング時間があっても足りないような長編動画を作るのであればEevee。
このように、うまく使い分けて行くことが大切です。
BlenderでのCyclesの使い方
では、実際にBlenderでCyclesを使う際の手順を画像を交えながら解説していきましょう。
ステップ①:レンダリングの準備
まず、レンダリングしたいオブジェクトを作成します。
今回は、このようなシンプルなカップを用意しました。
次に、ウインドウ右側にあるプロパティタブから、上から2番目にあるレンダープロパティを選択します。
レンダリングエンジンはおそらくデフォルトである「Eevee」になっていると思われますので、これを「Cycles」に変更します。
Blenderでレンダリングに使用できるグラフィックボードをお使いの場合は、いったんウインドウ上部のメニューから「編集」→「preference」→「システム」と開いていってください。
そこにある「Cyclesレンダーデバイス」から使いたいグラフィックボードを選択すれば、レンダリングにグラフィックボードを使用し、レンダリング時間を短縮することができます。
レンダープロパティに戻ると、デバイスをCPUからGPU演算に変更できるようになっているはずです。
ステップ②:レンダリングのための設定
一度、下の出力プロパティに移動し画像の解像度や大きさを変更しておきます。
デフォルトでは100%の大きさになっているかと思いますが、そんなに大きな画像はいらないという方はここのパーセンテージを下げておきましょう。
またレンダープロパティに戻り、サンプリングを開きます。
ここのレンダーという値を大きくすればするほど、レンダリングの結果が綺麗になりますが、その分レンダリング時間も増えていきます。
ガラスなどを使う場合は、レンダーが低いと汚れのようなものが目立ちやすくなるので、128以上にしておくことをおすすめします。
下の適応サンプリングというチェックマークは入れておくと、レンダーがそんなに必要ないところの値を部分的に下げて、レンダリング速度を上げてくれます。
ステップ③:レンダリング実践
せっかくなので、マテリアルをガラス質に変更してレンダリングしてみます。
ウインドウ上部のShadingタブを開き、上下で二分割されている画面の間にある新規というボタンをクリックします。
現れるノードの中にある、伝播(透明度)、粗さ、IOR(屈折率)の値を変更し、好みのガラスに仕上げていきます。
でき上がったら、ウインドウ上部のRenderingタブを開いてください。
ここでは、それぞれのスロットにレンダリングの結果を保存し、見比べることができます。
レンダリングは何度でもできるので、さまざまなやり方を試して使ってみてください。
スロットはウインドウ右上から切り替えられますが、Blenderを終了するとすべてリセットされてしまいます。
F12キーを押すか、トップバーから「レンダー」→「画像をレンダリング」とクリックしていくとレンダリングが始まります。
ちなみに、アニメーションのレンダリングは画像のレンダリングのすぐ下にある「アニメーションレンダリング」をクリックすることで行えます。
BlenderでCyclesを使う際の注意点
Cyclesは美麗な描写やフォトリアルな映像を作りたい方にピッタリなレンダリングソフトではありますが、レンダリング速度はEeveeなどと比べると大分劣り、あまりこだわりすぎると作業全体の効率を落としかねません。
最初にEeveeを使ってレンダリングしつつ、仕上げのレンダリングにCyclesを使うといった方法や、逆にCyclesのレンダリング設定をEeveeに反映するやり方もあります。あくまでこだわりすぎず、いろいろなやり方を試してみることをおすすめします。
また、Cyclesのレンダリング設定項目は、機能セットを標準から実験的に変更することでさらに増えます。
しかし、実験的という名のとおり、安定した動作が保証されていない項目が増えるということなので、知識がないうちは不用意に触らないよう注意しましょう。
最悪の場合、ファイルの破損等が起きる可能性があります。
搭載しているGPUにもよりますが、大体の場合レンダリングデバイスをCPUからGPUに変えておくと、かなりレンダリングを早く済ませることができます。
アップデートなどで設定がリセットされると切り替え直すのを忘れがちなので気をつけましょう。
レンダー数は、上げれば上げるだけレンダリング速度が遅くなりますが、見た目の綺麗さはあげるほどに向上がわかりづらくなっていきます。
適応サンプリングはノイズしきい値などをいじれますが、デフォルトでは0になっています。この状態であれば、Blenderが最適な数値を自動で判断してくれるので、特にこだわりがなければ触らないほうが良いかもしれません。
ライトパスでは光の反射する回数を変更することができますが、大きすぎたり小さすぎるとノイズが発生するようです。
パフォーマンスの中のタイルという項目は、一度にレンダリングする範囲の数を示しており、少なくすることで一つひとつの範囲が大きくなり、レンダリングが速くなりますが、同時にエラーも出やすくなります。
Render Poolを用いたレンダリング
Cyclesのレンダリングはとても綺麗で正確ですが、ある程度以上の重さのものをレンダリングしようとすると、どうしてもパソコンのスペックを要求し、速度も遅く、しかもレンダリングしている間は他の作業もほとんどできなくなってしまいます。
それどころか、何かの拍子にメモリを使いすぎてBlender自体が落ちてしまい、レンダリングのやり直しになることすらあり得ます。
かといって、Eeveeでのレンダリングでは、表現したいことが表現しきれなくなってしまう……という状況になってしまったらどうするでしょうか?
多くの方は、「もっと性能の良いパソコンが欲しい」「今だけで良いから誰からか性能の良いパソコンを貸してもらいたい」と考えるでしょう。
後者の願いを叶えるのが、クラウドレンダリングサービスの「Render Pool(レンダープール)」です。
Render Poolのサービス内容は至ってシンプルです。
レンダリング前のデータをお預かりして、社のサーバーでレンダリングを施し、お返しするというものです。
しかし、Render Poolのために用意されてあるサーバーの量、そして質は普通ではあまり考えられないほどのものです。
1,000台を超える複数のサーバーそれぞれが、CPUベースのレンダリングの数百倍以上のレンダリング速度を実現しており、ただお預かりしてお返しするだけの間に、一般的なパソコンの何倍も濃密なレンダリングを施すことが施すことが可能です。
利用料金は時間単位制となっており、1分3円~6円と、非常に高速なレンダリングを行うことができることを考えれば、非常にリーズナブルな価格だと言えます。
ご利用前には、Render Poolのサイト内で想定所要時間のシミュレーションも行うことができます。
さらに、料金は先払いのプリペイド方式なので、どんなに大きなデータをレンダリングしても、想定より大幅に時間がかかり、あとから莫大な請求が来ると言ったことはありません。
このサービスを使えば、ただ自分のパソコンでCycles使うよりフォトリアルな大長編動画を、自分のパソコンにまったく負荷をかけず少ない時間でレンダリングすることが可能なのです。
詳しくはこちらの公式サイトをチェックしてみてください。
まとめ
「Cycles」はとても優秀なレンダリングエンジンであり、緻密さ、美麗さを求めるのであればまず使っておいて間違いのないものです。
しかし、その真価を発揮するには、同じくBlenderに搭載されているレンダリングエンジン「Eevee」との使い分けが必須であり、時には同時に使用することすらあり得ます。
さらに、Render Poolなどのクラウドレンダリングサービスなども使えば、より洗練されたレンダリングが可能となるでしょう。