【Blender3.0】アンビエント・オクルージョン(AO)で陰影を表現しよう!

URLをコピーする
URLをコピーしました!

CGBoxの一部の記事にはアフィリエイト広告が含まれております。

目次

はじめに

こんにちは!

今回は、オブジェクト表面の陰影を表現できる「アンビエントオクルージョン(Ambient Occlusion、略して『AO』)」の使い方をまとめました!

AOをうまく使いこなすことで、簡単に陰影をつけて立体感を表現することができるようになりますので、ぜひ参考にしてみてください!

アンビエントオクルージョン(AO)とは?

アンビエントオクルージョンとは、以下引用記事の説明のように、「環境光の遮蔽」によりリアルな影を生成するレンダリング方法のことです。

シーン内の環境光(ambient)がどの程度さえぎられている(occlusion)かを計算するレンダリング方法のこと。シーン内の1点から半球方向に対する光の遮蔽(しゃへい)状況を計算し、リアルな影を生成する。比較的少ない計算量で、柔らかな陰影を表現できる。特に明るい色のモデルの陰影を表現するのに有効である。

(CG Worldさんの「CG用語辞典」より)

Blenderでは、AOを使用することによって、こちらのように光がさえぎられることで暗く表示されるべき「凹み」や「接合部」などを暗く表示し、立体感を演出することができます。

AOをレンダリングしよう!

AOを使って陰影を強調させるレンダリングの方法について、簡単に紹介します!

Eeveeの場合

レンダリングエンジン(レンダラー)にEeveeを使用する場合「レンダープロパティ」→「アンビエントオクルージョン(AO)」のチェックを有効にします。

EeveeでのAOの使用方法については、こちらの記事でも紹介していますので、あわせて参照ください。

CGbox
【Blender2.9】Eeveeを使いこなそう!フォトリアルな画作りのコツ・設定方法 | CGbox はじめに こんにちは! 今回はBlender標準搭載のレンダラー(レンダーエンジン)の1つである「Eevee」をうまく使うコツについて説明していきます! 私自身まだまだBlender歴...

Cyclesの場合

Cyclesを使用してレンダリングする場合は、特に事前設定は不要です。

後で説明するノード設定をするだけでAOを表示することができるようになります。

(2.8以前のBlenderバージョンでは、「ワールドプロパティ」でアンビエントオクルージョンにチェックを入れる必要がありましたが、2.9以降では不要になりました。)

AOのノード設定

AOでオブジェクトの陰影を表現するためには、オブジェクトのマテリマルノードを以下の手順で設定する必要があります。

STEP
オブジェクトに新規マテリアルを追加します。
STEP
シェーダーエディター上で「入力→アンビエントオクルージョン(AO)」ノードと「コンバーター→カラーランプ」を追加します。
STEP
「AO」→「カラーランプ」→「プリンシプルBSDF」の順にノードをつなぎカラーランプで影の濃淡を調節すると、物体表面の陰影がはっきりするようになります。
STEP
オブジェクトに色を付けたい場合は、こちらのように「入力→RGB」と「カラー→RGBミックス(乗算)」のノードを追加します。

AOを使った陰影のつけ方については、こちらの記事でも紹介していますのであわせて参照ください。

CGbox
【Blender2.9】思い通りの影を作ろう!影(陰)の設定・調整・トラブル対策 | CGbox こんにちは! 今回は、Blenderで影を思い通りに作るための方法を紹介したいと思います。 影によって作品全体の印象が大きく左右されると思うので、ぜひ参考にしてみてくだ...

AOマップをテクスチャにベイクしよう!

AOは、以前紹介した「光沢」などと同じようにテクスチャにベイクできます。

AOをベイクすることで、レンダリング負荷を低減出来たり、Unityなど外部ソフト上でも陰影を表現できるなどのメリットがあります。

「光沢」をベイクする方法はこちらの記事を参照ください!

CGbox
【Blender3.0】きれいな光沢を表現しよう! | CGbox はじめに こんにちは! 今回は3DCGソフト「Blender」で、金属などの「光沢」を表現するための方法・コツについて紹介したいと思います。 マテリアル・照明などを適切に設定...

Blender標準機能でベイクする

まず、Blender標準機能を使ったAOベイクの方法を紹介します。

AOをベイクしたいオブジェクトを選択し、シェーダーエディターに「画像テクスチャ」を追加します。

画像テクスチャの「+新規」から、画像を追加します。

「レンダープロパティ」→「ベイク」を選択します。

「ベイクタイプ」は、「アンビエントオクルージョン(AO)」を選択し、「ベイク」をクリックします。

しばらく待つと、AOをベイクした画像(AOマップ)が生成されます。

画像テクスチャをカラーランプにつなぎカラーバーの位置を調節すると、AOマップがマテリアルとして表示されます。

