evolve()v4.0.470
Part of the @remotion/effects package.
Reveals a canvas-based component from a direction or angle with an optional soft edge.
Use it for wipes, reveals, and intro/outro animations on <Video>, <HtmlInCanvas> and <Solid>.
Preview
Example
MyComp.tsximport {interpolate ,useCurrentFrame } from 'remotion'; import {Video } from '@remotion/media'; import {evolve } from '@remotion/effects/evolve'; export constMyComp :React .FC = () => { constframe =useCurrentFrame (); constprogress =interpolate (frame , [0, 30], [0, 1], {extrapolateLeft : 'clamp',extrapolateRight : 'clamp', }); return ( <> <Video src ="https://remotion.media/video.mp4"effects ={[evolve ({progress ,direction : 'left',feather : 0.18, }), ]} /> </> ); };
API
Pass an object with the following properties. You can also call evolve() without arguments.
progress?
Reveal progress from 0 (fully hidden) to 1 (fully revealed). Defaults to 0.5.
Animate from 1 to 0 to wipe the component out.
direction?
Direction the component is revealed from. Defaults to left.
Possible values: left, right, top, bottom, angle.
Use angle to set a custom travel direction with angle. Available from v4.0.540.
angle?v4.0.540
Direction the reveal edge travels, in clockwise degrees from up. Only applies when direction is angle. Defaults to 90.
An angle of 0 reveals from bottom to top, 90 from left to right, 180 from top to bottom, and 270 from right to left.
featherUnit?v4.0.540
Unit used for the edge softness: relative or pixels. Defaults to relative.
Use relative with feather to scale the softness with the canvas size. Use pixels with featherPixels to set the width of a linear fade centered on the reveal edge.
feather?
Softness of the evolving edge from 0 (sharp edge) to 1 (fully feathered). Only applies when featherUnit is relative. Defaults to 0.1.
featherPixels?v4.0.540
Width of the soft edge in pixels. Must be 0 or greater. Only applies when featherUnit is pixels. Defaults to 0 (sharp edge).
The edge travels beyond the canvas bounds so the component is fully hidden at progress: 0 and fully revealed at progress: 1, including with large feather widths.
disabled?
When true, the effect is skipped. Defaults to false.
Angled wipev4.0.540
MyComp.tsximport {interpolate ,useCurrentFrame } from 'remotion'; import {Video } from '@remotion/media'; import {evolve } from '@remotion/effects/evolve'; export constMyComp :React .FC = () => { constframe =useCurrentFrame (); constprogress =interpolate (frame , [0, 30], [0, 1], {extrapolateLeft : 'clamp',extrapolateRight : 'clamp', }); return ( <Video src ="https://remotion.media/video.mp4"effects ={[evolve ({progress ,direction : 'angle',angle : 60,featherUnit : 'pixels',featherPixels : 60, }), ]} /> ); };
Requirements
evolve() uses a WebGL2 backend. See Using WebGL and WebGPU during renders.