Unity 用脚本创建VolumeProfile并保存

2020-12-07  本文已影响0人  暴走TA

简介:有时候需要批量处理 Profile 文件,例如自动创建 Profile 文件,然后给其添加指定的后处理效果,然后再设置参数,并保存为文件。特别是项目从 Legacy 的 PostProcessing V2 升级到 URP 的后处理的时候。
在工具开发的过程中发现,简单的 add 是无法将添加的后处理效果保存到 Profile 文件内的。以下为可以正常保存的方法

版本:2019.2

代码预览

//assetPath 为profile文件保存位置
var newVolume = ScriptableObject.CreateInstance<VolumeProfile>(); // 创建profile对象
AssetDatabase.CreateAsset(newVolume, assetPath);//根据对象保存文件
var uBloom = newVolume.Add<UnityEngine.Rendering.Universal.Bloom>();//给profile添加
//指定此对象在文件中的显示模式,这里是在inspector和hierarchy都不显示
uBloom.hideFlags = HideFlags.HideInHierarchy|HideFlags.HideInInspector;
uBloom.active = true;
uBloom.name = "Bloom";//起个名字
AssetDatabase.AddObjectToAsset(uBloom, assetPath);//根据路径将其添加到文件里,!!关键点!!

关键解析

打开debug模式发现,自己用代码添加的效果,显示的 type mismatch,而手动通过界面添加的效果是有一个引用文件的。


代码添加的对象丢失
上一篇下一篇

猜你喜欢

热点阅读