react-animation
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseWhen to use
适用场景
Use this skill when creating Remotion video compositions that need aesthetically refined visual effects. Components are curated for motion graphics excellence, categorized by visual style.
当你创建需要高视觉美感视觉效果的Remotion视频合成内容时,可以使用这些组件。所有组件均为优质动态图形打造,并按视觉风格分类。
Installation
安装步骤
bash
npx shadcn@latest add https://reactbits.dev/r/<Component>-TS-CSSbash
npx shadcn@latest add https://reactbits.dev/r/<Component>-TS-CSS🎨 Aesthetic Categories
🎨 视觉风格分类
Components organized by visual style. Avoid mixing more than 2 styles in one video.
组件按视觉风格划分。请勿在单个视频中混合超过2种风格。
1. Elegant & Soft (优雅柔和)
1. 优雅柔和风格
Smooth, cinematic, refined. Best for luxury brands, emotional storytelling.
流畅、电影级、精致。最适合奢侈品牌、情感叙事类内容。
Text
文本组件
| Component | Install | Aesthetic |
|---|---|---|
| BlurText | | Blur-to-clear cinematic reveal |
| 组件 | 安装命令 | 视觉效果 |
|---|---|---|
| BlurText | | 从模糊到清晰的电影级揭示效果 |
Backgrounds
背景组件
| Component | Install | Aesthetic |
|---|---|---|
| Aurora | | Flowing northern lights |
| Silk | | Minimalist fabric waves |
| Grainient | | Grainy artistic gradients |
| 组件 | 安装命令 | 视觉效果 |
|---|---|---|
| Aurora | | 流动极光效果 |
| Silk | | 极简织物波纹效果 |
| Grainient | | 颗粒感艺术渐变效果 |
Effects
特效组件
| Component | Install | Aesthetic |
|---|---|---|
| Ribbons | | Flowing silk ribbons |
| ShapeBlur | | Soft abstract geometry |
Usage Pattern:
tsx
const ElegantScene: React.FC = () => {
const frame = useCurrentFrame();
const { fps } = useVideoConfig();
return (
<AbsoluteFill>
<Aurora time={frame / fps} colorStops={['#3A29FF', '#FF94B4', '#FF3232']} />
<BlurText text="Elegant Title" startFrame={15} />
</AbsoluteFill>
);
};| 组件 | 安装命令 | 视觉效果 |
|---|---|---|
| Ribbons | | 流动丝缎飘带效果 |
| ShapeBlur | | 柔和抽象几何效果 |
使用示例:
tsx
const ElegantScene: React.FC = () => {
const frame = useCurrentFrame();
const { fps } = useVideoConfig();
return (
<AbsoluteFill>
<Aurora time={frame / fps} colorStops={['#3A29FF', '#FF94B4', '#FF3232']} />
<BlurText text="Elegant Title" startFrame={15} />
</AbsoluteFill>
);
};2. Modern & Tech (现代科技)
2. 现代科技风格
Cutting-edge, dynamic, futuristic. Best for tech products, startups, innovation.
前沿、动感、未来感。最适合科技产品、初创企业、创新主题内容。
Text
文本组件
| Component | Install | Aesthetic |
|---|---|---|
| GlitchText | | Digital glitch artifacts |
| GradientText | | Flowing gradient sweep |
| 组件 | 安装命令 | 视觉效果 |
|---|---|---|
| GlitchText | | 数字故障失真效果 |
| GradientText | | 流动渐变扫过效果 |
Backgrounds
背景组件
| Component | Install | Aesthetic | Disable Mouse |
|---|---|---|---|
| Iridescence | | Rainbow oil-slick | |
| LiquidChrome | | Liquid metal surface | |
| Particles | | Floating data points | |
| 组件 | 安装命令 | 视觉效果 | 禁用鼠标交互 |
|---|---|---|---|
| Iridescence | | 彩虹油膜效果 | |
| LiquidChrome | | 液态金属表面效果 | |
| Particles | | 悬浮数据点效果 | |
Effects
特效组件
| Component | Install | Aesthetic |
|---|---|---|
| MetaBalls | | Organic liquid fusion |
| Antigravity | | Ethereal particle field |
Usage Pattern:
tsx
const TechScene: React.FC = () => (
<AbsoluteFill style={{ background: '#000' }}>
<Iridescence mouseReact={false} color={[0.3, 0.1, 0.8]} speed={1} />
<GlitchText speed={0.5} enableShadows enableOnHover={false}>
FUTURE IS NOW
</GlitchText>
</AbsoluteFill>
);| 组件 | 安装命令 | 视觉效果 |
|---|---|---|
| MetaBalls | | 有机液体融合效果 |
| Antigravity | | 空灵粒子场效果 |
使用示例:
tsx
const TechScene: React.FC = () => (
<AbsoluteFill style={{ background: '#000' }}>
<Iridescence mouseReact={false} color={[0.3, 0.1, 0.8]} speed={1} />
<GlitchText speed={0.5} enableShadows enableOnHover={false}>
FUTURE IS NOW
</GlitchText>
</AbsoluteFill>
);3. Luxury & Premium (奢华高端)
3. 奢华高端风格
Metallic, refined, sophisticated. Best for luxury goods, finance, high-end services.
金属质感、精致、典雅。最适合奢侈品、金融、高端服务类内容。
Text
文本组件
| Component | Install | Aesthetic |
|---|---|---|
| ShinyText | | Metallic sheen sweep |
| 组件 | 安装命令 | 视觉效果 |
|---|---|---|
| ShinyText | | 金属光泽扫过效果 |
Backgrounds
背景组件
| Component | Install | Aesthetic |
|---|---|---|
| Silk | | Premium fabric texture |
| 组件 | 安装命令 | 视觉效果 |
|---|---|---|
| Silk | | 高端织物纹理效果 |
Effects
特效组件
| Component | Install | Aesthetic |
|---|---|---|
| StarBorder | | Animated gradient border |
Usage Pattern:
tsx
const LuxuryScene: React.FC = () => (
<AbsoluteFill style={{ background: '#0a0a0a' }}>
<Silk speed={0.5} color="#1a1a2e" />
<StarBorder color="#gold" speed="4s">
<ShinyText text="PREMIUM" color="#c9b037" shineColor="#fff" />
</StarBorder>
</AbsoluteFill>
);| 组件 | 安装命令 | 视觉效果 |
|---|---|---|
| StarBorder | | 渐变动画边框效果 |
使用示例:
tsx
const LuxuryScene: React.FC = () => (
<AbsoluteFill style={{ background: '#0a0a0a' }}>
<Silk speed={0.5} color="#1a1a2e" />
<StarBorder color="#gold" speed="4s">
<ShinyText text="PREMIUM" color="#c9b037" shineColor="#fff" />
</StarBorder>
</AbsoluteFill>
);4. Retro & Pixel (复古像素)
4. 复古像素风格
Nostalgic, digital, lo-fi. Best for gaming, retro tech, vaporwave aesthetics.
怀旧、数字化、低保真。最适合游戏、复古科技、蒸汽波美学内容。
Text
文本组件
| Component | Install | Aesthetic |
|---|---|---|
| TextType | | Terminal typewriter |
| DecryptedText | | Data decryption effect |
| 组件 | 安装命令 | 视觉效果 |
|---|---|---|
| TextType | | 终端打字机效果 |
| DecryptedText | | 数据解密效果 |
Transitions
转场组件
| Component | Install | Aesthetic |
|---|---|---|
| PixelTransition | | Pixel grid dissolve |
| 组件 | 安装命令 | 视觉效果 |
|---|---|---|
| PixelTransition | | 像素网格溶解效果 |
Backgrounds
背景组件
| Component | Install | Aesthetic |
|---|---|---|
| LetterGlitch | | Matrix code rain |
| Dither | | Retro dithering |
| FaultyTerminal | | CRT monitor effect |
Usage Pattern:
tsx
const RetroScene: React.FC = () => (
<AbsoluteFill style={{ background: '#000' }}>
<LetterGlitch glitchSpeed={100} glitchColors={['#0f0', '#00ff41']} />
<GlitchText>SYSTEM OVERRIDE</GlitchText>
</AbsoluteFill>
);| 组件 | 安装命令 | 视觉效果 |
|---|---|---|
| LetterGlitch | | 矩阵代码雨效果 |
| Dither | | 复古抖动效果 |
| FaultyTerminal | | CRT显示器效果 |
使用示例:
tsx
const RetroScene: React.FC = () => (
<AbsoluteFill style={{ background: '#000' }}>
<LetterGlitch glitchSpeed={100} glitchColors={['#0f0', '#00ff41']} />
<GlitchText>SYSTEM OVERRIDE</GlitchText>
</AbsoluteFill>
);5. Energy & Dramatic (能量戏剧)
5. 能量戏剧风格
High-impact, dynamic, powerful. Best for action, sports, announcements.
高冲击力、动感、强劲。最适合动作、体育、公告类内容。
Backgrounds
背景组件
| Component | Install | Aesthetic | Disable Mouse |
|---|---|---|---|
| Lightning | | Electric storm | None |
| Beams | | Volumetric light columns | None |
| LightRays | | God rays, dramatic | |
Usage Pattern:
tsx
const DramaticScene: React.FC = () => (
<AbsoluteFill>
<Lightning hue={45} intensity={0.8} speed={2} />
<BlurText text="THUNDER STRIKE" />
</AbsoluteFill>
);| 组件 | 安装命令 | 视觉效果 | 禁用鼠标交互 |
|---|---|---|---|
| Lightning | | 电闪雷鸣效果 | 无 |
| Beams | | 体积光柱效果 | 无 |
| LightRays | | 上帝之光、戏剧化效果 | |
使用示例:
tsx
const DramaticScene: React.FC = () => (
<AbsoluteFill>
<Lightning hue={45} intensity={0.8} speed={2} />
<BlurText text="THUNDER STRIKE" />
</AbsoluteFill>
);6. Abstract & Artistic (抽象艺术)
6. 抽象艺术风格
Experimental, artistic, unique. Best for creative projects, music videos.
实验性、艺术性、独特。最适合创意项目、音乐视频。
Text
文本组件
| Component | Install | Aesthetic |
|---|---|---|
| DecryptedText | | Cryptic reveal |
| 组件 | 安装命令 | 视觉效果 |
|---|---|---|
| DecryptedText | | 神秘揭示效果 |
Backgrounds
背景组件
| Component | Install | Aesthetic | Disable Mouse |
|---|---|---|---|
| Plasma | | Organic flowing colors | |
| Prism | | Light refraction | |
| 组件 | 安装命令 | 视觉效果 | 禁用鼠标交互 |
|---|---|---|---|
| Plasma | | 有机流动色彩效果 | |
| Prism | | 光线折射效果 | |
7. Utility (通用工具)
7. 通用工具组件
Enhance any scene.
可增强任意场景效果。
Overlay
叠加层
| Component | Install | Purpose |
|---|---|---|
| Noise | | Film grain texture overlay |
Usage Pattern:
tsx
const SceneWithGrain: React.FC = () => {
const frame = useCurrentFrame();
const { width, height } = useVideoConfig();
const canvasRef = useRef<HTMLCanvasElement>(null);
useEffect(() => {
const ctx = canvasRef.current?.getContext('2d');
if (!ctx || frame % 2 !== 0) return;
const imageData = ctx.createImageData(width, height);
for (let i = 0; i < imageData.data.length; i += 4) {
const seed = frame * 100000 + i / 4;
const val = Math.floor((Math.sin(seed) * 10000 % 1) * 255);
imageData.data[i] = imageData.data[i + 1] = imageData.data[i + 2] = val;
imageData.data[i + 3] = 15;
}
ctx.putImageData(imageData, 0, 0);
}, [frame]);
return (
<>
<YourScene />
<canvas ref={canvasRef} style={{ position: 'absolute', inset: 0, pointerEvents: 'none' }} />
</>
);
};| 组件 | 安装命令 | 用途 |
|---|---|---|
| Noise | | 胶片颗粒纹理叠加层 |
使用示例:
tsx
const SceneWithGrain: React.FC = () => {
const frame = useCurrentFrame();
const { width, height } = useVideoConfig();
const canvasRef = useRef<HTMLCanvasElement>(null);
useEffect(() => {
const ctx = canvasRef.current?.getContext('2d');
if (!ctx || frame % 2 !== 0) return;
const imageData = ctx.createImageData(width, height);
for (let i = 0; i < imageData.data.length; i += 4) {
const seed = frame * 100000 + i / 4;
const val = Math.floor((Math.sin(seed) * 10000 % 1) * 255);
imageData.data[i] = imageData.data[i + 1] = imageData.data[i + 2] = val;
imageData.data[i + 3] = 15;
}
ctx.putImageData(imageData, 0, 0);
}, [frame]);
return (
<>
<YourScene />
<canvas ref={canvasRef} style={{ position: 'absolute', inset: 0, pointerEvents: 'none' }} />
</>
);
};🔧 Core Adaptation Patterns
🔧 核心适配模式
Frame-Based Animation
基于帧的动画
Replace all time-driven animations with :
useCurrentFrame()tsx
import { useCurrentFrame, useVideoConfig, interpolate, Easing } from 'remotion';
// Before: time accumulation
// After: deterministic from frame
const frame = useCurrentFrame();
const { fps } = useVideoConfig();
const progress = interpolate(frame, [0, 30], [0, 1], {
easing: Easing.out(Easing.cubic),
extrapolateLeft: 'clamp',
extrapolateRight: 'clamp',
});将所有时间驱动的动画替换为:
useCurrentFrame()tsx
import { useCurrentFrame, useVideoConfig, interpolate, Easing } from 'remotion';
// Before: time accumulation
// After: deterministic from frame
const frame = useCurrentFrame();
const { fps } = useVideoConfig();
const progress = interpolate(frame, [0, 30], [0, 1], {
easing: Easing.out(Easing.cubic),
extrapolateLeft: 'clamp',
extrapolateRight: 'clamp',
});Seeded Randomness
种子化随机数
Ensure deterministic rendering:
tsx
function seededRandom(seed: number): number {
const x = Math.sin(seed) * 10000;
return x - Math.floor(x);
}
const rand = seededRandom(frame * 1000 + index);确保渲染结果可预测:
tsx
function seededRandom(seed: number): number {
const x = Math.sin(seed) * 10000;
return x - Math.floor(x);
}
const rand = seededRandom(frame * 1000 + index);Shader Uniforms
着色器Uniform变量
For WebGL/OGL components:
tsx
// Time uniform
uniforms.iTime.value = frame / fps;
// Scripted mouse path (optional)
uniforms.iMouse.value.set(
0.5 + 0.3 * Math.sin(frame / fps),
0.5 + 0.2 * Math.cos(frame / fps * 0.7)
);适用于WebGL/OGL组件:
tsx
// Time uniform
uniforms.iTime.value = frame / fps;
// Scripted mouse path (optional)
uniforms.iMouse.value.set(
0.5 + 0.3 * Math.sin(frame / fps),
0.5 + 0.2 * Math.cos(frame / fps * 0.7)
);⚠️ Style Consistency Guidelines
⚠️ 风格一致性指南
DO:
- ✅ Mix Elegant + Luxury styles (BlurText + ShinyText + Silk)
- ✅ Mix Modern + Retro styles (GlitchText + LetterGlitch)
- ✅ Use Noise overlay on ANY scene
- ✅ Keep backgrounds subtle when text is prominent
DON'T:
- ❌ Mix Elegant + Retro (BlurText + PixelTransition)
- ❌ Mix Luxury + Glitch (ShinyText + GlitchText)
- ❌ Use Lightning with complex text animations
- ❌ Use more than 2 background effects simultaneously
建议做法:
- ✅ 混合优雅+奢华风格(BlurText + ShinyText + Silk)
- ✅ 混合现代+复古风格(GlitchText + LetterGlitch)
- ✅ 在任意场景中使用Noise叠加层
- ✅ 当文本为视觉焦点时,保持背景简洁
禁止做法:
- ❌ 混合优雅+复古风格(BlurText + PixelTransition)
- ❌ 混合奢华+故障风格(ShinyText + GlitchText)
- ❌ 将Lightning与复杂文本动画搭配使用
- ❌ 同时使用超过2种背景效果
📦 Full Component List (35 curated)
📦 完整组件列表(35个精选组件)
Text (6)
文本组件(6个)
BlurText, GlitchText, GradientText, ShinyText, DecryptedText, TextType
BlurText, GlitchText, GradientText, ShinyText, DecryptedText, TextType
Backgrounds (18)
背景组件(18个)
Aurora, Silk, Grainient, Lightning, Iridescence, LiquidChrome, Particles, Galaxy, Plasma, LetterGlitch, Beams, LightRays, Dither, FaultyTerminal, DarkVeil, PixelSnow, Balatro, Prism
Aurora, Silk, Grainient, Lightning, Iridescence, LiquidChrome, Particles, Galaxy, Plasma, LetterGlitch, Beams, LightRays, Dither, FaultyTerminal, DarkVeil, PixelSnow, Balatro, Prism
Effects (10)
特效组件(10个)
MetaBalls, Ribbons, ShapeBlur, Antigravity, StarBorder, PixelTransition
MetaBalls, Ribbons, ShapeBlur, Antigravity, StarBorder, PixelTransition
Utility (1)
工具组件(1个)
Noise
Noise
❌ Removed Components
❌ 已移除组件
Why these were removed:
- Low aesthetic value: SplitText, FadeContent, AnimatedContent
- Style overlap: ElectricBorder (covered by GlitchText), Orb (covered by Iridescence)
- Outdated aesthetics: Hyperspeed, Cubes, Squares
- Narrow use cases: CircularText, RotatingText, TrueFocus
- Functional > Aesthetic: Counter, Stepper, Carousel (UI components)
移除原因:
- 视觉美感不足: SplitText, FadeContent, AnimatedContent
- 风格重叠: ElectricBorder(已被GlitchText覆盖), Orb(已被Iridescence覆盖)
- 审美过时: Hyperspeed, Cubes, Squares
- 使用场景狭窄: CircularText, RotatingText, TrueFocus
- 功能性大于审美性: Counter, Stepper, Carousel(UI组件)
🎬 Recommended Combinations
🎬 推荐组件组合
| Project Type | Text | Background | Effect | Mood |
|---|---|---|---|---|
| Luxury Brand | ShinyText | Silk | StarBorder | Premium |
| Tech Startup | GradientText | Iridescence | - | Innovative |
| Creative Studio | BlurText | Aurora | Ribbons | Artistic |
| Gaming | GlitchText | LetterGlitch | PixelTransition | Edgy |
| Documentary | BlurText | Grainient | Noise | Cinematic |
| Event Promo | DecryptedText | Lightning | - | Energetic |
| 项目类型 | 文本组件 | 背景组件 | 特效组件 | 氛围 |
|---|---|---|---|---|
| 奢侈品牌 | ShinyText | Silk | StarBorder | 高端质感 |
| 科技初创企业 | GradientText | Iridescence | - | 创新感 |
| 创意工作室 | BlurText | Aurora | Ribbons | 艺术感 |
| 游戏项目 | GlitchText | LetterGlitch | PixelTransition | 前卫感 |
| 纪录片 | BlurText | Grainient | Noise | 电影质感 |
| 活动宣传 | DecryptedText | Lightning | - | 充满能量 |