三维文字玻璃折射动画效果
代码语言:html
所属分类:三维
代码描述:三维文字玻璃折射动画效果
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> canvas { width: 100%; height: 100vh; display: block; cursor: -webkit-grab; cursor: grab; } canvas#map { width: 25vmin; height: 25vmin; display: block; position: fixed; top: 0; left: 0; cursor: unset; } </style> </head> <body translate="no"> <canvas id='map'>Err</canvas> <script type="text/javascript" src="http://repo.bfw.wiki/bfwrepo/js/gsap.3.3.1.js"></script> <script type="module"> import * as $ from '//unpkg.com/three@0.120.0/build/three.module.js'; import { OrbitControls } from '//unpkg.com/three@0.120.0/examples/jsm/controls/OrbitControls.js'; // ---- // Boot // ---- const renderer = new $.WebGLRenderer({ antialias: false }); const scene = new $.Scene(); const camera = new $.PerspectiveCamera(75, 2, 1, 2000); const controls = new OrbitControls(camera, renderer.domElement); window.addEventListener('resize', () => { const { clientWidth, clientHeight } = renderer.domElement; renderer.setPixelRatio(window.devicePixelRatio); renderer.setSize(clientWidth, clientHeight, false); camera.aspect = clientWidth / clientHeight; camera.updateProjectionMatrix(); }); document.body.prepend(renderer.domElement); window.dispatchEvent(new Event('resize')); renderer.setAnimationLoop(t => { renderer.render(scene, camera); controls.update(); }); // +----- // Canvas // -----+ const text = 'Err'; const canvas = document.querySelector('canvas#map'); canvas.width = canvas.height .........完整代码请登录后点击上方下载按钮下载查看
网友评论0