three+webgl实现鼠标互动鸟群粒子动画效果代码
代码语言:html
所属分类:粒子
代码描述:three+webgl实现鼠标互动鸟群粒子动画效果代码
代码标签: three webgl 鼠标 互动 鸟群 粒子 动画
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
@import url("https://fonts.googleapis.com/css2?family=Asap&display=swap");
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html,
body {
overscroll-behavior-x: none;
overscroll-behavior-y: none;
}
body {
font-family: "Asap", sans-serif;
position: relative;
width: 100vw;
min-height: 100vh;
text-align: center;
overflow-x: hidden;
color: white;
}
canvas {
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
user-select: none;
position: fixed;
width: 100vw;
height: 100vh;
top: 0;
left: 0;
z-index: 0;
}
main {
position: relative;
}
section {
position: relative;
width: 100vw;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
}
</style>
</head>
<body translate="no">
<main>
<section>
<div>
<h1>title</h1>
<p>contents</p>
</div>
</section>
</main>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/es-module-shims.1.6.3.js"></script>
<script type="importmap">
{
"imports": {
"three": "//repo.bfw.wiki/bfwrepo/js/module/three/build/162/three.module.js",
"three/addons/": "//repo.bfw.wiki/bfwrepo/js/module/three/examples/162/jsm/"
}
}
</script>
<!-- shader for bird's position -->
<script id="fragmentShaderPosition" type="x-shader/x-fragment">
uniform float time;
uniform float delta;
void main() {
vec2 uv = gl_FragCoord.xy / resolution.xy;
vec4 tmpPos = texture2D( texturePosition, uv );
vec3 position = tmpPos.xyz;
vec3 velocity = texture2D( textureVelocity, uv ).xyz;
float phase = tmpPos.w;
phase = mod( ( phase + delta +
length( velocity.xz ) * d.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0