Three.js 入門示例
Three.js是基於原生WebGL封裝執行的三維引擎。
three.js是JavaScript編寫的WebGL第三方庫。提供了非常多的3D顯示功能。
Three.js 是一款執行在瀏覽器中的 3D 引擎,你可以用它建立各種三維場景,包括了攝影機、光影、材質等各種物件。
先做一個基本示例;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第一個three.js 示例</title>
<style>
body {
margin: 0;
overflow: hidden;
}
</style>
<script src="three.js-master/build/three.js"></script>
</head>
<body>
<script>
var scene = new THREE.Scene();
var geometry = new THREE.SphereGeometry(80, 60, 60); //建立一個球體幾何物件
var material = new THREE.MeshLambertMaterial({
color: 0x0000ff
}); //材質
var mesh = new THREE.Mesh(geometry, material); //網格模型物件
scene.add(mesh); //網格模型新增到場景中
//點光源
var point = new THREE.PointLight(0xffffff);
point.position.set(400, 200, 300); //點光源位置
scene.add(point); //點光源新增到場景中
/**
* 相機
*/
var width = window.innerWidth; //視窗寬度
var height = window.innerHeight; //視窗高度
var k = width / height; //視窗寬高比
var s = 200; //三維場景顯示範圍控制係數
//建立相機
var camera = new THREE.OrthographicCamera(-s * k, s * k, s, -s, 1, 1000);
camera.position.set(200, 300, 200); //相機位置
camera.lookAt(scene.position); //相機方向
/**
* 渲染器
*/
var renderer = new THREE.WebGLRenderer();
renderer.setSize(width*1/4, height*1/4);//設定渲染區域尺寸
renderer.setClearColor(0xffff00, 1); //設定背景顏色
document.body.appendChild(renderer.domElement); //body元素中插入canvas物件
//執行渲染操作 指定場景、相機作為引數
renderer.render(scene, camera);
</script>
</body>
</html>
執行之後效果如下;
下載three.js;目錄結構如下;包含下載的 three.js-master/build/three.js;即可使用;
程式碼大致分為以下幾個部分;
建立球體幾何物件,新增到場景物件;
場景中新增光源;
建立相機;三維物件是從相機中看到的;
建立渲染器執行渲染操作,以場景和相機為引數;
相關文章
- hibernate快速入門示例
- fold 命令入門示例教程
- Three.js入門篇之1 - WebGL on HTMLJSWebHTML
- Three.js學習1_快速入門JS
- Three.js入門-相機控制器JS
- Three.js入門-常見幾何體JS
- GraphQL 快速入門【5】GraphQL 示例
- Spark Streaming簡單入門(示例+原理)Spark
- 【帶著canvas去流浪(11)】Three.js入門學習筆記CanvasJS筆記
- 13 個示例快速入門 JS 抽象語法樹JS抽象語法樹
- WPF入門教程系列二十四——DataGrid使用示例(1)
- idea開發dubbo服務註冊到zookeeper入門示例Idea
- 社群內 Go 入門指南的學習,白話精簡示例。Go
- three.js入門 掉落的甜甜圈實戰 | 大帥老猿threejs特訓JS
- 入門入門入門 MySQL命名行MySql
- py模組匯入示例
- 何入CTF的“門”?——所謂入門就是入門
- 如何入CTF的“門”?——所謂入門就是入門
- 【計算機圖形學】入門Three.js,並搭建你的第一個3D場景計算機JS3D
- Three.js中載入和渲染3D TilesJS3D
- Demo示例——Bundle打包和載入
- scala 從入門到入門+
- makefile從入門到入門
- gRPC(二)入門:Protobuf入門RPC
- 【Three.js】Three.js學習記錄JS
- three.jsJS
- Three.js開發指南(10):載入和使用紋理JS
- 【小入門】react極簡入門React
- Android入門教程 | RecyclerView使用入門AndroidView
- hanlp 載入遠端詞庫示例HanLP
- FlinkSQL寫入Kafka/ES/MySQL示例-JAVAKafkaMySqlJava
- ONNX Runtime入門示例:在C#中使用ResNet50v2進行影像識別C#
- .NET Core(.NET 6)控制檯應用程式與MongoDB Atlas入門實戰示例教程詳解MongoDB
- 新手入門,webpack入門詳細教程Web
- Android入門教程 | Kotlin協程入門AndroidKotlin
- 《Flutter 入門經典》之“Flutter 入門 ”Flutter
- 使用three.js載入.obj格式的3d檔案JSOBJ3D
- three.js WebGLRenderTargetJSWeb