Unityのプロジェクト作成時のテンプレートについて

Unity2018.1から?新しくプロジェクトを作成する時のテンプレートの種類が増えました。

わたくしの場合は以前作成したプロジェクト内にブログの記事用の機能を作成していたので、最近まで増えたことも知りませんでした。(^_^;)

以前は2D、3Dの選択だけであったと思いますが、いくつか種類が増えていたのでテンプレートごとにどこが変わるのかを見ていきましょう。

スポンサーリンク

テンプレートの種類

テンプレートはどういったプロジェクトにするかによって選びますが、ゲームに合わせてあらかじめUnity内の設定がされていたり必要なプロジェクトファイルが取り込まれます。

まずはUnityで新しくプロジェクトを作る際に選択出来るテンプレートを見てみます。

プロジェクトテンプレートの種類

上のようにTemplateの所で2D、3D、3D With Extras(Preview)、Hi-Definition RP(Preview)、Lightwight RP(Preview)、VR Lightweight RP(Preview)が選択出来ます。

2D、3D

2D、3Dは以前からあるものと同じ設定だと思われます。

Unityビルトインのレンダリングパイプラインを使用する設定がされます。

レンダリングパイプラインはレンダリング(画像の生成)の工程手順の事です。

ビルトインのレンダリングパイプラインはDefferedとForwardがあり。

詳しい情報は

シェーダーは、オブジェクト自体の見た目 (マテリアルプロパティー) およびライトにどのように反応するかを定義します。ライティングの計算をシェーダーに設定する必要があるため、また多くのライトや影の種類があるため、丁度良く機能する質の高いシェーダーを作成することは、複雑な作業です。これを簡単にするため、Unity では、サ...

Unityのマニュアルを参照してみてください。

3D With Extras(Preview)

3D With Extrasは新しいPostProcessing機能やサンプル等が用意されています。

以前の記事でPostProcessingStack機能についてやりましたが、それの新しいバージョンのPostProcessing機能を最初から使用出来ます。

UnityのStandardAssetsのImageEffectsは便利ですが効果を複数組み合わせるのが不便です。新しいバージョンのUnityではPostProcessingStackをお勧めしているのでそちらを使ってみました。

新しいやつも記事にしないとなぁ・・・・・(-_-)

Hi-Definition RP(Preview)

Hi-Definition RP(PreView)はUnityマニュアルによると、

Shader Model 5.0(DX11以上)をサポートするハイエンドプラットフォームを使用するプロジェクトのプロジェクト設定を構成します。

とあります。

パフォーマンスよりも現実的なグラフィックを要するゲームの場合はHi-Definition RPを選択すると良いようです。

シェーダースクリプトをビジュアル操作で作成する事が出来るシェーダーグラフが使えます。

Lightweight RP(Preview)

Lightweight RP(Preview)はパフォーマンス重視の設定がされ、PostProcessing機能が最初から使え、サンプルも用意されています。

ライトをベイクして使う等の動作が軽めのゲームやモバイルゲーム等はこちらを選択すると良いかもしれません。

PostProcessing機能やシェーダースクリプトをビジュアル操作で作成する事が出来るシェーダーグラフが使えます。

VR Lightweight RP(Preview)

VR Lightweight RP(Preview)はバーチャルリアリティのゲーム等の設定が施されています。

サンプルコンテンツ、PostProcessing機能やシェーダースクリプトをビジュアル操作で作成する事が出来るシェーダーグラフが使えます。

Scriptable Render Pipeline(SRP)について

Hi-Definition RP(Preview)、Lightweight RP(Preview)、VR Lightweight RP(Preview)のテンプレートでは最新のレンダリングパイプラインのScriptable Render Pipeline(SRP)で構築されています。

このSRPはC#スクリプトでレンダリングの制御等が出来、以前のビルトインのパイプラインに替わるものとされています。

Unityマニュアルには

Unityは、HDRP(High Definition Render Pipeline)とLWRP(Lightweight Render Pipeline)の2つのSRPフレームワークを使用するスクリプト可能なレンダリングパイプラインを構築しました。

と記載があり、HDRPのプロジェクトは、LWRPと以前のUnityのビルトインのパイプラインとは互換性がないので、ゲーム等の作成前にレンダリングパイプラインを決定しておく必要があるようです。

