빛 가닥

Strands

여러 색의 그라디언트가 흐르는 빛의 리본을 만듭니다.

다른 이름: StrandsLight strandsFlowing ribbons

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

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

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

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

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

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

export default function ShaderEffect() {
  return (
    <Shader style={{ width: '100%', height: '320px' }} disableTelemetry>
      <Strands />
    </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: 'Strands',
    }
  ]
}, { disableTelemetry: true })

속성(props) · Strands

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

이름값기본값범위·선택지설명(원문)
speedSpeed0.50 – 2 (step 0.1)Overall animation speed
amplitudeAmplitude20 – 5 (step 0.1)How far the strands wave away from their resting line
frequencyFrequency0.30 – 5 (step 0.1)How many waves run along each strand
lineCountStrand Count81 – 16 (step 1)Number of strands
lineWidthStrand Width0.050 – 1 (step 0.05)Thickness of each strand’s solid core
softnessStrand Softness0.050 – 1 (step 0.05)Softness of each strand’s edge (0 is crisp, higher is feathered)
spreadSpread0.20 – 1 (step 0.05)How far the strands fan out across the field
pinEdgesPin Edgesfalse—Pin the strands so they converge to the start and end points
stopsColors코드에서 지정[{"color":"#00e5ff","position":0},{"color":"#5b8cff","pos…—Multi-stop gradient colors (overrides Color A / Color B when set)
colorSpaceColor Spaceoklablinear · oklch · oklab · hsl · hsv · lchColor space used to blend the gradient
colorScaleColor Scale11 – 6 (step 1)How many times the gradient repeats along the strands
colorVarianceColor Variance10 – 1 (step 0.05)At 0 every strand shares the same color; at 1 the strands spread across the full gradient
colorSpeedColor Speed10 – 2 (step 0.05)Speed at which the colors flow along the strands (loops)
startStart
x0y0.5
{"x":0,"y":0.5}x, y: 0 – 1Starting point of the strands
endEnd
x1y0.5
{"x":1,"y":0.5}x, y: 0 – 1Ending point of the strands

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

바람에 흔들리는 가느다란 리본 여러 줄이 화면을 가로지르며, 색이 각 가닥을 따라 흐르는 모습입니다.

`lineCount`(1~16)는 가닥 수, `amplitude`(0~5)는 흔들리는 폭, `frequency`(0~5)는 가닥마다 생기는 굴곡 수를 바꿉니다. `spread`(0~1)는 가닥이 퍼지는 범위, `colorSpeed`(0~2)는 색이 흐르는 속도를 조절합니다.

독립적으로 그려지는 생성 레이어입니다. 어두운 바탕이나 단순한 그라디언트 위에 두면 리본이 잘 드러나고, `lineCount`와 색 움직임을 과하게 높이면 다른 콘텐츠와 시선이 경쟁할 수 있습니다.

언제 쓰나

흐르는 빛이 필요한 히어로, 음악·미디어 배경, 부드러운 움직임의 구분선에 잘 맞습니다. 작은 글이나 수치가 많은 화면의 전경 효과로는 피하세요.

페이지로 열기 ↗