three实现三维地形波浪动画效果代码
代码语言:html
所属分类:三维
代码描述:three实现三维地形波浪动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> @import url("https://fonts.googleapis.com/css2?family=Lato&display=swap"); * { margin: 0; padding: 0; box-sizing: border-box; } *::before, *::after { box-sizing: border-box; } html, body { overscroll-behavior-x: none; overscroll-behavior-y: none; scroll-behavior: smooth; } body { font-family: "Lato", sans-serif; position: relative; width: 100%; max-width: 100vw; height: auto; min-height: 100vh; text-align: center; overflow-x: hidden; background: rgb(222, 191, 244); background: linear-gradient( 213deg, rgba(222, 191, 244, 1) 0%, rgba(255, 178, 178, 1) 50%, rgba(255, 215, 158, 1) 100% ); color: gray; } canvas { -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; user-select: none; position: fixed; width: 100%; max-width: 100vw; height: auto; min-height: 100vh; top: 0; left: 0; z-index: 0; } main { position: relative; } section { position: relative; width: 100vw; min-height: 100vh; display: grid; place-items: center; } </style> </head> <body translate="no"> <!-- Thick Terrain #3 animation * animation * simplexNoise 3D使用 --> <!-- using three.js --> <main> <section> <div> <h1>wip</h1> <p>Loading...</p> </div> </section> </main> <script async src="https://ga.jspm.io/npm:es-module-shims@1.6.3/dist/es-module-shims.js" crossorigin="anonymous"></script> <script type="importmap"> { "imports": { "three": "https://unpkg.com/three@0.168.0/build/three.module.js", "three/addons/": "https://unpkg.com/three@0.168.0/examples/jsm/" } } </script> <script type="module"> /*! Thick Terrain #3 animation * animation * simplexNoise 3D使用 */ "use strict"; console.clear(); import * as THREE from "three"; import { OrbitControls } from "three/addons/controls/OrbitControls.js"; //import * as BufferGeometryUtils from "three/addons/utils/BufferGeometryUtils.js"; import { SimplexNoise } from "three/addons/math/SimplexNoise"; import { Timer } from "three/addons/misc/Timer.js"; (function () { let camera, scene, renderer, controls; let geometry, material, mesh; // perlin noise const noise = new SimplexNoise(); const noiseScale = 0.3; // ノイズのスケール const noiseHeight = 1; // 高さの影響度 // animation let anim_position; const timer = new Timer(); init(); obj(); function obj() { // // **パラメータ設定** const width = 10; const height = 10; const bottomHeight = -3; // or 0 底面のy値 const segments = 50; const gridSiz.........完整代码请登录后点击上方下载按钮下载查看
网友评论0