デモ:ベイクしたライティング

Tutorial

intermediate

+0XP

60 mins

Unity Technologies

デモ:ベイクしたライティング

3D モバイルアプリケーションにおいて、静的オブジェクトとして取り扱うものは何か、ということを可能な時に明確化しておくことをおすすめします。静的オブジェクトに適切かつ効率的にライトを当てるためになります。このデモでは、ベイクしたライティングとベイクしていないライティングで、パフォーマンスを比較します。

1. 概要

前のチュートリアルでは、3D シーンにベイクしたライティングを実装するメリットについて学びました。このデモでは、2 つのサンプルシーンをプロファイリングし、ベイクしたライティングとベイクしていないライティングのパフォーマンスを比較します。

2. 始める前に

サンプルデモを含むコースプロジェクトをまだダウンロードしていない場合は、こちらからダウンロードします。ポップアップが表示されたら、「Lighting Demo - Non-baked」または「Lighting Demo - Baked」をクリックします。

Project ウィンドウでサンプルシーンを開くこともできます(「Assets」>「4 Lighting」>「Scene」>「Lighting_Baked」または「Assets」>「4 Lighting」>「Scene」>「 Lighting_Unbaked」)。シーンをダウンロードして開いたら、エディターの再生モードに入るか、モバイル端末向けにシーンをビルドして、プロファイラーでプロファイリングします。

3. 観察対象

前回のチュートリアルで触れたように、Unity エンジンには、Enlightenプログレッシブ CPU ライトマッパープログレッシブ GPU ライトマッパーの 3 種類のライトマップ生成オプションがあります。このプロジェクトでは、プログレッシブ CPU ライトマッパーを選択しました。Enlighten は廃止予定で、プログレッシブ GPU ライトマッパーはプレビュー版であるためです。

プログレッシブ CPU ライトマッパーを使用してベイクしたライティングを実装すると、ライティング情報を処理する際の CPU サイクルを節約できます。これにより、毎秒フレーム数(FPS)が大きく増加してしまうかもしれませんが、CPU 使用率は低下します。「Statistics」ウィンドウで 2 つのシーンの FPS を測定すると、相当な違いがあることがわかります。

特に違いが顕著なのは、モバイル端末上です。任意のスマートフォン向けにサンプルシーンをビルドし、2 つのシーンをプロファイリングしてみましょう。そこでプロファイラーの「Global Illumination」セクションの「Total CPU」グラフを観察します。スマートフォンの仕様によっては、CPU 使用率に大きな違いが生じます。

注:ここではプログレッシブ CPU ライトマッパーを使用しましたが、プログレッシブ GPU ライトマッパーでテスト、プロファイルを行うことをおすすめします。システムの GPU によっては、パフォーマンスが変動する場合があります)

4. まとめ

ライトは、それのみでは見過ごされる可能性や、正当に評価されない可能性があるモバイルアプリケーションの特徴を際立たせます。ライティングを決める際は、静的ライトにするか非静的ライトにするかを的確に判断しましょう。アプリケーションが対象デバイス上で期待どおりのパフォーマンスを発揮し、効率的に動作するかどうかは、この選択によって決まります。

---

おめでとうございます!「モバイルアプリケーションのための 3D アートの最適化」のコースを修了しました。続いて最後のプロジェクトに進みましょう。最後のプロジェクトでは、次のステップやゲーム開発に役立つ補足リソースについて簡単に説明します。

Complete this Tutorial