three.js SceneUtils

2023-02-16 17:51 更新

一個(gè)用于操控場(chǎng)景的實(shí)用類(lèi)。

方法

.createMeshesFromInstancedMesh ( instancedMesh : InstancedMesh ) : Group

instancedMesh -- 實(shí)例化網(wǎng)格。

為給定的實(shí)例化網(wǎng)格的每個(gè)實(shí)例,創(chuàng)建一個(gè)包含新網(wǎng)格的新物體組(Object Group)。

.createMeshesFromMultiMaterialMesh ( mesh : Mesh ) : Group

mesh -- 具有多種材質(zhì)的網(wǎng)格。

將給定的多材質(zhì)網(wǎng)格轉(zhuǎn)換為 Group 的實(shí)例,為每種材質(zhì)保留一個(gè)單獨(dú)的網(wǎng)格。

.createMultiMaterialObject ( geometry : BufferGeometry, materials : Array ) : Group

geometry -- 材料集的幾何形狀。materials -- 為物體準(zhǔn)備的材料。

創(chuàng)建一個(gè)新組,囊括了在材質(zhì)中定義的每種材質(zhì)的新網(wǎng)格。請(qǐng)注意,這和為一個(gè)網(wǎng)格定義多種材質(zhì)的材質(zhì)數(shù)組不同。

該方法對(duì)于同時(shí)需要材質(zhì)和線框繪制的物體非常有用。

.sortInstancedMesh ( mesh : InstancedMesh, compareFn : Function ) : undefined

mesh -- InstancedMesh 將在其中對(duì)實(shí)例進(jìn)行排序。

compareFn -- 定義排序順序的比較器函數(shù)。

根據(jù)用戶(hù)定義的回調(diào),對(duì) InstancedMesh 中的實(shí)例進(jìn)行排序。回調(diào)將提供兩個(gè)參數(shù),indexA 和 indexB,并且必須返回一個(gè)數(shù)值。有關(guān)排序回調(diào)及其返回值的更多信息,請(qǐng)參見(jiàn) Array.prototype.sort。

由于性能成本高,three.js 不會(huì)自動(dòng)對(duì) InstancedMesh 實(shí)例進(jìn)行排序。手動(dòng)排序可能有助于改善 alpha 混合材質(zhì)的顯示(從后到前),并減少不透明材質(zhì)的透支(從前到后)。

源代碼

examples/jsm/utils/SceneUtils.js


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)