낙하 광선

Falling Lines

진행 방향을 따라 앞쪽은 선명하고 뒤쪽은 흐려지는 선이 움직입니다.

다른 이름: FallingLinesFalling linesLight streaks

WebGPU 를 지원하는 브라우저에서 움직입니다

이 기기에서는 데모를 그리지 못해 정지 화면을 보여 줍니다

React
// WebGPU 를 지원하는 브라우저에서만 그립니다.
import { Shader, FallingLines } from 'shaders/react'

export default function ShaderEffect() {
  return (
    <Shader style={{ width: '100%', height: 320 }} disableTelemetry>
      <FallingLines />
    </Shader>
  )
}
Vue
<!-- WebGPU 를 지원하는 브라우저에서만 그립니다. -->
<script setup lang="ts">
import { Shader, FallingLines } from 'shaders/vue'
</script>

<template>
  <Shader style="width: 100%; height: 320px" :disable-telemetry="true">
    <FallingLines/>
  </Shader>
</template>
Svelte
<!-- WebGPU 를 지원하는 브라우저에서만 그립니다. -->
<script>
  import { Shader, FallingLines } from 'shaders/svelte'
</script>

<Shader style="width: 100%; height: 320px" disableTelemetry>
  <FallingLines />
</Shader>
Solid
// WebGPU 를 지원하는 브라우저에서만 그립니다.
import { Shader, FallingLines } from 'shaders/solid'

export default function ShaderEffect() {
  return (
    <Shader style={{ width: '100%', height: '320px' }} disableTelemetry>
      <FallingLines />
    </Shader>
  )
}
JavaScript
// WebGPU 를 지원하는 브라우저에서만 그립니다.
// <canvas id="canvas" style="width:100%;height:320px"></canvas> 가 페이지에 있어야 한다
import { createShader } from 'shaders/js'

const shader = await createShader(document.getElementById("canvas"), {
  components: [
    {
      type: 'FallingLines',
    }
  ]
}, { disableTelemetry: true })

속성(props) · FallingLines

값을 바꾸면 위 데모와 코드 탭에 바로 반영됩니다. 설명은 라이브러리 레지스트리의 영어 원문(MIT)입니다.

이름값기본값범위·선택지설명(원문)
colorALead Color#ffffff—Color at the leading edge of each line
colorBTrail Color#ffffff00—Color at the trailing edge (transparent by default)
colorSpaceColor Spacelinearlinear · oklch · oklab · hsl · hsv · lchColor space for interpolation between lead and trail colors
angleAngle900 – 360 (step 1)Direction of movement in degrees (90=down, 270=up, 0=right, 180=left)
speedSpeed0.50 – 3 (step 0.01)Movement speed
speedVarianceSpeed Variance0.30 – 1 (step 0.01)Per-line speed variance (0=uniform, 1=high variance)
densityDensity151 – 60 (step 1)Number of line columns across the canvas
trailLengthTrail Length0.350.01 – 1 (step 0.01)Streak length relative to spacing (0=point, 1=continuous)
balanceBalance0.50 – 1 (step 0.01)Color mix midpoint (0.5=linear, 0=all trailing/colorB, 1=all leading/colorA)
strokeWidthStroke Width0.150.02 – 1 (step 0.02)Line thickness as fraction of column width (0=hairline, 1=full width)
roundingRounding10 – 1 (step 0.01)Rounds the leading edge (0=flat/square, 1=fully rounded cap)

모든 컴포넌트 공통: blendMode · opacity · visible · maskSource/maskType · boundingBox · id

빗줄기나 데이터 스트림처럼 짧은 선들이 일정한 방향으로 흘러가고, 앞에서 뒤로 색이 희미해집니다.

`angle`(0~360)은 이동 방향을 정합니다. 90은 아래, 270은 위, 0은 오른쪽, 180은 왼쪽입니다. `speed`(0~3)는 이동 속도, `density`(1~60)는 화면의 선 열 개수, `trailLength`(0.01~1)는 각 선의 길이, `balance`(0~1)는 앞·뒤 색의 경계 위치를 바꿉니다.

입력 없이 그려지는 배경 레이어입니다. 어두운 면 위에서 방향을 단순하게 잡으면 흐름이 잘 읽힙니다. 선을 빽빽하게 깔면 텍스트와 경쟁하므로 밀도와 꼬리 길이를 함께 낮추세요.

언제 쓰나

비·눈·데이터 흐름을 연상시키는 배경, 방향성이 필요한 짧은 전환, 속도감을 주는 히어로에 쓸 수 있습니다. 중요한 글이나 정밀한 차트 위에 겹치는 용도로는 피하세요.

페이지로 열기 ↗