h5实现3d展示简单代码
以下是一个使用HTML和Three.js实现3D展示的简单示例代码:
<!DOCTYPE html> <html> <head> <title>3D展示</title> <style> body { margin: 0; overflow: hidden; background-color: #000; } </style> </head> <body> <script src="three.min.js"></script> <script> var scene = new THREE.Scene(); // 创建场景 var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000); // 创建相机 var renderer = new THREE.WebGLRenderer(); // 创建渲染器 renderer.setSize(window.innerWidth, window.innerHeight); // 设置渲染器大小 document.body.appendChild(renderer.domElement); // 将渲染器添加到文档中 var geometry = new THREE.BoxGeometry(1, 1, 1); // 创建立方体几何体 var material = new THREE.MeshBasicMaterial({ color: 0x00ff00 }); // 创建材质,设置颜色为绿色 var cube = new THREE.Mesh(geometry, material); // 创建立方体 scene.add(cube); // 将立方体添加到场景中 camera.position.z = 5; // 设置相机位置 function animate() { requestAnimationFrame(animate); // 请求下一帧动画 cube.rotation.x += 0.01; // 让立方体绕x轴旋转 cube.rotation.y += 0.01; // 让立方体绕y轴旋转 renderer.render(scene, camera); // 渲染场景和相机 } animate(); // 开始动画循环 </script> </body> </html>
<a href="https://dm.qunapu.com/daima/3dt/index.html">点击这里查看效果</a>
代码解释:
首先,我们需要在HTML文档中引入Three.js库,以便使用Three.js提供的各种功能。在<head>标签中,我们使用<style>标签定义了一些简单的样式,用于隐藏浏览器窗口的边栏和滚动条,并将背景色设置为黑色。在<body>标签中,我们使用<script>标签引入了Three.js库。
在JavaScript代码中,我们首先创建了一个场景(scene)、一个相机(camera)和一个渲染器(renderer)。其中,场景是三维场景的根节点,相机用于观察场景中的物体,渲染器用于将场景中的物体渲染成二维图像。
然后,我们使用renderer.setSize()方法设置渲染器的大小,使其与浏览器窗口的大小相同。接着,将渲染器的DOM元素添加到文档中。
接下来,我们创建了一个立方体几何体(geometry)和一个绿色材质(material),然后使用它们创建了一个立方体(cube)。最后,将立方体添加到场景中。
我们使用camera.position.z = 5语句将相机移动到距离场景中心5个单位的位置。这个位置可以根据需要进行调整。
在animate()函数中,我们使用requestAnimationFrame()方法请求下一帧动画。然后,让立方体绕x轴和y轴旋转一定的角度,并使用renderer.render()方法将场景和相机渲染成二维图像。这个函数会在每一帧动画中被调用,从而形成连续的动画效果。最后,我们调用animate()函数开始动画循环。
效果截图如下: