Unity-創(chuàng)建渲染管線資源和渲染管線實例
如果您要創(chuàng)建自己的可編程渲染管線?(SRP),您的項目必須包含:
一個繼承自?RenderPipelineAsset?并覆蓋其?
CreatePipeline()
?方法的腳本。此腳本用于定義渲染管線資源。一個繼承自?RenderPipeline?并覆蓋其?
Render()
?方法的腳本。此腳本用于定義渲染管線實例。一個從?RenderPipelineAsset?腳本創(chuàng)建的渲染管線資源。此資源充當(dāng)渲染管線實例的工廠類。
因為這些元素非常緊密相關(guān),所以應(yīng)該同時創(chuàng)建它們。
創(chuàng)建基本渲染管線資源和渲染管線實例
以下示例顯示了如何為實例化渲染管線實例的基本自定義渲染管線資源創(chuàng)建腳本、如何創(chuàng)建可定義渲染管線實例的腳本以及如何創(chuàng)建渲染管線資源本身。
創(chuàng)建一個名為?ExampleRenderPipelineAsset.cs?的 C# 腳本。
將以下代碼復(fù)制并粘貼到新腳本中:
3.創(chuàng)建一個名為?ExampleRenderPipelineInstance.cs?的 C# 腳本。
4.將以下代碼復(fù)制并粘貼到新腳本中:
5.在 Project 視圖中,單擊添加 (+) 按鈕,或者打開上下文菜單并導(dǎo)航至?Create,然后選擇?Rendering?>?Example Render Pipeline Asset。Unity 在 Project 視圖中創(chuàng)建新的渲染管線資源。
創(chuàng)建可配置的渲染管線資源和渲染管線實例
默認(rèn)情況下,渲染管線資源存儲有關(guān)用于渲染的渲染管線實例以及 Editor 中使用的默認(rèn)材質(zhì)和著色器的信息。在?RenderPipelineAsset
?腳本中,您可以擴展渲染管線資源以存儲更多數(shù)據(jù),并且可以在項目中擁有多個具有不同配置的不同渲染管線資源。例如,可使用渲染管線資源來保存每個不同硬件層的配置數(shù)據(jù)。高清渲染管線 (HDRP) 和通用渲染管線 (URP) 包含這方面的示例。
以下示例顯示了如何創(chuàng)建?RenderPipelineAsset
?腳本(該腳本使用公共數(shù)據(jù)來定義渲染管線資源,而公共數(shù)據(jù)則可以通過 Inspector 針對每個實例加以設(shè)置)和渲染管線實例(該實例在其構(gòu)造函數(shù)中接收渲染管線資源,并使用此渲染管線資源的數(shù)據(jù))。
1.創(chuàng)建一個名為?ExampleRenderPipelineAsset.cs?的 C# 腳本。 2.將以下代碼復(fù)制并粘貼到新腳本中:
3.創(chuàng)建一個名為?ExampleRenderPipelineInstance.cs?的 C# 腳本。?
4.將以下代碼復(fù)制并粘貼到新腳本中:
5.在 Project 視圖中,單擊添加 (+) 按鈕,或者打開上下文菜單并導(dǎo)航至?Create,然后選擇?Rendering?>?Example Render Pipeline Asset。Unity 在 Project 視圖中創(chuàng)建新的渲染管線資源。