모핑 블롭

Blob

입체 조명과 그라디언트가 적용된 유기적인 블롭이 움직입니다.

다른 이름: BlobMorphing blobOrganic blob

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

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

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

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

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

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

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

속성(props) · Blob

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

이름값기본값범위·선택지설명(원문)
originOrigin코드에서 지정center—Reference edge the center position is measured from (center default). Lets you pin the shape relative to a corner or the canvas centre.
colorAColor A#ff6b35—Primary color of the blob
colorBColor B#e91e63—Secondary color of the blob
stopsColors코드에서 지정null—Multi-stop gradient colors (overrides Color A / Color B when set)
sizeSize0.50 – 2 (step 0.01)Size of the blob
deformationDeformation0.50 – 1 (step 0.1)How organic and blobby the shape is (0 = circle, 1 = very blobby)
softnessSoftness0.50 – 1 (step 0.1)Softness of the blob edges (combines edge width and transition curve)
highlightIntensityHighlight Intensity0.50 – 1 (step 0.1)Intensity of specular highlight effect
highlightXHighlight X0.3-1 – 1 (step 0.1)Light direction X component
highlightYHighlight Y-0.3-1 – 1 (step 0.1)Light direction Y component
highlightZHighlight Z0.4-1 – 1 (step 0.1)Light direction Z component
highlightColorHighlight Color#ffe11a—Color of the specular highlight
speedSpeed0.50 – 2 (step 0.1)Animation speed
seedSeed10 – 100 (step 1)Adjusts the starting state, useful for variation
centerCenter Position
x0.5y0.5
{"x":0.5,"y":0.5}x, y: 0 – 1The center point of the blob
colorSpaceColor Spacelinearlinear · oklch · oklab · hsl · hsv · lchColor space for color interpolation

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

젤리나 물방울처럼 경계가 둥글고 말랑한 덩어리가 천천히 형태를 바꿉니다. 표면에는 입체감을 주는 밝은 하이라이트가 생깁니다.

`size`(0~2)는 덩어리 크기, `deformation`(0~1)은 원에서 얼마나 유기적으로 벗어나는지 정합니다. `softness`(0~1)는 가장자리 전환을 부드럽게 하고, `highlightIntensity`(0~1)는 반짝이는 부분의 세기, `speed`(0~2)는 변형 속도를 조절합니다.

입력 이미지에 붙는 재질 효과가 아니라 블롭 자체를 그리는 레이어입니다. 단색이나 어두운 그라디언트 위에 두고 주변에 여백을 남기면 실루엣이 또렷합니다. 형태가 지나치게 부드러우면 아이콘이나 정밀한 도형을 대신하기 어렵습니다.

언제 쓰나

부드러운 브랜드 장식, 추상적인 히어로 배경, 유기적인 움직임이 필요한 빈 공간에 적합합니다. 정확한 아이콘·버튼 모양이나 글자 윤곽을 표현해야 할 때는 피하세요.

페이지로 열기 ↗