웹 페이지에서 움직이는 캐릭터의 애니메이션을 만드는 방법
개요
↓ 이런 느낌의 손으로 그린 애니메이션을 만드는 방법을 소개합니다.
얼른 구조를 설명하면 아래의 이미지 (문자)를 위에서 패스로 덮고, 그린 순서대로 패스를 숨기고 가는 것으로 손으로 그린 애니메이션처럼되어있다는 느낌입니다.
만드는 방법
1. 이미지 준비
2. SVG 준비
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 20.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="640px"
height="480px" viewBox="0 0 640 480" style="enable-background:new 0 0 640 480;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;stroke:#FF0000;stroke-width:30;stroke-miterlimit:10;}
</style>
<g id="レイヤー_1">
<image style="overflow:visible;" width="445" height="147" id="svgMov" xlink:href="svgMov.png" transform="matrix(1 0 0 1 97 149)"/>
</g>
<g id="レイヤー_2">
<path class="st0" d="M90,172.8c0,0,79.2,12.4,118.4-10"/>
<path class="st0" d="M90,209.2c0,0,100.2,7.3,132-12.2"/>
<path class="st0" d="M149.2,142c0,0,44.3,97.3,44.2,98s18.8,10.6-37.4,0"/>
<path class="st0" d="M116.1,234.1c0,0-40,57.2,86.2,46.6"/>
<path class="st0" d="M246.1,183.4c0,0,67.2,9,90.2-7.2"/>
<path class="st0" d="M305.9,139.9c0,0-23.3,101.9-55.6,122.5"/>
<path class="st0" d="M344.5,176.3c0,0,50.2,24.5,50.2,27.5"/>
<path class="st0" d="M344.5,197c0,0,8.8,86.3-8.2,85s-38.9,8.4-38.9-24s87.6,13.1,87.6,13.1"/>
<line class="st0" x1="432.3" y1="176.3" x2="537.9" y2="176.7"/>
<path class="st0" d="M441.4,227.9c0,0-18.1,52.8,33.2,50.5s73.1-6,73.1-6"/>
</g>
</svg>
경로 부분의 g 태그를
<mask id="id名" maskUnits="objectBoundingBox">
및 </mask>
로 바꿉니다.또한 id를 설정하고 CSS를 직접 씁니다. 이런 느낌↓
<mask id="masking" maskUnits="objectBoundingBox">
<path fill="none" stroke="#FF0000" stroke-width="30" stroke-miterlimit="10" d="M90,172.8c0,0,79.2,12.4,118.4-10"/>
<path fill="none" stroke="#FF0000" stroke-width="30" stroke-miterlimit="10" d="M90,209.2c0,0,100.2,7.3,132-12.2"/>
<path fill="none" stroke="#FF0000" stroke-width="30" stroke-miterlimit="10" d="M149.2,142c0,0,44.3,97.3,44.2,98s18.8,10.6-37.4,0"/>
<path fill="none" stroke="#FF0000" stroke-width="30" stroke-miterlimit="10" d="M116.1,234.1c0,0-40,57.2,86.2,46.6"/>
<path fill="none" stroke="#FF0000" stroke-width="30" stroke-miterlimit="10" d="M246.1,183.4c0,0,67.2,9,90.2-7.2"/>
<path fill="none" stroke="#FF0000" stroke-width="30" stroke-miterlimit="10" d="M305.9,139.9c0,0-23.3,101.9-55.6,122.5"/>
<path fill="none" stroke="#FF0000" stroke-width="30" stroke-miterlimit="10" d="M344.5,176.3c0,0,50.2,24.5,50.2,27.5"/>
<path fill="none" stroke="#FF0000" stroke-width="30" stroke-miterlimit="10" d="M344.5,197c0,0,8.8,86.3-8.2,85s-38.9,8.4-38.9-24s87.6,13.1,87.6,13.1"/>
<line fill="none" stroke="#FF0000" stroke-width="30" stroke-miterlimit="10" x1="432.3" y1="176.3" x2="537.9" y2="176.7"/>
<path fill="none" stroke="#FF0000" stroke-width="30" stroke-miterlimit="10" d="M441.4,227.9c0,0-18.1,52.8,33.2,50.5s73.1-6,73.1-6"/>
</mask>
그런 다음 이미지 부분의 g 태그를
<g mask="url(#さっきパス部分に設定したid)" fill="#お好みの色で(ここの色によって出力に影響が出ることはないです)">
같은 느낌으로 다시 써주세요.이제 SVG의 준비는 괜찮습니다.
3. 웹 페이지에 삽입
jQuery DrawSVG을 다운로드하고 jquery.drawsvg.js를 애니메이션을 채우는 웹 페이지의 폴더에 넣습니다.
var $svg = $('svg').drawsvg({
duration: 200,
easing: 'linear'
});
$svg.drawsvg('animate');
이것으로 완성입니다! 수고하셨습니다!
잘 못했다면...
만약 잘 안된다면 다음을 확인해 보세요.
대체로 이것으로 해결할 것입니다만, 안 된다면 포기합시다.
다시 시도하면 의외로 잘 가기도 합니다.
여담
「패스 당기거나 svg 괴롭히거나 순서 많아요!
이것은, svg 형식의 패스의 애니메이션을 드래그&드롭 하는 것만으로 간단하게 작성할 수 버리는 것입니다.
이번 소개한 것과 무엇이 다른가 하면, 이번 소개한 녀석은 패스로 마스크 한 순서대로 아래의 이미지가 표시되어 가는 것으로, 이쪽은 그린 패스가 그대로 움직인다는 것이 됩니다.
패스로 일러스트 그리는 장인(?)의 분에게는 이쪽이 좋을지도 모릅니다.
취향에 따라 구분해 보세요.
그럼 좋은 웹 디자이너 생활을 ~
참고로 한 페이지
Reference
이 문제에 관하여(웹 페이지에서 움직이는 캐릭터의 애니메이션을 만드는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/AsukaOkochi/items/a6b2fe8abda494755568텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)