共建共享三维可视化生态,欢迎开发者贡献代码、分享案例
基于 Three.js 和 Cesium 开发的开源实例,无坑代码,完全免费
基于Three.js的三维可视化核心引擎,支持多格式模型加载
ThreeLab 配套的可视化模型编辑器,支持在线编辑
基于ThreeLab的三维巡检系统完整示例,可直接二次开发
从入门到精通,全面掌握 Three.js、ThreeMap 引擎及 Cesium/GIS 相关技术
Three.js 是一款强大的 WebGL 3D 引擎,ThreeMap 基于其深度扩展,以下是 Three.js 基础入门教程。
通过 CDN 或 npm 引入 Three.js:
<!-- CDN 引入 -->
<script src="./js/three.min.js"></script>
<!-- npm 安装 -->
npm install three --save
初始化场景、相机与渲染器,并添加立方体:
// 初始化场景
const scene = new THREE.Scene();
// 初始化相机
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
camera.position.z = 5;
// 初始化渲染器
const renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
// 添加立方体
const geometry = new THREE.BoxGeometry(2, 2, 2);
const material = new THREE.MeshPhongMaterial({ color: 0x165DFF });
const cube = new THREE.Mesh(geometry, material);
scene.add(cube);
// 添加光照
const light = new THREE.DirectionalLight(0xffffff, 1);
light.position.set(5, 5, 5);
scene.add(light);
// 动画循环
function animate() {
requestAnimationFrame(animate);
cube.rotation.x += 0.01;
cube.rotation.y += 0.01;
renderer.render(scene, camera);
}
animate();
基于ThreeLab打造的垂直行业解决方案,快速落地三维数字化项目