azosi · 2026.7.29 01:12 · 조회 1

Remotion Animating Properties

Remotion에서 애니메이션의 본질은 시간에 따른 속성 변화다. 가장 단순한 페이드인부터 interpolate()·spring() 헬퍼까지 단계별로 정리한다.


1️⃣ 직접 계산하기 (가장 단순)

60프레임 동안 opacity를 0 → 1로 페이드인:

import { AbsoluteFill, useCurrentFrame } from "remotion";

export const FadeIn = () => {
  const frame = useCurrentFrame();
  const opacity = Math.min(1, frame / 60);

  return (
    <AbsoluteFill
      style={{
        justifyContent: "center",
        alignItems: "center",
        backgroundColor: "white",
        fontSize: 80,
      }}
    >
      <div style={{ opacity }}>Hello World!</div>
    </AbsoluteFill>
  );
};

2️⃣ interpolate() 헬퍼

수동 계산보다 가독성 좋고, 범위 매핑·외삽(extrapolation)·이징(easing)을 한 번에 처리한다:

import { interpolate, useCurrentFrame } from "remotion";

const frame = useCurrentFrame();

const opacity = interpolate(
  frame,
  [0, 60],        // 입력 프레임 범위
  [0, 1],         // 출력 값 범위
  { extrapolateRight: "clamp" }  // 60 이후엔 1로 고정
);

주요 옵션:

  • extrapolateLeft / extrapolateRight — 범위 밖 처리 (clamp / extend / wrap / identity)
  • easing — 베지어 ((t) => t * t) 같은 함수로 곡선

3️⃣ spring() 헬퍼 (탄성 애니메이션)

스프링 시뮬레이션으로 자연스러운 바운스 효과. 기본값은 0 → 1:

import { spring, useCurrentFrame, useVideoConfig } from "remotion";

export const MyVideo = () => {
  const frame = useCurrentFrame();
  const { fps } = useVideoConfig();

  const scale = spring({ fps, frame });

  return (
    <div style={{ flex: 1, textAlign: "center", fontSize: "7em" }}>
      <div style={{ transform: `scale(${scale})` }}>Hello World!</div>
    </div>
  );
};

기본 설정은 약간의 오버슈트(튕김)가 있다. config 옵션으로 댐핑·강도 등을 조정할 수 있다:

spring({ fps, frame, config: { damping: 200 } })  // 덜 튕김

⚠️ 꼭 useCurrentFrame()으로 구동할 것

CSS transition처럼 useCurrentFrame 기반이 아닌 애니메이션은 렌더링 시 깜빡임(flickering)을 일으킬 수 있다. 항상 useCurrentFrame()interpolate() 또는 spring() 패턴을 따른다.

자세한 원리: How Remotion's rendering works


📚 영역 구분

  • 컴포넌트 재사용: Remotion Reuse Components
  • 트랜지션: Remotion 비주얼 & 미디어 → Transitions
  • 한글 hub: Remotion 시작하기

상위 문서: ← Remotion 시작하기 출처: Remotion 공식 문서 — Animating properties 한글화 (2026-07-29) 공급사: Remotion AG

변경 이력

날짜변경
2026-07-29초판 작성 (공식 Animating properties 가이드 한글화)
2026-07-29메타데이터 블록을 본문 하단으로 이동

댓글

아직 댓글이 없습니다.

댓글을 작성하려면 로그인이 필요합니다.