Skip to content
Framoo
Esc
↑↓navigate↵open⌘Jpreview
On this page

LyricCharacterUnderline

文字が現れるのに合わせて、下線を引きます。

import { AbsoluteFill, useVideoConfig } from 'remotion'
import { secondsToFrameRange } from 'framoo/core'
import { LyricsLayout, LyricCharacterUnderline } from 'framoo/lyrics'

export const LyricCharacterUnderlinePreview = () => {
  const { fps } = useVideoConfig()
  const lyricTiming = secondsToFrameRange(0.5, 5, fps)
  const framesForSeconds = (seconds: number) =>
    secondsToFrameRange(0, seconds, fps).durationInFrames

  return (
    <AbsoluteFill style={{ backgroundColor: '#17191f' }}>
      {/* 背景画像など */}
      <LyricsLayout>
        <LyricCharacterUnderline
          {...lyricTiming}
          position={{ x: 0.5, y: 0.76 }}
          anchor="center"
          size="base"
          motion={{
            durationInFrames: framesForSeconds(8 / 30),
            staggerInFrames: framesForSeconds(2 / 30),
            easing: 'ease-out',
          }}
        >
          ひとつずつ拾い集めた
        </LyricCharacterUnderline>
      </LyricsLayout>
    </AbsoluteFill>
  )
}

API Reference

Prop Type Default Description
children string — 表示する歌詞。
from number 0 表示を始めるフレーム。
durationInFrames number 未指定(コンポジション終端まで) タイムライン上で表示する長さ。フレーム単位。
name string LyricCharacterUnderline position Remotion Studioのタイムラインに表示するラベル。
position LyricPosition — 配置位置。{ x, y }の各値は0から1の割合。
anchor LyricAnchor center positionに合わせる歌詞側の基準点。
safeArea LyricSafeAreaMode respect respectはセーフエリア基準、ignoreは画面全体基準。
size LyricTypographySize base 文字サイズ。xs、sm、md、base、xl、2xl、4xl。
orientation LyricTextOrientation horizontal 文字方向。horizontalまたはvertical。
rotationDegrees number 0 歌詞全体の回転角度。角度を度単位で指定。
autoWrap boolean false 自動折り返しを有効にする。明示的な改行は常に維持。
motion LyricCharacterUnderlineMotion {} このパターン固有のアニメーション設定。下表を参照。

motion の設定

Prop Type Default Description
durationInFrames number 8 各文字の出現と下線描画の長さ。
staggerInFrames number 2 文字ごとの開始間隔。
delayInFrames number 0 最初の文字が始まるまでの待ち時間。
easing linear | ease-in | ease-out | ease-in-out ease-out 文字と下線の出現速度。

Was this page helpful?