テクスチャとして陰影が色付けされているため、こちらのように光源を削除したり、オブジェクトを回転させても元の陰影がそのまま表示されます。

AOマップは画像として保存しないと消えてしまうので、「UVエディター」→「画像」で保存しておきましょう。

「テクスチャにベイク」する方法について、詳しい説明はこちらの記事を参照ください。

CGbox
【Blender2.9】ベイクを使って効率化!焼きこみを行おう! | CGbox こんにちは! 今回はテクスチャのベイクを使用することでできることと、そのやり方を紹介します! ベイクとは? ベイクとは、焼き付けを行う工程のことです。 外部ソフト(...

TexToolsでベイクする

ベイク作業やUV作業をサポートする機能が入った外部アドオン「TexTools」を使うことで、ベイク作業を効率化することができます。

TexToolsのインストール・使用方法についてはこちらの記事で詳しく説明しています。
まずはこちらを参考にTexToolsをインストールしてみてください。

CGbox
【Blender2.9】ベイク作業を効率化!アドオン:TexToolsを使ってみよう | CGbox こんにちは。 今回はBlenderのベイク作業を効率化できるアドオン「TexTools」を紹介します。 ベイク機能以外にも便利な機能満載のアドオンです。 ぜひ試してみて下さい! ▼...

TexToolsを使ってAOをベイクする手順はこちらです。

STEP
UVエディターで「N」キーから「TexTools」のタブを表示します。
テクスチャのサイズを設定し、「Baking」メニューを開きます。
STEP
Bakingメニューのアイコンをクリックし、「AO」(メニューの上部にある、白黒で表示されているもの)を選択します。
STEP
「Bake 1x」をクリックしてベイクを実行し、画像を保存します。
STEP
「レイアウト」タブに切り替え、シェーダーエディターで画像テクスチャを追加します。
ベイクしたAOマップを読み込みます。
STEP
画像テクスチャをカラーランプにつなぎ、カラーランプを調整して陰影を調節します。
↑の結果だとベイク結果が汚く見えますが、これは「サンプル数」の設定に問題があるためです。

デフォルトのサンプル数(=8)だとノイズが多くて結果が汚くなるので、128など大きい値を設定する必要があります。

サンプル数を8から128に大きくしたところ、こちらのようにAOベイク結果が綺麗になりました。

AOベイクのトラブルシューティング

最後に、AOベイクでよくあるトラブルと、その対処法についてまとめます。

AOベイク結果が黒いとき

ベイク結果が真っ黒になった場合、大体は以下に原因があります。

  • ノードに間違いがある
  • オブジェクトが干渉している
  • 出力先に間違いがある

原因および修正方法の詳細については、こちらの記事をご覧ください。

CGbox
【Blender2.9】ベイクがうまくいかない時の解決法!ベイクに困ったときのFAQ! | CGbox こんにちは! 今回はBlender2.9のベイクで起こりがちなトラブルの解消法を紹介します。 ベイクとは、光の当たり方や影の処理負荷を低減させるために処理結果を画像として焼...

AOベイク結果が汚いとき

Blender標準機能でベイクした結果がこちらのようにまだら模様になるときは、レンダープロパティのサンプル数が小さいのが原因と考えられます。

こちらはサンプル数8の結果です。

レンダープロパティから「最大サンプル数」を最低でも128位まで大きくしてみてください。

すると、こちらのように比較的きれいな結果になります。

なお、先ほど紹介した「TexTools」のベイクで同じ症状が出る場合も、こちらのように「UVエディター→TexToolsメニュー」からサンプル数を大きくすることで症状が改善します。

まとめ

アンビエントオクルージョン(AO)の使い方をまとめてみましたが、参考になりましたでしょうか?

今回紹介した方法を生かして、ぜひAOを活用していただければと思います。

最後に、今回のまとめです。

  • アンビエントオクルージョン(AO)とは?
    • 「環境光の遮蔽」によりリアルな影を生成するレンダリング方法。
  • 光がさえぎられることで暗く表示されるべき「凹み」や「接合部」などを暗く表示し、立体感を演出できる。
  • AOをレンダリングする方法
    • Eeveeの場合:「レンダープロパティ」→「アンビエントオクルージョン(AO)」のチェックを有効にする。
    • AOノードとカラーランプで陰影を追加・調整する。
  • AOマップをテクスチャにベイクする方法
    • Blender標準機能でベイクする。
    • TexToolsを使ってベイクする。→サンプル数の設定に注意!
  • AOベイクのトラブルシューティング
    • AOベイク結果が黒いとき:以下が原因と考えられる。
      • ノードに間違いがある
      • オブジェクトが干渉している
      • 出力先に間違いがある
    • AOベイク結果が汚いとき:サンプル数が小さいのが原因と考えられる。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

CGBox編集部。CGに関する様々な記事を執筆しております。

目次
閉じる