前言
本文主要給大家介紹了關(guān)于Three.js場(chǎng)景對(duì)象的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧。
通過(guò)這一段時(shí)間的學(xué)習(xí),發(fā)現(xiàn)還沒(méi)有介紹過(guò)場(chǎng)景的基本組件。這一節(jié)就簡(jiǎn)單的介紹一下相關(guān)的內(nèi)容:
如果我們想讓物體顯示出來(lái),首先,我們需要有一個(gè)渲染器(new THREE.WebGLRenderer()
)來(lái)渲染模型和相機(jī)。
渲染的模型需要放到場(chǎng)景(THREE.Scene()
)對(duì)象中,場(chǎng)景對(duì)象就是專門(mén)放置模型等一系列組件的地方,必須有一個(gè)模型和一個(gè)光源才可以顯示出來(lái)模型。
最后需要使用調(diào)用實(shí)例化的渲染器的渲染方法將需要渲染的場(chǎng)景和相機(jī)傳入,才可以顯示出來(lái)。
如果需要查看在場(chǎng)景中放置的組件,可以打印一下
console.log(scene.children);
將返回一個(gè)由所有組件組成的組件數(shù)組。
向場(chǎng)景里面添加一個(gè)模型組件的方法將使用
scene.add(THREE.Object3D);
如果需要?jiǎng)h除一個(gè)添加到場(chǎng)景內(nèi)的組件,需要使用
scene.remove(THREE.Object3D);
遍歷scene場(chǎng)景內(nèi)的所有的子元素的方法:
scene.traverse(function(obj){console.log(obj)});
打印出來(lái)的將是場(chǎng)景的每個(gè)子元素。
如果組件設(shè)置了添加了id屬性或者name屬性,則我們可以通過(guò)以下方法從場(chǎng)景中獲取到目標(biāo)組件
scene.getObjectByName(name); scene.getObjectById(id);
有了上面的這些方法,我們就可以很方便的對(duì)場(chǎng)景內(nèi)的模型組件進(jìn)行操作。
總結(jié)
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com