このブログで使用しているUnityHub/UnityのVer
・Unity Hub 3.11.0
・Unity 6000.0.33f1
こんちゃっす!シナリオ作りでゲームの中身の制作が全く進みません。えきふるです。
以前にプロジェクトテンプレートはどれがいいのか?という話をしたのですが
実際のところこれで良いやろ!と思い決めたテンプレートも制作していくと、
あれ、これ、変えた方が良くね?という事、あると思います。
今日はそんな時のために、レンダーパイプラインの変更の仕方をマトメていきたいと思います。
それではいってみよー
変更方法あれこれ
URPへの変換
例としてテンプレートの3D(Built-in Render Pipline)からURPへの変更を実際にやりながら
工程を書いていこうと思います。
1.URPのパッケージをインストール
まずはURPのパッケージをインストールしましょう。※初期状態ではテンプレートの中に含まれていません。
Unityエディターのメニューバーで、Window > Package Managerを開きます。
※画像はMacですが、Winでも同様かと思います。
開いたPackageManagerからUnityRegistry(下記画像、左側の四角が並んだアイコン)を選択、
リストのPackagesの中から「Universal RP」を探す、もしくは上の検索窓に名前を入れて見つけたら選択して「Install」を押してインストールしましょう。
これでインストールの完了です。
2.Render Pipeline Assetの作成
URPに限らずSRP(スクリプタブルレンダーパイプライン、C#を使ったレンダーパイプラインの総称)は
どのレンダーパイプラインアセットをゲームのレンダー設定として使用するかをUnity側に伝える必要があります。
インストールした時点でURP用の設定アセットがいくつか自動で入っていると思いますが、
URPアセット本体はまだ存在しないので作成します。
Assetsウインドウで
右クリック→Create→Rendering→URP Asset
で作成することができます。
なお、URP Assetの(with2DRenderer)と(with Universal Renderer)の違いは
URP Asset作成時に一緒に作成されるレンダラー設定用のURPアセットを「2DRenderer」と「Universal Renderer」のどっちにするか、という違いだけです。
少しわかりにくいですね。
URPでは
1.レンダリング専門の設定をするアセット(レンダラーデータアセット)
2.全体の画面処理(品質や影、画像処理など)を設定するアセット(データアセット)
の2つが必要で、「2.のデータアセット」の中にどの「1.レンダラーデータセット」を使うかを設定できます。
要するに今作ろうとしているのはデータアセットで、付属のレンダラーデータアセットをどれにしますか?
という内容になっています。
2.Render Pipeline Assetの設定
それではいよいよレンダーパイプラインをURPに変更しましょう。
UnityのメインウインドウでEdit→ProjectSettingsを開きます。
ProjectSettingsを開いたら「Graphis」項目の中の
「Default Render Pipeline」で先ほど作成したURPアセットを選びます。
選択すると下記のようなポップアップが出ますが「Confirm」を選択します。
これでURPレンダーに変更されました!(プロジェクトの変換作業に少し時間がかかるかもしれません)
変換後の各種調整
レンダーパイプラインの変更が済んでもプロジェクト的にはまだ終わりではありません。
各設定をURP用に再調整していく必要があります。
マテリアルのURP変換
URPに変更した際にURPサポート外のマテリアルを当てたオブジェクトがある場合は
下図のようにマテリアルが剥がれてピンク色になってしまいます。
そこでこのマテリアルをURP用に変換するには
Edit→Rendering→Materials→Convert Selected Built-in Materialsto URP
を選択します。
これで自動変換されます。
※Unity標準のシェーダーなど、もし変換されない場合は手動で新規のマテリアルを作成してアタッチしてあげる必要があります。
その他、LightingやPostProcessingも状況に応じて設定を確認して下さい。
(Projectによって状況が様々なのでここでは割愛)
TIPS:複数のURPレンダラーデータアセットを持てる
URPではレンダラーデータアセットとデータアセットの話をしましたが、
品質などを設定する方のデータアセットにはレンダラー用のデータアセットを複数セットできます。
これによって、例えばPCでプレイする時の出力用の設定とスマホ用の設定などを分けてレンダラーを管理することが出来ます。
Built-inへの変換
次に、あまり無いと思いますがBuilt-inへの変換方法を記載します。(例はURPですが、HDRPでも基本は同じ)
1.URPの解除
URPに変換する時と逆の手順を行います。
ProjectSettingsから「Graphis」項目の中の
「Default Render Pipeline」で「None」を選んでください。
これでデフォルトのBuilt-in Pipelineが使用されます。
この後はURP変換と同様に、使用しているマテリアルを使えるものに変更、カメラやライティング、ポストプロセッシングの設定の見直しを行なって下さい。
HDRPへの変換
基本的な手順はURPへの変換と変わりありません。
1.HDRPのパッケージをインストール
まず、URPと同様にWindow→「Package Manager」から「High Definition RP」をInstallして下さい。
2.HD Render Pipeline Assetの作成
Installが終わったらprojectウインドウで
右クリック→「Create」→「Rendering」→「HDRP Asset」
でHDRPアセットを作成します。
データアセットが作成されたら
Edit→Project Settings→Graphics→Default Render Pipelineで先ほど作成したアセットを選択して下さい。
後はURPと同様に出てくるポップアップで「Confirm」を選択したら変換されます。
マテリアルのHDRP変換
その後はURP変換と同様でマテリアルを
Edit→Rendering→Materialsでプロジェクトにあったコンバート方法を選ぶか
上手くいかなければ手動で変換をして下さいね。
もちろん、カメラやライト、ポスプロ関係の設定も見直して下さいね。
これにて3パターンのレンダーパイプラインの変換方法を終わりにしますふる
まとめ
今回はレンダーパイプラインの変換方法を見ていきました。
制作が進んだ後に「今の設定じゃダメだ!」となった場合でも
慌てずに変換をしていく事で問題なく移行出来ますので、焦らずに対処していきましょう。
これでもう一回テンプレートを作り直してデータをコピペさせて…とかしなくて済むふる!
えきふるからのご相談!
当ブログ「えきふるゲームラボ」では出来るだけ分かり易く読みやすい記事の作成を目指しています!
もし読んでくださった方の中で
「ここが良く分からなかった」「ここをもう少し掘り下げて欲しい」等ありましたら
ぜひコメントで教えて下さい!
コメント貰えると元気も出ますので、どうぞお気軽にお願いしますふる!
※このブログは、UnityTechnologiesまたはその関連会社が後援または提携しているものではありません。「Unity」は、UnityTechnologiesまたはその関連会社の米国およびその他の国における商標または登録商標です。
コメント