three.js 基礎(chǔ)學習筆記

threeJs 是用來方便快捷創(chuàng)建 3D 視圖的庫国觉,內(nèi)部對 WebGL 的接口進行了封裝吧恃。使得編寫代碼的過程更加貼近常規(guī)思維。

基礎(chǔ) Api

1蛉加、創(chuàng)建畫布

如果要畫一幅畫蚜枢,首先需要的是一塊畫布:

var renderer = new THREE.WebGLRenderer({
    // 
    canvas: document.getElementById('main')
})
// 設置畫布的顏色
renderer.setClearColor('0x000000')

這樣就有了一塊畫布,可以用來承載我們的畫针饥。

2厂抽、創(chuàng)建場景

場景的概念和畫布很類似,場景內(nèi)放物體丁眼,場景放到畫布上筷凤。

var scene = new THREE.Scene()

之后創(chuàng)建的所有東西,都是放到場景內(nèi)苞七。

3藐守、創(chuàng)建照相機

場景是一個“黑盒子”,從外部看不到任何東西蹂风,所以需要使用“照相機”來觀察內(nèi)部的物體卢厂。

var camera = new THREE.PerspectiveCamera(45, 4/3, 1, 1000)

創(chuàng)建好了一個照相機,回憶起之前學過的物理惠啄,照相機都是由一個“點”開始以椎體的視線向外延伸慎恒。

照相機
照相機

照相機在創(chuàng)建好之后任内,就可以把照相機放到我們想要的地方:

camera.position.set(0, 0, 5)
坐標系與照相機

4、創(chuàng)建物體

var cube = new THREE.Mesh(new THREE.CubeGeometry(1, 1, 1), 
    new THREE.MeshBasicMaterial({
        color: 0xff0000,
        wireframe: true
    }) 
)

創(chuàng)建了一個長寬高均為 1 的正方體融柬,并且顏色為0xf0000并且是三維線框(wireframe: true)死嗦。

然后只要將這個正方體放到場景中,再把場景和照相機放到畫布上就可以了粒氧。

5越除、顯示

scene.add(cube)
// 重點在這一句,顯示場景與相機
renderer.render(scene, camera)

控制照相機

雖然照相機顯示出了我們的正方體外盯,但是由于是面對面摘盆,所以無法看出正方體的立體感,需要調(diào)整下照相機的位置门怪,讓照相機俯視或者仰視骡澈。

改變照相機位置

所以肯定要改變照相機的位置:

// 在 x 軸與 y 軸方向上都 + 1
camera.position.set(1, 1, 5)
改變照相機位置

從圖片上可以比較直觀看出移動的方向锅纺,僅僅是改變了在 x 和 y 軸上的距離掷空,沒有改變 z 軸距離,所以和改變距離前還是在同一個平面上囤锉。

聯(lián)系日常生活的經(jīng)驗坦弟,照相機到了這個位置,物體相對的就是等于往反方向移動官地。所以原來在正中央的正方體”移動“到了左下角酿傍。

改變照相機角度

camera.lookAt(new THREE.Vector3(0, 0, 0))

就可以將照相機的角度朝向原點。

改變照相機角度

控制物體

改變物體位置

初始化的物體都是在原點的驱入,所以需要將其重新設置位置赤炒,每個物體都有position屬性,通過改變該屬性的x亏较、y莺褒、z值就可以改變位置了,也可以調(diào)用position.set()傳入x, y, z進行改變雪情。

可能要注意的就是軸的方向遵岩。

物體材質(zhì)

材質(zhì)就是說這個物體是什么做的,金屬和布就有很大區(qū)別巡通。

如果不通過觸摸尘执,就需要借助”光“來將材質(zhì)進行區(qū)分,金屬有高光而布沒有宴凉。

參考

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末誊锭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子弥锄,更是在濱河造成了極大的恐慌丧靡,老刑警劉巖签孔,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異窘行,居然都是意外死亡饥追,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門罐盔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來但绕,“玉大人,你說我怎么就攤上這事惶看∧笏常” “怎么了?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵纬黎,是天一觀的道長幅骄。 經(jīng)常有香客問我,道長本今,這世上最難降的妖魔是什么拆座? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮冠息,結(jié)果婚禮上挪凑,老公的妹妹穿的比我還像新娘。我一直安慰自己逛艰,他們只是感情好躏碳,可當我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著散怖,像睡著了一般菇绵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上镇眷,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天咬最,我揣著相機與錄音,去河邊找鬼偏灿。 笑死丹诀,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的翁垂。 我是一名探鬼主播铆遭,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼沿猜!你這毒婦竟也來了枚荣?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤啼肩,失蹤者是張志新(化名)和其女友劉穎橄妆,沒想到半個月后衙伶,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡害碾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年矢劲,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片慌随。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡芬沉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出阁猜,到底是詐尸還是另有隱情丸逸,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布剃袍,位于F島的核電站黄刚,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏民效。R本人自食惡果不足惜憔维,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望研铆。 院中可真熱鬧埋同,春花似錦、人聲如沸棵红。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽逆甜。三九已至,卻和暖如春致板,著一層夾襖步出監(jiān)牢的瞬間交煞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工斟或, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留素征,地道東北人。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓萝挤,卻偏偏與公主長得像御毅,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子怜珍,可洞房花燭夜當晚...
    茶點故事閱讀 45,675評論 2 359

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

  • 1端蛆、三大組建 在Three.js中,要渲染物體到網(wǎng)頁中酥泛,我們需要3個組建:場景(scene)今豆、相機(camera)...
    依依玖玥閱讀 635評論 0 0
  • 一嫌拣、三大組件 在Three.js中,要渲染物體到網(wǎng)頁中呆躲,我們需要3個組建:場景(scene)异逐、相機(camera)...
    kingder閱讀 1,711評論 0 5
  • 我的名字叫汪汪,是一個超級無敵可愛的美狗狗插掂,平時沒事干的時候出去曬曬太陽应役,遛遛主人,看看電視劇什么的燥筷,小日子過得有...
    天宮之晨閱讀 393評論 0 0
  • 夜 黑暗 不明朗 讓人謹慎 晨 陽光 很清晰 讓人放松 晨夜 交替 皆是規(guī)律 宇宙之天時 謹慎 放松 也是常態(tài) 人...
    孫道強閱讀 194評論 0 0
  • 各位評委箩祥、老師,大家好肆氓! 我是河北師大附中的李燕袍祖,今天說課的內(nèi)容是人教版新課標高中生物必修1第一章第一節(jié)《從生物圈...
    燕子不飛么閱讀 3,745評論 0 2