Three.js入門

Three.js封裝了底層的圖形接口思劳,使得我們能夠在無(wú)需掌握繁冗的圖形學(xué)知識(shí)的情況下,也能用簡(jiǎn)單的代碼實(shí)現(xiàn)三維場(chǎng)景的渲染妨猩。

準(zhǔn)備

開發(fā)之前先下載Three.js或者Three.min.js潜叛,然后在頁(yè)面上添加標(biāo)簽

<script src="/js/three.js" ></script>

Hello World

使用Three.js要分為五個(gè)步驟:

  1. 設(shè)置渲染器(render)
  2. 設(shè)置場(chǎng)景(scene)
  3. 設(shè)置攝像機(jī)(camera)
  4. 設(shè)置光源(light)
  5. 設(shè)置物體(object)
渲染器

三維空間里的物體映射到二維平面的過(guò)程被稱為三維渲染。 一般來(lái)說(shuō)我們都把進(jìn)行渲染操作的軟件叫做渲染器。

var renderer = new THREE.WebGLRenderer({
        canvas: document.getElementById('canvas')//這個(gè)是渲染所用的canvas標(biāo)簽
});
renderer.setClearColor(0x000000);//背景
場(chǎng)景(scene)
var scene = new THREE.Scene();

攝像機(jī)(camera)

OpenGL(WebGL)中威兜、三維空間中的物體投影到二維空間的方式中销斟,存在透視投影和正投影兩種相機(jī)。

var camera = new THREE.PerspectiveCamera(45, 4 / 3, 1, 1000);
camera.position.set(0, 0, 5);
scene.add(camera);//將攝像機(jī)放入場(chǎng)景中
光源(light)

OpenGL(WebGL)的三維空間中椒舵,存在點(diǎn)光源和聚光燈兩種類型蚂踊。

var light = new THREE.DirectionalLight(0xff0000, 1.0, 0);//設(shè)置平行光源
light.position.set( 200, 200, 200 );//設(shè)置光源向量
scene.add(light);// 追加光源到場(chǎng)景
物體(object)
//聲明一個(gè)正方形
var cube = new THREE.Mesh(new THREE.CubeGeometry(1, 1, 1),
        new THREE.MeshBasicMaterial({
              color: 0xff0000
       })
);
scene.add(cube);
渲染(render)
renderer.render(scene, camera);

把上面的代碼全部合并到一個(gè)頁(yè)面上就是一個(gè)最簡(jiǎn)單的demo。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末笔宿,一起剝皮案震驚了整個(gè)濱河市犁钟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌泼橘,老刑警劉巖涝动,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異炬灭,居然都是意外死亡醋粟,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門重归,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)米愿,“玉大人,你說(shuō)我怎么就攤上這事鼻吮÷鸹酰” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵狈网,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我笨腥,道長(zhǎng)拓哺,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任脖母,我火速辦了婚禮士鸥,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘谆级。我一直安慰自己烤礁,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開白布肥照。 她就那樣靜靜地躺著脚仔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪舆绎。 梳的紋絲不亂的頭發(fā)上鲤脏,一...
    開封第一講書人閱讀 49,071評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼猎醇。 笑死窥突,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的硫嘶。 我是一名探鬼主播阻问,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼沦疾!你這毒婦竟也來(lái)了称近?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤曹鸠,失蹤者是張志新(化名)和其女友劉穎煌茬,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體彻桃,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡坛善,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了邻眷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片眠屎。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖肆饶,靈堂內(nèi)的尸體忽然破棺而出改衩,到底是詐尸還是另有隱情,我是刑警寧澤驯镊,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布葫督,位于F島的核電站,受9級(jí)特大地震影響板惑,放射性物質(zhì)發(fā)生泄漏橄镜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一冯乘、第九天 我趴在偏房一處隱蔽的房頂上張望洽胶。 院中可真熱鬧,春花似錦裆馒、人聲如沸姊氓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)翔横。三九已至,卻和暖如春梗搅,著一層夾襖步出監(jiān)牢的瞬間棕孙,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蟀俊,地道東北人钦铺。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像肢预,于是被迫代替她去往敵國(guó)和親矛洞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 本文主要是講解 Three.js 的相關(guān)概念烫映,幫助大家對(duì) Three.js 以及相關(guān)知識(shí)形成比較完整的理解沼本。今年來(lái)...
    Simon王小白閱讀 8,435評(píng)論 2 9
  • webGL的3D世界主要由三大要素構(gòu)成:場(chǎng)景(scene)、相機(jī)(camera)和渲染器(renderer)锭沟,三者...
    YomonAh閱讀 2,795評(píng)論 0 1
  • 談?wù)搕hree.js之前我們需要了解一下WebGL...先自問(wèn)自答一下 1:什么是WebGL ? webGL是基于...
    Yura555閱讀 857評(píng)論 0 1
  • three.js是JavaScript編寫的WebGL第三方庫(kù)抽兆。提供了非常多的3D顯示功能。Three.js 是一...
    簡(jiǎn)聆壹閱讀 4,971評(píng)論 1 13
  • 1族淮、準(zhǔn)備開發(fā)環(huán)境 2辫红、創(chuàng)建一個(gè)場(chǎng)景 在Three.js中,要渲染物體到網(wǎng)頁(yè)中祝辣,我們需要3個(gè)組建:場(chǎng)景(scene)...
    簡(jiǎn)聆壹閱讀 6,991評(píng)論 0 5