three+vfx实现文字和图片像素扫描入场显示动画效果代码
代码语言:html
所属分类:动画
代码描述:three+vfx实现文字和图片像素扫描入场显示动画效果代码
代码标签: three vfx 文字 图片 像素 扫描 入场 显示 动画
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
html, body { height: 100%; margin: 0; }
body {
background: black;
text-align: center;
}
section {
padding: calc(50svh - 15svh) 0;
}
img {
height: 30svh;
}
img:first-child { margin-bottom: 30svh; }
img:last-child { margin-top: 30svh; }
h2 {
display:block;
color: white;
font-family: sans-serif;
font-size: 24svh;
margin: 8svw 0;
}
</style>
</head>
<body translate="no">
<section>
<img src="//repo.bfw.wiki/bfwrepo/image/5fc2f22ed8eda.png"
data-delay="0.3"/>
<h2>Hello.</h2>
<h2>New.</h2>
<h2>World.</h2>
<img src="//repo.bfw.wiki/bfwrepo/image/60cc697953133.png"
data-mode="2"
data-delay="0.3" />
</section>
<script type="module">
// Recreating Smertimba Graphics's Pixel Scan effect using VFX-JS
// https://www.youtube.com/watch?v=JFn2kK8GhUQ
import { VFX } from "//repo.bfw.wiki/bfwrepo/js/module/vfx-core.mjs";
const shader = `
precision highp float;
uniform sampler2D src;
uniform vec2 resolution;
uniform vec2 offset;
uniform float time;
uniform float enterTime;
uniform float leaveTime;
uniform int mode;
uniform float layers;
uniform float speed;
uniform float delay;
uniform float width;
#define W width
#define LAYERS layers
vec4 readTex(vec2 uv) {
if (uv.x < 0. || uv.x > 1. || uv.y < 0. || uv.y > 1.) {
return vec4(0);
}
return texture(src, uv);
}
float hash(vec2 p) {
return fract(sin(dot(p, vec2(4859., 3985.))) * 3984.);
}
vec3 hsv2rgb(vec3 c) {
vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
vec3 p = abs(fract(c.xxx + K.xyz) .........完整代码请登录后点击上方下载按钮下载查看
网友评论0