three.js SceneUtils

2023-02-16 17:51 更新

一個用于操控場景的實(shí)用類。

方法

.createMeshesFromInstancedMesh ( instancedMesh : InstancedMesh ) : Group

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

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

.createMeshesFromMultiMaterialMesh ( mesh : Mesh ) : Group

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

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

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

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

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

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

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

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

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

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

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

源代碼

examples/jsm/utils/SceneUtils.js


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號