필름 그레인

Film grain

움직이는 작은 밝고 어두운 입자를 얹어 화면에 필름 질감을 더합니다.

다른 이름: Grain
···
html
<div class="compare">
  <div class="panel clean">
    <div class="landscape"><i class="sun"></i><i class="hill back"></i><i class="hill front"></i></div>
    <span class="tag">CLEAN</span>
  </div>
  <div class="panel grainy">
    <div class="landscape"><i class="sun"></i><i class="hill back"></i><i class="hill front"></i></div>
    <span class="tag">FINE GRAIN</span>
    <svg class="grain" viewBox="0 0 100 100" preserveAspectRatio="none" aria-hidden="true">
      <filter id="grain-noise" x="0" y="0" width="100%" height="100%">
        <feTurbulence type="fractalNoise" baseFrequency=".82" numOctaves="1" seed="3" stitchTiles="stitch">
          <animate attributeName="seed" values="3;7;2;9;4;8" dur=".36s" repeatCount="indefinite" />
        </feTurbulence>
        <feColorMatrix type="saturate" values="0" />
        <feComponentTransfer>
          <feFuncR type="linear" slope="3.2" intercept="-1.05" />
          <feFuncG type="linear" slope="3.2" intercept="-1.05" />
          <feFuncB type="linear" slope="3.2" intercept="-1.05" />
        </feComponentTransfer>
      </filter>
      <rect width="100" height="100" filter="url(#grain-noise)" />
    </svg>
  </div>
  <i class="divider"></i>
</div>
css
.compare{position:absolute;inset:0;overflow:hidden;background:var(--bg)}
.panel{position:absolute;top:0;bottom:0;width:50%;overflow:hidden}
.clean{left:0}.grainy{right:0}
.landscape{position:absolute;inset:0;overflow:hidden;background:linear-gradient(180deg,#8ebdc0 0%,#d3d5b2 56%,#e8b778 100%)}
.sun{position:absolute;right:17%;top:18%;width:clamp(28px,15vmin,94px);aspect-ratio:1;border-radius:50%;background:#ffe5a8;box-shadow:0 0 28px rgba(255,224,159,.35)}
.hill{position:absolute;left:-14%;right:-14%;bottom:-28%;height:68%;border-radius:50% 50% 0 0}
.back{background:#63897b;transform:rotate(5deg) translateY(-12%)}
.front{background:#3d6759;transform:rotate(-4deg)}
.tag{position:absolute;z-index:3;top:7%;left:8%;color:#fff8e8;font:700 clamp(8px,2.8vmin,13px)/1.1 ui-monospace,monospace;letter-spacing:.08em;text-shadow:0 1px 5px rgba(0,0,0,.55);white-space:nowrap}
.grain{position:absolute;inset:0;width:100%;height:100%;opacity:.2;mix-blend-mode:soft-light;pointer-events:none}
.divider{position:absolute;z-index:4;left:50%;top:0;bottom:0;width:1px;background:var(--surface);box-shadow:0 0 0 1px rgba(36,31,25,.2)}

깨끗한 그림 위에 고운 모래알이 아주 얇게 움직이는 듯 보입니다. 장면을 바꾸기보다 표면에 미세한 질감을 더하는 마감입니다.

편집기에서 그레인 오버레이를 얹거나 노이즈 레이어를 만들고, 크기와 불투명도, 혼합 방식을 조절합니다. 웹에서는 작은 노이즈 텍스처를 장면 위에 놓고 시드나 위치를 바꿔 입자가 움직이게 할 수 있습니다.

먼지·스크래치처럼 큰 흠집을 넣는 효과와는 다릅니다. 입자가 크거나 대비가 높으면 화면이 지저분하고 글자가 읽기 어려워지므로, 미세하고 고르게 보일 정도로만 더하세요.

언제 쓰나

너무 매끈한 화면에 은은한 질감을 더하고 싶을 때 쓰세요. 작은 글자와 UI가 선명하게 읽히도록 입자 크기와 대비를 낮게 유지하세요.

페이지로 열기 ↗

항목 추가 요청

아틀라스에 없는 영상 용어·효과를 알려 주세요. 하나씩 살펴보고 추가합니다.