Broadcast以上わかる機能だけで作る。わからない機能はいじらない。1初めにGI(グローバルイルミネーション)という機能が登場して10年以上経ちました。GIが出た当初はコンピュータが非力で、またGIの機能も十分でなかったため、なかなか仕事で使う機会はありませんでした。現在私は、アニメーションを含めてほとんどの仕事でGIを使っています。言っても世の中全体を見渡せば、まだまだ「GIは難しい」、「GIは遅い」、「GIは使えない」と言っている人がほとんどです。それには二つ原因があります。Primeもそうです)。GI機能があっても、とても実用的とは言えないソフトもあります。4DのGI機能はR12以降十分実用的です。安心して使って下さい。ユーザが悪いGIは魔法ではありません。「CADソフトから真っ白なオブジェクトを読み込んで、GIをかければきれいな絵ができる」というようなものではないのです。」、「レンダリング設定、コンポジット設定」などあらゆる段階で従来以上に丁寧な作業が必要になります。それらの結果として「いい絵」ができるのです。この講習では、GIの実用的な使い方について、サンプルを使って具体的に説明します。後半では、NETを使ったGIアニメーションのレンダリングについて説明します。最後に、コンピュータのパワー(速度)について注意しておきます。「GIが遅いのはコンピュータが遅いからだ」とか、「GIの計算には強力なコンピュータが必要だ」という人がいます。これは間違いではありませんが、ほとんど意味がありません。GIの設定が悪ければ、どんなに強力なコンピュータを持ってきてもまともな絵はできません。重要なのは、コンピュータのパワーではなくGIの設定です。どんなに強力なコンピュータを持ってきても、一台でGIのアニメーションをレンダリングするのは無理です。仕事の規模に応じて適切なNETを組む必要があります。小さなコンピュータでもたくさん集まれば強力なNETを構築できます。いうわけで私はMacMiniでNETを組んでいます。2オブジェクトバッファそれでは、早速サンプルを開いてレンダリングしてみましょう(サンプル045a)。図048-1レンダリング時間は「10秒」でした。照明基礎」で使ったサンプルファイルを拡張したものです。照明基礎」では説明できなかった細かい設定について、この章と次の章で説明していきます。多くの仕事では、後で行う合成の過程で、背景の全て、もしくは一部をマスクする必要があります。昔は「背景を置かずにアルファチャンネルを出す」という簡単な方法でマスクを取り出していました。GIを使う場合は、自然な照明や映り込みを表現するために全ての方向に背景(環境)を置く必要があります。そのままではアルファチャンネルを取り出せません。コンポジットタグを使えば、現在でも背景をカメラから不可視にしてアルファチャンネルを取り出すことができます。アルファチャンネルには「一枚しか取り出せない」、「空オブジェクトを抜けない」等の制約があるので、現在ではほとんど使いません。その代わりに「オブジェクトバッファ」という機能を使います。オブジェクトバッファは、「指定したオブジェクトに対してマスクを付ける」という機能なので、何枚でも作ることができます。空オブジェクトに関する制約もありません。指定したオブジェクトが屈折や透過して見える部分にもマスクを付けてくれます。それではオブジェクトバッファを指定してみましょう。図045-2a図045-2bオブジェクトバッファを指定するには、まずマスクを付けたいオブジェクトに「コンポジット」タグを適用し、マスクのID番号を指定します。次に、レンダリング設定でマルチパス機能を選択し、「オブジェクトバッファ」レイヤを追加し、コンポジットタグで指定したID番号を入力します。一つのオブジェクトに複数のID番号を付けることもできます。複数のマスクを出したい場合は、必要な数だけオブジェクトバッファレイヤを追加します。レンダリングが終わったら、画像表示ウインドウの表示を「レイヤ」に切り替え、表示方法を「シングルパス」に設定します。この状態でRGBやマスクのプレビューをクリックすると、そのチャンネルだけが表示されます。出力」ページにマルチパス画像の「名前」や「フォーマット」を指定する部分が増えます(サンプル045b)。3コースティクス次に、「コースティクス」について説明します。コースティクスはかなりマイナーな機能で、普通ほとんど気にする必要はありません。このサンプルは非常にコントラストが高いHDR画像を背景に使っているため、「屈折コースティクス」による問題が生じています。屈折コースティクス機能そのものについて説明します。屈折コースティクスを使うと、GIの計算でマテリアルの「屈折」が正しく評価されます。下の図045-3aは屈折コースティクスあり、図045-3bは屈折コースティクスなしの絵です(サンプル045c)。図045-3a図045-3bレンダリング時間は、屈折コースティクスを働かせるだけならほとんど変わりません。したがって、この機能はデフォルトで働くようになっています。きれいな屈折コースティックスを得るには、それなりに設定を上げる必要があります。この場合、屈折コースティックス有りが「113秒」、無しが「41秒」でした。コントラストの強いシーンでは計算が難しくなり、ノイズやちらつきの原因となります。サンプルのレンダリングでは、建物の周囲のプールの中にノイズが見られます。それでは、屈折コースティクスを切って絵がどのように変化するか見てみましょう。下の図045-4aは屈折コースティクスあり、図045-4bは屈折コースティクスなしの絵です。図045-4a図045-4b屈折コースティックスを外すと、水がない状態の影ができます。これは不自然ですが、ノイズはなくなります。静止画の場合は、ノイズが気にならなければ、屈折コースティックスを使ってもかまいません。アニメーションの場合、ちらつきの原因になるので屈折コースティックスは切っておいた方がいいでしょう。このオプションを使うかどうかは、状況に応じて各自で判断して下さい。コースティクスにはもう一つ「反射コースティクス」という機能があります。これは屈折コースティクスと似た機能で、GIの計算でマテリアルの「鏡面反射」が正しく評価されます。この機能は屈折コースティクスより計算が難しく、ノイズも目立つのでデフォルトでは働かないようになっています。下の図045-5aは反射コースティクスあり、図045-5bは反射コースティクスなしの絵です。図045-5a図045-5b金属の鏡面反射を特に強調したいような場合にのみ、覚悟して使うといいでしょう。レンダリング時間は、反射コースティックス有りが「164秒」、無しが「30秒」でした(サンプル045c2)。次に、空オブジェクトにグラデーションシェーダを適用したシンプルな背景について説明します。照明基礎」ではIBL(イメージベースドライティング)を使った背景について説明しましたが、絵をシンプルに見せるにはリアルな写真よりもシンプルな背景の方が適している場合がよくあります。このような状況は、機械の仕事では部品だけの絵やカットモデルの絵でよくあります。建築の仕事の場合は同じくカットモデルや屋根を省略した絵などでよくあります。シンプルな背景はGIの設定が簡単でレンダリングも速いので、制作途中のマテリアルやオブジェクトのチェックにもよく使います。シンプルな背景はコントラストが低いので、前のステップで説明した「屈折コースティクス」の問題も発生しません。それではシンプルな背景を作ってみましょう。図045-6まず新規マテリアルを作成し、発光チャンネルにグラデーションシェーダを追加します。グラデーションの向きを縦(V)に変更し、適当なグラデーションを指定します。これを「sky_2」オブジェクトに適用すれば、とりあえずシンプルな背景が完成です。シンプルすぎて立体感や構造がよくわからない絵になってしまっています。そこで、空オブジェクトを回転させ、照明を偏らせます。「床」オブジェクトを追加し、下から来る光を制限します。図045-7これで少しよくなりました。床オブジェクトを追加する場合は、空オブジェクトに適用したオブジェクトバッファと同じIDのオブジェクトバッファを適用することを忘れないで下さい。次に、マスクを作っておけば背景の色は後からどうにでも変えられます。背景は白(もしくはある特定の色)と決まっている場合も多いでしょう。そのような場合は、GIの照明に使う背景とレンダリングする背景を分けることによって、背景を合成する手間を省けます。フラットな白い背景をGIとレンダリングの両方に使ってもいいのですが、そうするとオブジェクトに陰影がなくなり、わかりにくい絵になってしまいます。背景の表示を切り分けるには「コンポジット」タグを使います。図045-8GIの照明に使う空オブジェクトは、「GIから見える」だけをオンにして他は全て切ります。レンダリングに使う空オブジェクトは、「カメラから見える」と「鏡面反射/屈折から見える」だけをオンにして、他は全て切ります。床オブジェクトは「GIから見える」と「鏡面反射/屈折から見える」だけをオンにして、他は全て切ります(サンプル045d)。背景に極端な色を適用し、オブジェクトの面を強調するような使い方もできます(サンプル045e)。5アンビエントオクルージョンもう一つ、オブジェクトの立体感や構造を強調するための機能として「アンビエントオクルージョン」があります。GIは、間接光を計算してシーン全体を明るくしていくため、ややもすると絵が眠くなりがちです。アンビエントオクルージョン(AO)は、基本的にはGIの機能ではなくマテリアルの性質を変える「シェーダ」ですが、眠くなったGIの絵をシャープにする目的でも使えます。事実上、「GIを使う場合、必ずAOも使う」と考えて差し支えありません。それではAOを追加してみましょう。図045-10a図045-10bオブジェクトの面が内側に折れている部分や目地等が暗い線で強調され、立体感や構造がよりわかりやすくなりました(サンプル045f)。AOの基本的な働きは、「周囲を壁に囲まれた、奥まった部分の性質を変える」ことです。AOはマテリアルとレンダリング設定の二カ所に適用できます。マテリアルに適用したAOは、オブジェクトの色や明るさだけでなく、透明度やバンプ、アルファ等いろいろな性質を変えられます。レンダリング設定に適用したAOは、オブジェクトの明るさだけを変えます。AOとGIの計算方法や結果はよく似ていますが、二つの点で異なっています。GIは照明の明るさを変えるが、AOはマテリアルの明るさを変える。AOはライトや環境を考慮しないので、GIに比べて計算が簡単できれいです。GIは距離の二乗に反比例して光を減衰させるが、AOはグラデーションを使って自由に減衰を指定できる。絵作りのための機能としてはAOの方が優れています。このような理由から、AOをGIの補助として使うわけです。「奥まった部分」というのは一般的に汚れがたまりやすく、また風化や劣化しにくいため、表に出ている部分に比べてオブジェクトの色自体が暗く、濃くなっているものです。AOを使うとこの効果を表現できます。このような理由から、AOをかけないと「新品ツルツル」の質感に感じられ、AOを強くかけると「汚れて古ぼけた」質感に感じられるわけです。最後に、GIの補助としてAOを使う場合は、忘れずに「透過を考慮」オプションを選択してください。AOは本来奥まった部分、つまり「形状」を調べて値を変えるシェーダです。照明や光は関係ありません。デフォルトではその形状に適用されたマテリアルの透明度やアルファを考慮しないようになっているのです。確かに、現実世界でもガラスの周囲には汚れがたまります。アルファで切り抜いた部分にまで汚れがたまるのは明らかに変です。透過を考慮オプションを使うと、透明な部分やアルファで切り抜かれた部分を「形状」に含めないようになります。下の図045-11aは透過を考慮あり、図045-11bは透過を考慮なしの絵です(サンプル045g)。