最近在学习URP
想在测试项目换一下管线,但是之前写了一些效果了,我也不想改。
于是就想加个切换URP的功能,实际上就是ProjectSettings修改管线
ProjectSettings其实有好几个文件,对应修改项对应处理即可。
public class SwitchURP
{
[MenuItem("Tools/切换URP")]
public static void SwitchURPMethod()
{
const string GraphicsSettingsAssetPath = "ProjectSettings/GraphicsSettings.asset";
SerializedObject graphicsManager = new SerializedObject(UnityEditor.AssetDatabase.LoadAllAssetsAtPath(GraphicsSettingsAssetPath)[0]);
SerializedProperty m_CustomRenderPipeline = graphicsManager.FindProperty("m_CustomRenderPipeline");
if (m_CustomRenderPipeline.objectReferenceValue != null)
{
m_CustomRenderPipeline.objectReferenceValue = null;
}
else
{
var asset = AssetDatabase.LoadAssetAtPath<RenderPipelineAsset>("Assets/Practice/URPTest/URPTest.asset");
m_CustomRenderPipeline.objectReferenceValue = asset;
}
graphicsManager.ApplyModifiedProperties();
}
}
更新:
哎呀,菜了菜了。
GraphicsSettings.renderPipelineAsset就可以直接设置,其他Settings也差不多。不行再用上面的方法。
本文介绍如何在Unity项目中实现通过菜单选项快速切换到Unreal Render Pipeline (URP)。通过修改GraphicsSettings.asset中的渲染管线设置,实现无需改动已有代码的效果。
6363

被折叠的 条评论
为什么被折叠?



