three实现三维小兔子月球上插旗子飘动动画效果代码
代码语言:html
所属分类:三维
代码描述:three实现三维小兔子月球上插旗子飘动动画效果代码
代码标签: three 三维 小兔子 月球 插 旗子 飘动 动画
下面为部分代码预览,完整代码请点击下载或在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 {
background: black;
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;
background: black;
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>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/es-module-shims.1.6.2.js"></script>
<script type="importmap">
{
"imports": {
"three": "//repo.bfw.wiki/bfwrepo/js/module/three/build/159/three.module.js",
"three/addons/": "//repo.bfw.wiki/bfwrepo/js/module/three/examples/159/jsm/"
}
}
</script>
<!-- partial -->
<script type="module" >
"use strict";
import * as THREE from "three";
import { OrbitControls as e } from "three/addons/controls/OrbitControls.js";
import * as BufferGeometryUtils from "three/addons/utils/BufferGeometryUtils.js";
import { ParametricGeometry as t } from "three/addons/geometries/ParametricGeometry.js";
import { ParametricGeometries as o } from "three/addons/geometries/ParametricGeometries.js";
!(function () {
function s(e, t, o) {
H.subVectors(t.position, e.position);
const s = H.length();
if (0 === s) return;
const n = H.multiplyScalar(1 - o / s).multiplyScalar(0.5);
e.position.add(n), t.position.sub(n);
}
function n() {
(b.aspect = window.innerWidth / window.innerHeight),
b.updateProjectionMatrix(),
g.setSize(window.innerWidth, window.innerHeight);
}
function i(e) {
requestAnimationFrame(i),
(function (e) {
T.set(100, 0, Math.sin(e / 1e3)), T.normalize(), T.multiplyScalar(300);
const t = y.particles;
if (a.enableWind) {
let e;
const o = new THREE.Vector3(),
s = G.index,
n = G.attributes.normal;
for (let i = 0, a = s.count; i < a; i += 3)
for (let a = 0; a < 3; a++)
(e = s.getX(i +.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0