TinyMotion | Object Motion Blur for URP – Documentation

Thank You for purchasing TinyMotion!

I hope you’ll enjoy the asset and make good use of it in your project.

Getting started!

You are just few steps from having motion blur in your scenes:

  1. Add Tiny Motion Renderer Feature to your URP-Renderer.
  2. Select Included Layers that should be included in motion blur and optionally RenderPasses.
  3. Add TinyMotion Component to your Volume Profile.
  4. Done! Now you have motion blur in your project, enjoy!

Basic Options:

  • Blur Mode – You can use two modes
    • Simple – Uses fixed sample count, does not use any of the Advanced features – optimal for better performance at the cost of quality.
    • Advanced – Configurable/Dynamic Sample Count, lets you configure almost everything.
    • Advanced with Depth Separation – Advanced features + Depth Separation based on depth texture and optionally limited by velocity.
  • Intensity – Controls the overall intensity of the effect. Can be used to fine tune the intensity calculated from Shutter Speed.
  • Shutter Speed – Controls the base intensity, lower values give bigger motion blur, too low values can result in over blurred image, recommended value is 250.
  • Velocity Treshold – Cuts off low velocity movement to prevent blurring of basically static objects.
  • Noise Mode – Noise is added to the sampling steps to prevent banding. Here you can select from three options:
    • Interleaved Gradient – Uses the built in noise function, gives good results but can be repetitive.
    • Pseudo Random – Custom noise function without repetition.
    • None – Do not add any noise – this can result in banding with high velocity/movement.
  • Motion Texture Quality – Precision at which the motion blur is stored in texture. Higher is visually better.
    • High – RGFloat.
    • Medium – RGHalf.
    • Low – RG16.
    • For more info please see Unity Documentation.
  • Downsample – Downsamples the motion velocity texture saving memory and improving performance.
  • Skip Second Pass – Skips the second pass for improved performance at the cost of quality.

Advanced Options:

  • Sample Count Mode
    • Fixed – Lets you set fixed number of samples – this samples even low velocity pixels with set number of samples.
    • Dynamic – Calculates the Sample Count from velocity, clamped by Min/Max Sample Count – this can save performance in low velocity movement.
  • Blur Samples – Number of samples used for the blur effect when Fixed mode is used – higher values give nicer/smoother results but is also more demanding – recommended value is ~6.
  • Min Sample Count – Minimum sample count used by Dynamic mode.
  • Max Sample Count – Maximum sample count used by Dynamic mode.
  • Depth Separation – Isolates object motion by depth, so that closer objects don’t bleed color to further ones.
    • Treshold – Distance treshold above which the bleeding is cut off.
    • Both Ways – Force separation both ways, separates objects completely but can lead to unrealistic visuals.
    • Use Velocity – Include velocity in calculations. This ensures that objects with the same/close velocity are blurred together even if they are far away from each other – This option degrades performance.
    • Velocity Treshold – Minimum difference in velocity to consider objects moving at different speeds.
  • Clamp Velocity – Clamps the velocity to set value, prevents over blurring.
  • Include Transparent Objects – includes transparent objects in calculation, use this with caution as objects seen behind transparent surfaces will be blurred by the transparent surface velocity.

Debug Options:

  • View In Editor – Lets you see the effect in editor window. Works only in Play Mode and when Play Mode is paused gives incorrect results.
  • Debug Mode – Lets you preview:
    • Velocity – Calculated Velocity in Red (x) and Green (y) colors.
    • Velocity BW – Calculated velocity in Black and White colors.
    • Vector Motion Texture – RAW motion texture calculated in Vector Render Pass.
    • Noise Texture – Currently used noise used to prevent banding.
    • Depth Texture – Depth texture used for Depth Separation.
    • Dynamic Sample Count – Color overlay corresponding to number of samples used.

Tested on

  • Unity 2021.3 Universal Render Pipeline 12.1.8
  • Linux and Windows

Limitations

  • Objects ignored by the Included Layers option will be blurred by objects moving behind them.
  • Opaque Particles: Opaque particles give incorrect motion vectors. Please exclude them via Layers or set particles Enable Mesh GPU Instancing to true if possible.
  • URP 14.0.6: Terrain is being constantly blurred, workaround for this issue is to check Draw Instanced option under terrain settings.

Have questions?

I hope you enjoy the asset. If you have any questions, feel free to contact me via email [email protected].

Online version of this documentation can be found here:
TinyMotion | Object Motion Blur for URP – Documentation