Search Unity

Spotlight チームのベストプラクティス ― ライティングパイプラインのセットアップ

, 8月 28, 2018

Unity では、数種のレンダーパイプライン、2 種類のグローバルイルミネーションシステム、4 種類のライティングモード、3 種類のライトモード、3 種類のシャドウマスクモードなど、多様な選択肢を提供しています。このように柔軟性が高いことから、ハイエンド PC や据え置き機、モバイル端末、XR デバイスなど、様々なプラットフォームに向けてプロジェクトの作成が可能となっています。しかし、例えば Unity を使い始めたばかりの方や、レンダリングに関する専門用語に馴染みのない方、機能のごく限られたレンダラーにしか馴染みのない方は、Unity の提供する選択肢の膨大さに圧倒されてしまうかもしれません。

数か月前 の 2018 年 5 月、私は、イギリスを拠点とする欧州の Spotlight チームに加わりました。私達の使命は、野心あふれるデベロッパーに対して密なサポートを行い、Unity の限界を押し上げることです。また、クリエイターが Unity を最大限に活用できるようにサポートすることも私の役目のひとつです。私が以前ゲームのライティングアーティストとして働いていた時には、レンダーパイプラインを極度に最適化したゲームエンジンを主に扱っていました。ですから、慣れないうちは、Unity で提供される数多くのライティング機能やその順序関係の複雑さに辟易してしまいかねないことを十分承知しています。そこで、このような状況を緩和するためにベストプラクティスガイドの新項目『Setting up the lighting pipeline in Unity(Unity でライティングパイプラインを設定する)』を新しく作成しました。

ガイド内にはいくつかの図表と、仕様を決定するためのフローチャートを含めました。ライティングパイプライン全体を大局的に示した図は、プロジェクトに最も適したレンダーパイプラインとライティングのグローバル設定を決定する上で役立つようになっています。この図を以下に抜き出して掲載しましたのでご覧ください。Unity でライティングを作成するに当たっての選択肢をステップごとに一覧にし、ライティングパイプライン全体を俯瞰できるようになっています。

このガイドは、基本的に最初の主要な 4 ステップ(レンダーパイプラインの選択からライトの追加まで)に焦点を合わせて解説しています。また後半ではいくつかの実際のプロジェクト例(モバイルストラテジーゲーム、AAA のコリドーシューター、バトルロイヤル)もご紹介しています。これらのプロジェクトのケースにおける最適設定や推奨事項を参考にすることで、皆様のプロジェクトが良いスタートを切れることを願っています。

このガイドをお読みになれば、Unity で使用可能なレンダーパイプライン各種の違いや、そのライティング設定について、きっと十分に把握していただけると思います。ぜひご利用ください!

13 コメント

コメントの配信登録

コメント受付を終了しました。

  1. Good-looking document!

  2. Frederich Immer

    9月 12, 2018 3:14 pm

    I think this is the most comprehensive guide on lighting that I have ever read. A big thank you for this!
    Could you re-upload a high definition resolution for the diagram images? Text is not so clear in every diagram.
    Thank you!

    1. Pierre Yves Donzallaz

      9月 12, 2018 5:02 pm

      Thank you, much appreciated!

      About the problem with the image size, there is indeed something wrong with some of them at the moment. We’re looking into it now.

      In the meantime, here are the source images in full res: https://drive.google.com/drive/folders/10mms98ARgIkOSZcAxdJKaK90SDAOwUsM?usp=sharing

  3. A wonderful documentation, it’s very good reading for any level of use, thanks for sharing :D

  4. Thank you for sharing. :)

  5. Robert Cummings

    8月 28, 2018 8:36 pm

    I have to say though after following the link https://docs.unity3d.com/2018.2/Documentation/Manual/BestPracticeLightingPipelines.html – I’m really impressed with the clarity and intelligent diagrams. I didn’t find anything for me, but I’m so tried of teaching others the differences, and now I do not have to. Excellent resource for all Unity users, definitely inclusive of artists – great work and thank you!

  6. Robert Cummings

    8月 28, 2018 8:24 pm

    Tiny omission: HDRP has forward and deferred also. In the future, deferred will also be added to LWRP.

    1. Pierre Yves Donzallaz

      8月 29, 2018 11:25 am

      Thank you Robert! You’re right, HDRP does indeed have a hybrid Deferred-Forward mode. I haven’t specified it in the graph above, because shaders will take the appropriate path by default when using the “Default” rendering path (in the Rendering Settings of the camera). However, one can force the “Enable Forward Rendering Only” when choosing a “Custom” rendering path. This would have to be profiled to see which mode is the most efficient (either Deferred-Forward or Forward only), depending on the project. “Forward Only” could be useful for scenes using a vast majority of custom (non-deferred) shaders for instance.

  7. Firstly, thank you very much for your idea to create a cycle on lighting. This, in my opinion, is the most difficult for me, as for a beginner in Uniy. Secondly, thank you for starting with an explanation of the terms, it helps a lot. And finally, could you also show an example of choosing lighting settings in real time for the open world :) I understand that this is the most difficult, but also the most interesting. Thank you.

    1. Pierre Yves Donzallaz

      8月 29, 2018 10:03 am

      Thank you! You might consider Scenario 4 if you want to create a very large level with dynamic lighting.

  8. The host name docs.hq.unity3d.com does not resolve.