Skip to content

Now you can edit Volume properties in the Timeline more easily without writing code

License

Notifications You must be signed in to change notification settings

ShiinaRinne/TimelineExtensions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TimelineExtensions

English | 中文

Introduction

Some extensions for Unity Timeline. You can edit Volume or GameObject Component's properties in the Timeline more easily without writing code,
or help you quickly develop prototypes.

At present, there are some extensions to the original Post-Processing Volume of Unity URP, which are used to dynamically adjust the volume in the Timeline
It can be directly imported into the project for use, or quickly expand through the "MAO Timeline playable Wizard" tool.

Features

Now tested parameters that work fine in Volume Mode:

  • FloatParameter
  • IntParameter
  • BoolParameter
  • Vector2Parameter
  • Vector3Parameter
  • Vector4Parameter
  • ColorParameter
  • TextureParameter

Parameters not yet supported or tested:

  • Enum(Example: Film Grain's Type, Motion Blur's Quality, Tonemapping's Mode)
  • LayerMaskParameter
  • FloatRangeParameter
  • RenderTextureParameter
  • CubemapParameter
  • ObjectParameter
  • AnimationCurveParameter
  • TextureCurveParameter

Usage

Typical usecase

  1. Open the Timeline window and create a new Timeline.
  2. Create a new Global Volume, add TimelineExtensionVolumeSettings component.
  3. Add a new Track which starts with "MAO", such as MAOBloom.
  4. Set TrackBinding to the TimelineExtensionVolumeSettings component.
  5. Add a new Clip to the Track, edit properties in the Clip or mix with other Clips.

TimelineExtensionVolumeSettings component settings:

  • VolumeAccessType:
    • Profile: Access a copy of the profile, which will not affect the original volume profile file (but if you adjust the Volume property through Timeline in Editor mode and then manually adjust it, this modification cannot be saved)
    • Shared Profile: Access a reference to the profile, which will directly affect the original volume profile. The settings cannot be reset after exiting play mode

Tip

It is recommended to use Shared Profile in Editor mode and Profile in Play mode.
If you need to use this switching method, you can check AutoSwitchType in TimelineExtensionVolumeSettings
For more information, please refer to Unity Documentation

Wizard Usage

This is a tool that can quickly generate Timeline extensions for you.
It can directly obtain all classes which under current AppDomain and get the required fields through reflection.
You no longer need to fill in manually.

VolumeComponent:

  1. You can find it in the menu bar Window/MAO Timeline Playable Wizard

  2. Switch WorkType to VolumeComponent, select the Track Binding Type

  3. Set Default Values to the Volume

  4. Add the properties

  5. Finally, click Create, wait for the compilation to complete and start enjoying~
    You can find it in Assets/TimelineExtensions

Important

The Enum type is currently not supported. When you need it (such as Gaussian or Boken's DOF), it is recommended to create it in the following way.

Advanced Settings

You can customize the generated code path and default namespace through TimelineExtensions/Resources/MAOTimelineExtensionsConfigSO.

The namespace affects how the Track appears in the context menu when adding a Track in Timeline. When a namespace is present, the corresponding Track will be generated in a submenu; otherwise, it will appear in the root menu.

TODO

  • Add support for more parameters.
  • Support high-level settings such as Blend Curves, Easing-in and Easing-out.

License

MIT License

Credits