W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
多細(xì)節(jié)層次 —— 在顯示網(wǎng)格時(shí),根據(jù)攝像機(jī)距離物體的距離,來(lái)使用更多或者更少的幾何體來(lái)對(duì)其進(jìn)行顯示。
每一個(gè)級(jí)別都和一個(gè)幾何體相關(guān)聯(lián),且在渲染時(shí),可以根據(jù)給定的距離,來(lái)在這些級(jí)別對(duì)應(yīng)的幾何體之間進(jìn)行切換。 通常情況下,你會(huì)創(chuàng)建多個(gè)幾何體,比如說(shuō)三個(gè),一個(gè)距離很遠(yuǎn)(低細(xì)節(jié)),一個(gè)距離適中(中等細(xì)節(jié)),還有一個(gè)距離非常近(高質(zhì)量)。
const lod = new THREE.LOD();
//Create spheres with 3 levels of detail and create new LOD levels for them
for( let i = 0; i < 3; i++ ) {
const geometry = new THREE.IcosahedronGeometry( 10, 3 - i )
const mesh = new THREE.Mesh( geometry, material );
lod.addLevel( mesh, i * 75 );
}
scene.add( lod );
創(chuàng)建一個(gè)新的 LOD.
共有屬性請(qǐng)參見(jiàn)其基類(lèi)Object3D。
LOD 對(duì)象是否由渲染器每幀自動(dòng)更新。如果設(shè)置為 false,您必須自己在渲染循環(huán)中調(diào)用 LOD.update()。默認(rèn)為真。
用于檢查給定對(duì)象是否為 LOD 類(lèi)型的只讀標(biāo)志。
一個(gè)包含有l(wèi)evel objects(各層次物體)的數(shù)組。
每一個(gè)層級(jí)都是一個(gè)對(duì)象,具有以下兩個(gè)屬性: object —— 在這個(gè)層次中將要顯示的Object3D。
distance —— 將顯示這一細(xì)節(jié)層次的距離。
hysteresis —— Threshold used to avoid flickering at LOD boundaries, as a fraction of distance.
共有方法請(qǐng)參見(jiàn)其基類(lèi)Object3D。
object —— 在這個(gè)層次中將要顯示的Object3D。
distance —— 將顯示這一細(xì)節(jié)層次的距離。
hysteresis —— Threshold used to avoid flickering at LOD boundaries, as a fraction of distance. Default 0.0.
添加在一定距離和更大范圍內(nèi)顯示的網(wǎng)格。通常來(lái)說(shuō),距離越遠(yuǎn),網(wǎng)格中的細(xì)節(jié)就越少。
返回一個(gè)LOD對(duì)象及其所關(guān)聯(lián)的在特定距離中的物體。
Get the currently active LOD level. As index of the levels array.
獲得第一個(gè)比distance大的Object3D(網(wǎng)格)的引用。
在一條投射出去的Ray(射線)和這個(gè)LOD之間獲得交互。 Raycaster.intersectObject將會(huì)調(diào)用這個(gè)方法。
使用這個(gè)方法,為L(zhǎng)OD對(duì)象中的每個(gè)細(xì)節(jié)層次創(chuàng)建一個(gè)JSON結(jié)構(gòu)。
基于每個(gè)level中的object和camera(攝像機(jī))之間的距離,來(lái)設(shè)置其可見(jiàn)性。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: