ThreeLab
ThreeLab
Three.js + Cesium 开源实例

three-cesium-examples
开源三维可视化案例库

基于 Three.js 和 Cesium 开发的开源实例,无坑代码,完全免费。包含丰富的三维可视化案例,从基础场景到复杂应用,为开发者提供完整的参考和学习资源。

2k+ Star
500+ 贡献者
Three.js Cesium JavaScript

教程文档

从入门到精通,全面掌握 Three.js、Cesium/GIS 相关技术及开源案例开发

Three.js 快速开始

Three.js 是一款强大的 WebGL 3D 引擎,以下是 Three.js 基础入门教程,帮助你快速上手三维可视化开发。

1 安装与引入

通过 CDN 或 npm 引入 Three.js:

<!-- CDN 引入 -->
<script src="./js/three.min.js"></script>

<!-- npm 安装 -->
npm install three --save

2 创建基础三维场景

初始化场景、相机与渲染器,并添加立方体:

// 初始化场景
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();

开源社区

共建共享三维可视化生态,以开源代码和技术文章为主,欢迎开发者贡献代码、分享案例

热门仓库

three-cesium-examples

2k

基于 Three.js 和 Cesium 开发的开源实例,无坑代码,完全免费

JavaScript 更新于 2026-03

TriLab 模拟伪代码实战

420

Web三维引擎可视化-引擎案例分析- 大厂可视化方案深度拆解

技术分析 更新于 2026-03

ThreeLab 核心引擎

850

基于Three.js的三维可视化核心引擎,支持多格式模型加载

JavaScript 更新于 2026-03

三维巡检系统示例

310

基于ThreeLab的三维巡检系统完整示例,可直接二次开发

React + Three.js 更新于 2026-01

最新讨论

如何在ThreeLab中加载超大模型并优化性能?

发布者:dev_three 12

三维巡检系统中如何实现路径规划功能?

发布者:inspect_dev 8

ThreeLab是否支持Cesium的地形数据?

发布者:gis_user 15

模型编辑器中如何自定义材质属性?

发布者:model_editor 6