Hi-Difinitio RP(Preview)はHDRP、Lightweight RP(Preview)はLWRPのレンダリングパイプラインが設定されています。

VR Lightweight RP(Preview)はLWRPのレンダリングパイプラインが設定され、かつVR用の設定が施されたテンプレートになります。

結局どれを選択すればいいのか?

以前は2D、3Dだけの選択だったのでわかりやすかったですが、他のテンプレートが増えたことで初心者にはちょっと分かり辛くなったかも?(^_^;)

本格的なグラフィックの場合はHi-Definition RP(Preview)、パフォーマンス重視の場合はLightweight RP(Preview)、VRゲームの場合はVR Lightweight RP(Preview)を選択するといいのかも?

以前からのビルトインのシェーダーを使う場合は2D、3Dのテンプレートでいいかもしれません。

あくまでテンプレートなので、自分で設定を変更する事も出来ますし、以前からのプロジェクトでビルトインのシェーダーを使っていたが、シェーダーグラフを使いたい!と言った時にSRPを設定する必要がありますが、それも後から行う事が出来ます。

前述したようにHDRPは、LWRPと以前のビルトインシェーダーのパイプラインと互換性がないので注意は必要です。

SRPの設定手順

わたくしは以前作成したプロジェクトでシェーダーグラフを使おうと思ったんですが、シェーダーグラフのウインドウを開いてもSRPに関連付けられていないというエラーが出てうまく動作しませんでした。

その為HDRPかLWRPを用意し設定する必要がありました。

シェーダーグラフのインストールもそうですが、これはUnityのPackage Managerを使ってインストールする事が出来ます。

UnityメニューのWindowからPackage Managerを選択します。

PackageManagerを開く

PackageManagerのウインドウでAllを選択し、シェーダーグラフならShader Graph、HDRPならRender pipelines hi-definition、LWRPならRender pipelines lightweightを選択しインストールします。

SRPをインストールする

今回はRender pipelines.high-definitionをインストールしたと仮定してレンダリングパイプラインの設定をしてみましょう。

UnityメニューのEdit→Project Settings→Graphicsを選択し、Scritable Rendering Pipelines SettingsにPackages/HD Render Pipeline/HDRP/のHDRenderPipelineAsset.assetを選択します。

これでSRPの設定が終わりました。

HDRPの場合はUnityメニューのEdit→Project Settings→PlayerのOther SettingsのColor SpaceをLinearにしておきます(HDRPではGammaが使えないようなので)。

HDRenderPipelineAssetのRender Pipeline ResourcesにはHDRenderPipelineResources.asset、Diffusion Profile SettingsにはDefault Diffusion Profile Settingsが設定されています。

これらのファイルは自分で作成する事が出来て、Assetsフォルダ内で右クリック→Create→Renderingを選択しファイルを作成する事が出来ます。

HDRPのアセットファイルの作成

ファイルの中身については

Scriptable Render Pipeline. Contribute to Unity-Technologies/ScriptableRenderPipeline development by creating an account on GitHub.

上のUnityのwikiを参照してみてください。

LWRPの場合は、

LightweighRPのアセットファイル

上のようにLightweightPipelineAssetファイルの作成が出来ます。

ビルトインシェーダーからHDRP、LWRPへの変換作業はEdit→Render PipelineのUpgrade・・・から簡単に変換出来ますが(カスタムシェーダー以外)、元には戻せないようです。

詳しくはUnityマニュアルの

First, let’s go through the definitions of several important graphics rendering terms that you will encounter frequently in this guide.

のページを参照してみてください。

終わりに

シェーダーグラフを使ってみようと思ったらエラーが発生して使えませんでした。

そんなわけでSRPの設定が必要になり、加えてプロジェクト作成時のテンプレートの設定を見るにまで至りました。(^_^;)

SRPの細かい設定はUnityのwikiに載っていますが、やはり専門的な設定なのでわからないものばかりですね。

とりあえずデフォルトの設定のまま使っていくとします。(-ω-)/

参考サイト

UnityマニュアルーProject Templatesー

スポンサーリンク

記事をシェアして頂ける方はこちら

フォローして頂くとやる気が出ます