packages/docs/docs/transitions/presentations/cube.mdx
:::note This is a paid item which you can buy here. :::
A presentation where both the entering and exiting scene rotate with 3D perspective.
<Demo type="cube" />import { AbsoluteFill } from "remotion";
const Letter: React.FC<{
children: React.ReactNode;
color: string;
}> = ({ children, color }) => {
return (
<AbsoluteFill
style={{
backgroundColor: color,
opacity: 0.9,
justifyContent: "center",
alignItems: "center",
fontSize: 200,
color: "white",
}}
>
{children}
</AbsoluteFill>
);
};
// ---cut---
import { linearTiming, TransitionSeries } from "@remotion/transitions";
import { cube } from "@remotion-dev/cube-presentation";
const BasicTransition = () => {
return (
<TransitionSeries>
<TransitionSeries.Sequence durationInFrames={40}>
<Letter color="#0b84f3">A</Letter>
</TransitionSeries.Sequence>
<TransitionSeries.Transition
presentation={cube({ direction: "from-left" })}
timing={linearTiming({ durationInFrames: 30 })}
/>
<TransitionSeries.Sequence durationInFrames={60}>
<Letter color="pink">B</Letter>
</TransitionSeries.Sequence>
</TransitionSeries>
);
};
The cube() function does take an object with the following properties:
directionOne of from-left, from-right, from-top, from-bottom.
import { CubeDirection } from "@remotion-dev/cube-presentation";
const flipDirection: CubeDirection = "from-left";
perspective?The CSS perspective of the flip animation. Defaults to 1000.