English | 简体中文
主要是代码生成器,在不编写代码的情况下直接生成 Unity Timeline 对 Volume 或 Component 的扩展代码,便于快速开发原型以便自定义更多逻辑。
不复杂的逻辑也可以直接导入项目使用。
目前这个 repo 里有一些 Unity URP 原有的后处理 Volume 的扩展,用来在 Timeline 中动态调节 Volume
可以直接导入项目使用, 也可以通过”MAO Timeline Playable Wizard”这个工具自行扩展。
- 常见的基础字段(
int
,float
,bool
,Vector
,Color
,Texture
等) FloatParameter
IntParameter
BoolParameter
Vector2Parameter
Vector3Parameter
Vector4Parameter
ColorParameter
TextureParameter
Enum
(例如景深的 Gaussian 或 Bokeh 模式。目前可以生成代码,但 Clip 的 Inspector 面板中会一次性全部列出来,你可能需要重写指定 Clip 的面板)
LayerMaskParameter
FloatRangeParameter
RenderTextureParameter
CubemapParameter
ObjectParameter
AnimationCurveParameter
TextureCurveParameter
- 打开 Timeline 窗口,创建一个新的 Timeline
- 在 Scene 中创建一个 Volume,添加
TimelineExtensionVolumeSettings
组件 - 在 Timeline 中添加一个新的 Track。如果是直接使用的这个 repo,它的名字应该以
MAO
开头,例如MAOBloom
- 将创建的
TimelineExtensionVolumeSettings
组件绑定到这个Track上 - 在 Track 中添加新的 Clip,编辑属性,或者与其他的 Clip 进行混合即可
-
VolumeAccessType
:Profile
: 访问profile
的副本,不会影响原本的volume profile
文件(但编辑模式下通过 Timeline 控制之后,手动调节的 Volume 参数无法保存)Shared Profile
:访问profile
的引用,做的修改会直接影响到原本的volume profile
文件,类似于 Editor 模式下修改 Volume 属性。当退出运行模式后无法重置设置
推荐在 Editor 模式下使用
Shared Profile
,在Play
模式下使用Profile
如果需要使用这种方式,可以勾选AutoSwitchType
自动切换
更多信息可以参考 Unity官方文档
这是一个可以快速生成 Timeline 扩展代码的工具
它可以直接获取当前 AppDomain 下的所有类,并通过 C# 反射来获取需要的字段,这样就不再需要自己写扩展代码了~
Volume Component:
-
在
Window/MAO Timeline Playable Wizard
打开 -
切换
WorkType
为VolumeComponent
,选择需要的Track Binding Type
-
将
Default Values
设置为Volume
-
添加属性
-
最后点
Create
就可以了,等编译完之后就可以使用,你可以在Assets/TimelineExtensions
找到生成的脚本
Important
对 Enum 类型(例如景深的 Gaussian 或 Bokeh 模式),不支持根据原本的规则生成自定义的 Editor,会一次性将全部字段列出来,可能会不方便查看。
可以参考以下方法分成多个 Track 制作,或自己写代码完成 Clip 的 Editor 扩展
你可以通过 TimelineExtensions/Resources/MAOTimelineExtensionsConfigSO
自定义生成的代码路径,以及默认的命名空间。
命名空间会影响在 Timeline
中添加 Track
时右键菜单的显示。当存在命名空间时,对应 Track 会生成在子菜单中,否则会生成在最外部。