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;即可使用;
程式碼大致分為以下幾個部分;
建立球體幾何物件,新增到場景物件;
場景中新增光源;
建立相機;三維物件是從相機中看到的;
建立渲染器執行渲染操作,以場景和相機為引數;
相關文章
- mongoDB 入門指南、示例MongoDB
- Three.js學習1_快速入門JS
- Three.js入門篇之1 - WebGL on HTMLJSWebHTML
- hibernate快速入門示例
- fold 命令入門示例教程
- akka入門-簡單示例
- GraphQL 快速入門【5】GraphQL 示例
- Java內部類入門示例Java
- 超簡單入門Vuex小示例Vue
- socket.io入門示例參考
- Java外掛開發入門示例Java
- Spark Streaming簡單入門(示例+原理)Spark
- PHP快速入門教程:WHILE迴圈示例PHPWhile
- 【帶著canvas去流浪(11)】Three.js入門學習筆記CanvasJS筆記
- Javascript 3D類庫three.js基礎入門介紹JavaScript3DJS
- 13 個示例快速入門 JS 抽象語法樹JS抽象語法樹
- Amazon DynamoDB 入門1: 配置(本地)及python示例Python
- 【MyBatis】3:MyBatis環境搭建及入門程式示例MyBatis
- 《Go輕鬆學》、《Go示例學》和《Go入門指南》Go
- WPF入門教程系列二十四——DataGrid使用示例(1)
- three.js入門 掉落的甜甜圈實戰 | 大帥老猿threejs特訓JS
- 社群內 Go 入門指南的學習,白話精簡示例。Go
- idea開發dubbo服務註冊到zookeeper入門示例Idea
- OUYA遊戲開發核心技術剖析OUYA遊戲入門示例——StarterKit遊戲開發
- thinkphp3.2.3入門示例2(URL傳引數的幾種方式)PHP
- 入門入門入門 MySQL命名行MySql
- py模組匯入示例
- Three.js中載入和渲染3D TilesJS3D
- 如何入CTF的“門”?——所謂入門就是入門
- 何入CTF的“門”?——所謂入門就是入門
- 【計算機圖形學】入門Three.js,並搭建你的第一個3D場景計算機JS3D
- 【Three.js】Three.js學習記錄JS
- scala 從入門到入門+
- makefile從入門到入門
- ACM入門之新手入門ACM
- three.jsJS
- Three.js開發指南(10):載入和使用紋理JS
- 【小入門】react極簡入門React