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