three.js SceneUtils

2023-02-16 17:51 更新

一个用于操控场景的实用类。

方法

.createMeshesFromInstancedMesh ( instancedMesh : InstancedMesh ) : Group

instancedMesh -- 实例化网格。

为给定的实例化网格的每个实例,创建一个包含新网格的新物体组(Object Group)。

.createMeshesFromMultiMaterialMesh ( mesh : Mesh ) : Group

mesh -- 具有多种材质的网格。

将给定的多材质网格转换为 Group 的实例,为每种材质保留一个单独的网格。

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

geometry -- 材料集的几何形状。materials -- 为物体准备的材料。

创建一个新组,囊括了在材质中定义的每种材质的新网格。请注意,这和为一个网格定义多种材质的材质数组不同。

该方法对于同时需要材质和线框绘制的物体非常有用。

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

mesh -- InstancedMesh 将在其中对实例进行排序。

compareFn -- 定义排序顺序的比较器函数。

根据用户定义的回调,对 InstancedMesh 中的实例进行排序。回调将提供两个参数,indexA 和 indexB,并且必须返回一个数值。有关排序回调及其返回值的更多信息,请参见 Array.prototype.sort。

由于性能成本高,three.js 不会自动对 InstancedMesh 实例进行排序。手动排序可能有助于改善 alpha 混合材质的显示(从后到前),并减少不透明材质的透支(从前到后)。

源代码

examples/jsm/utils/SceneUtils.js


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号