mirror of
https://github.com/misskey-dev/misskey.git
synced 2026-05-13 14:05:35 +02:00
Update engine.ts
This commit is contained in:
@@ -246,12 +246,16 @@ class ModelManager {
|
||||
toMerge.push(newMesh);
|
||||
}
|
||||
|
||||
const merged = BABYLON.Mesh.MergeMeshes(toMerge, true, true, undefined, false, true);
|
||||
|
||||
//merged.bakeCurrentTransformIntoVertices();
|
||||
const groupedByMaterial = Object.groupBy(toMerge, m => m.material?.uniqueId ?? -1);
|
||||
|
||||
// 一度に(multiMultiMaterials: trueで)マージするよりも、いったん同じマテリアルを持つもの同士で(multiMultiMaterials: falseで)マージしてから、改めてそれらを(multiMultiMaterials: trueで)マージした方が(なぜか)ドローコールが減ってお得
|
||||
const pre = [];
|
||||
for (const group of Object.values(groupedByMaterial)) {
|
||||
const merged = BABYLON.Mesh.MergeMeshes(group, true, true, undefined, false, false);
|
||||
pre.push(merged);
|
||||
}
|
||||
const merged = BABYLON.Mesh.MergeMeshes(pre, true, true, undefined, false, true);
|
||||
merged.parent = this.root;
|
||||
|
||||
this.bakedMeshes = [merged];
|
||||
|
||||
this.bakedCallback?.([...this.bakedMeshes, ...excludeMeshes]);
|
||||
|
||||
Reference in New Issue
Block a user