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

記事内に広告が含まれています。

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

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

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

スポンサーリンク

テンプレートの種類

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

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

UnityHubを開いて新規作成からUnityのバージョンを選ぶとテンプレートの選択ウインドウが開きます。

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

上のようにTemplateの所で2D、3D、3D With Extras、High-Definition RP、Universal Render Pipelineが選択出来ます。

2D、3D

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

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

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

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

詳しい情報は

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

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

3D With Extras

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

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

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

High-Definition RP

High-Definition RPはUnityマニュアルによると、

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

とあります。

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

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

Universal Render Pipeline

Universal Render Pipelineは

すばやく簡単にカスタマイズでき、幅広いプラットフォームで最適化されたグラフィックを作成できる、ビルド済みのスクリプト可能なレンダーパイプライン

とUnityマニュアルにあります。

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

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

Scriptable Render Pipeline(SRP)について

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

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

Unityマニュアルには

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

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

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

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

シェーダーグラフを使ったシェーダーの作成やVisual Effect Graphを使ったエフェクトの作成、かつ

本格的なグラフィックを使ったゲームの場合はHigh-Definition RP、パフォーマンス重視の場合はUniversal RPを選択するといいのかも?

シェーダーグラフやVisual Effect Graphを使わない場合で

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

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

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

SRPの設定手順

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

その為HDRPパッケージかURPパッケージを用意し設定する必要がありました。

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

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

PackageManagerを開く

PackageManagerのウインドウでAllを選択し、シェーダーグラフならShader Graph、HDRPならHigh Definition RP、URPならUniversal RPを選択しインストールします。

SRPをインストールする

今回はわたくしのパソコンだとHigh Definition RPだとUnityがクラッシュするのでUniversal RPをインストールしたと仮定してレンダリングパイプラインの設定をしてみましょう。

Assetsフォルダ内で右クリックからCreate→Rendering→Universal Render Pipeline→Pipeline Asset(Forward Renderer)を選択し、ファイルを作成します。

UnityメニューのEdit→Project Settings→Graphicsを選択し、Scritable Rendering Pipelines Settingsに作成したUniversal Render Pipeline Assetを設定します。

Universal Render Pipeline Assetを設定する

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

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

終わりに

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

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

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

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

参考サイト

UnityマニュアルーProject Templatesー

タイトルとURLをコピーしました