three实现鲜花跳舞动画效果代码

代码语言:html

所属分类:动画

代码描述:three实现鲜花跳舞动画效果代码

代码标签: thre 鲜花 跳舞 动画

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

 
<html lang="en">
 
<head>
   
<meta charset="UTF-8">
   
<meta name="viewport" content="width=device-width, initial-scale=1.0">

   
<style>
      body
{ margin: 0; overflow: hidden; user-select: none;}
      canvas
{ display: block; }
     
#play-pause-btn {
       
position: absolute;
       
top: 10px;
       
right: 10px;
       
padding: 10px 20px;
       
background-color: #fff;
       
border: 1px solid #ccc;
       
cursor: pointer;
     
}
   
</style>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/dat.gui-min.js"></script>
 
</head>
 
<body>
   
<script type="module">
      import * as THREE from 'https://cdn.skypack.dev/three@0.136.0/build/three.module.js';
      import { OrbitControls } from 'https://cdn.skypack.dev/three@0.136.0/examples/jsm/controls/OrbitControls.js';
      import { OBJLoader } from 'https://cdn.skypack.dev/three@0.136.0/examples/jsm/loaders/OBJLoader.js';
      import { EffectComposer } from 'https://cdn.skypack.dev/three@0.136.0/examples/jsm/postprocessing/EffectComposer.js';
      import { RenderPass } from 'https://cdn.skypack.dev/three@0.136.0/examples/jsm/postprocessing/RenderPass.js';
      import { UnrealBloomPass } from 'https://cdn.skypack.dev/three@0.136.0/examples/jsm/postprocessing/UnrealBloomPass.js';
      import { GlitchPass } from 'https://cdn.skypack.dev/three@0.136.0/examples/jsm/postprocessing/GlitchPass.js';
      import { ShaderPass } from 'https://cdn.skypack.dev/three@0.136.0/examples/jsm/postprocessing/ShaderPass.js';
      import { gsap } from 'https://cdn.skypack.dev/gsap@3.9.1';
      import anime from 'https://cdn.skypack.dev/animejs@3.2.1';

      const scene = new THREE.Scene();
      const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
      const renderer = new THREE.WebGLRenderer();
      renderer.setSize(window.innerWidth, window.innerHeight);
      document.body.appendChild(renderer.domElement);

      const controls = new OrbitControls(camera, renderer.domElement);
      controls.enableDamping = true;
      controls.dampingFactor = 0.5;
      controls.enableZoom = true;
      controls.minDistance = 10;
      controls.maxDistance = 50;

      const petalGeometry = new THREE.SphereGeometry(0.2, 16, 16, 0, Math.PI * 2, 0, Math.PI / 2);
      const petalMaterial = new THREE.MeshBasicMaterial({ color: 'red' });
      const flowers = [];
      for (let i = 0; i < 1000; i++) {
        const flower = new THREE.Group();
        for (let j = 0; j < 5; j++) {
          const petal = new THREE.Mesh(petalGeometry, petalMaterial);
          petal.position.set(
            Math.cos(j * Math.........完整代码请登录后点击上方下载按钮下载查看

网友评论0