1
0
mirror of https://github.com/misskey-dev/misskey.git synced 2026-05-28 18:14:58 +02:00
This commit is contained in:
syuilo
2026-04-21 07:53:24 +09:00
parent ae4a174de5
commit 62be4a258e
2 changed files with 15 additions and 12 deletions

View File

@@ -809,12 +809,14 @@ export class RoomEngine extends EventEmitter<RoomEngineEvents> {
if (merged != null) { if (merged != null) {
merged.setParent(subRoot); merged.setParent(subRoot);
merged.name = 'preMerged'; merged.name = 'preMerged';
merged.material.freeze();
if (merged.material instanceof BABYLON.MultiMaterial) { // freezeするとbabylon 9.3.2以降、snapshot rendering + clustered lighting + selection outlineの組み合わせでなんかレンダリングがグリッチする
for (const subMat of merged.material.subMaterials) { //merged.material.freeze();
subMat.freeze(); //if (merged.material instanceof BABYLON.MultiMaterial) {
} // for (const subMat of merged.material.subMaterials) {
} // subMat.freeze();
// }
//}
// TODO: 再帰的にする // TODO: 再帰的にする
for (const m of loaderResult.transformNodes) { for (const m of loaderResult.transformNodes) {

View File

@@ -306,12 +306,13 @@ export class ModelManager {
const merged = BABYLON.Mesh.MergeMeshes(toMerge, true, false, undefined, false, true); const merged = BABYLON.Mesh.MergeMeshes(toMerge, true, false, undefined, false, true);
merged.parent = this.root; merged.parent = this.root;
merged.material.freeze(); // freezeするとbabylon 9.3.2以降、snapshot rendering + clustered lighting + selection outlineの組み合わせでなんかレンダリングがグリッチする
if (merged.material instanceof BABYLON.MultiMaterial) { //merged.material.freeze();
for (const subMat of merged.material.subMaterials) { //if (merged.material instanceof BABYLON.MultiMaterial) {
(subMat as BABYLON.PBRMaterial).freeze(); // for (const subMat of merged.material.subMaterials) {
} // (subMat as BABYLON.PBRMaterial).freeze();
} // }
//}
merged.freezeWorldMatrix(); merged.freezeWorldMatrix();
merged.metadata = { ...this.root.metadata }; merged.metadata = { ...this.root.metadata };
if (!this.hasTexture) merged.convertToUnIndexedMesh(); if (!this.hasTexture) merged.convertToUnIndexedMesh();