墨水暈染轉場
一個模糊的黑色圓形在場景中央膨脹擴散再消退,覆蓋 Scene A 的同時讓 Scene B 在暈染後浮現,呈現水墨潑灑的詩意感。
轉場墨水暈染
提示詞(可直接修改內容)
import { AbsoluteFill, interpolate, useCurrentFrame } from "remotion";
import React from "react";
const SceneA: React.FC = () => (
<AbsoluteFill
style={{
background: "linear-gradient(135deg, #1e3a5f 0%, #0f172a 100%)",
justifyContent: "center",
alignItems: "center",
}}
>
<div
style={{
fontSize: 96,
fontWeight: 700,
color: "#ffffff",
fontFamily: "sans-serif",
letterSpacing: 8,
textShadow: "0 4px 32px rgba(59,130,246,0.5)",
}}
>
Scene A
</div>
</AbsoluteFill>
);
const SceneB: React.FC = () => (
<AbsoluteFill
style={{
background: "linear-gradient(135deg, #1a0533 0%, #0f0a1a 100%)",
justifyContent: "center",
alignItems: "center",
}}
>
<div
style={{
fontSize: 96,
fontWeight: 700,
color: "#ffffff",
fontFamily: "sans-serif",
letterSpacing: 8,
textShadow: "0 4px 32px rgba(168,85,247,0.5)",
}}
>
Scene B
</div>
</AbsoluteFill>
);
export const InkSpreadTransition: React.FC = () => {
const frame = useCurrentFrame();
const inkScale = interpolate(frame, [15, 50, 75], [0, 3, 0], {
extrapolateLeft: "clamp",
extrapolateRight: "clamp",
});
const bOpacity = interpolate(frame, [50, 75], [0, 1], {
extrapolateLeft: "clamp",
extrapolateRight: "clamp",
});
return (
<AbsoluteFill>
<SceneA />
<AbsoluteFill style={{ opacity: bOpacity }}>
<SceneB />
</AbsoluteFill>
<AbsoluteFill
style={{
justifyContent: "center",
alignItems: "center",
pointerEvents: "none",
}}
>
<div
style={{
width: 1920,
height: 1920,
borderRadius: "50%",
backgroundColor: "#000000",
transform: `scale(${inkScale})`,
filter: "blur(30px)",
}}
/>
</AbsoluteFill>
</AbsoluteFill>
);
};登入後查看完整程式碼