threejs打造一款呼吸跳动的三维心脏爱心动画效果代码
代码语言:html
所属分类:三维
代码描述:threejs打造一款呼吸跳动的三维心脏爱心动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> body { background: #000; overflow: hidden; margin: 0; } </style> </head> <body > <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/three.126.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/MeshSurfaceSampler.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/TrackballControls.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/simplex-noise.min.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/OBJLoader.min.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/gsap.3.5.2.js"></script> <script > console.clear(); const scene = new THREE.Scene(); const camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 ); const renderer = new THREE.WebGLRenderer({ antialias: true }); renderer.setClearColor(0xff5555); renderer.setSize(window.innerWidth, window.innerHeight); document.body.appendChild(renderer.domElement); camera.position.z = 1; const controls = new THREE.TrackballControls(camera, renderer.domElement); controls.noPan = true; controls.maxDistance = 3; controls.minDistance = 0.7; const group = new THREE.Group(); scene.add(group); let heart = null; let sampler = null; let originHeart = null; new THREE.OBJLoader().load('//repo.bfw.wiki/bfwrepo/threemodel/heart_2.obj',obj => { heart = obj.children[0]; heart.geometry.rotateX(-Math.PI * 0.5); heart.geometry.scale(0.04, 0.04, 0.04); heart.geometry.translate(0, -0.4, 0); group.add(heart); heart.material = new THREE.MeshBasicMaterial({ color: 0xff5555 }); originHeart = Array.from(heart.geometry.attributes.position.array); sampler = new THREE.MeshSurfaceSampler(heart).build(); init(); renderer.setAnimationLoop(render); }); let positions = []; const geometry = new THREE.BufferGeometry(); const ma.........完整代码请登录后点击上方下载按钮下载查看
网友评论0