모션 블러로 속도감을 내다

스피드감을 내는 실장을 하려면, 블러를 사용하면 보다 스피디하게 보입니다.
여러가지 조사해 재미 있었으므로 자신용 정리입니다.

【통상 모션】



【블러를 붙인 모션】


【참고 사이트】
htps //w w. 오, ct. jp /에서 ぇぉぺr / 르포 rt-13578. HTML

상기 참고 사이트로부터 빌린 「빠른」의 움직임은, 중간에 흐림 가공을 넣는 것으로, 통상보다 스피드를 내고 있다고 하는 재미있는 수법입니다.


그렇다면 사용하는 이미지를 늘리는 것 외에이 모션 블러를 구현하는 방법이 있습니까?

CSS에서 모션 블러를 구현하려면



불행히도 현재 CSS에서 모션 블러는 지원되지 않습니다.
그러므로 힘쓰기로 실장하게 됩니다.

【참고 사이트】
htps : // cs-t cks. 코 m / HO W-C-Re-A-Re-A-s-C-Mochion-b-r-u-th-c-s 란시 치온 s /
이 사이트에서 소개한 것처럼,
움직임의 중간 상태의 것을 복제해 버릴 수 있다는 것입니다.
이렇게하면 움직임의 속도에 비례하여 필요한 복제 수가 변경되지만 경우에 따라 32 개의 복제본을 준비해야합니다 ...

참고 사이트의 샘플 그대로 배차

See the Pen Motion Blur Step 2 by Neale Van Fleet ( @Nealevf )
on CodePen .

매우 엄청 그렇습니다만, 확실히 모션 블러와 같은 움직임이 되고 있습니다. 대단해.



SVG에서 모션 블러를 구현하려면



[참고 사이트]

htp://tym 파누 s. 네 t/코 d로 ps/2015/04/08/모치온-bぅr-에후ぇctsvg/
stdDeviation 를 사용하여 수평/수직 방향으로 흐림을 적용할 수 있습니다.

이것을 JS를 이용해 동적으로 조작하는 것으로, 역동감 있는 블러를 실장할 수가 있습니다.



// エフェクトをかけたい要素を選択
var $element=$(".selector");
// 変化を取れるよう現在のpositionを取得
var lastPos=$element.offset();
// エフェクトの強さをコントロールするために倍率を設定する
var multiplier=0.25;

// 簡単にblurを設定するためのヘルパ関数
function setBlur(x,y){
    blurFilter.setAttribute("stdDeviation",x+","+y);    
}

(function updateMotionBlur(){
    // 要素の現在のpositionを取得
    var currentPos=$element.offset();
        // 前フレームからの変更を計算し、乗数を適応
    // calculate the changes from the last frame and apply the multiplier
    var xDiff=Math.abs(currentPos.left-lastPos.left)*multiplier;
    var yDiff=Math.abs(currentPos.top-lastPos.top)*multiplier;

    // set the blur
    setBlur(xDiff,yDiff);

    // 次のフレームのために現在のポジションを保存
    lastPos=currentPos;

    // 次のフレームを呼ぶ
    requestAnimationFrame(updateMotionBlur);
})();


위 참조 사이트에서 샘플



Blur_modal


좋은 웹페이지 즐겨찾기