From 35ad1d758e900d8a5bb35699ebcc2f5bf2b1dd06 Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Wed, 29 Apr 2026 12:59:46 +0900 Subject: [PATCH] wip --- packages/frontend/src/world/room/engine.ts | 9 +++++++++ packages/frontend/src/world/room/utility.ts | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/frontend/src/world/room/engine.ts b/packages/frontend/src/world/room/engine.ts index 2a28bb0a4e..d8911e5236 100644 --- a/packages/frontend/src/world/room/engine.ts +++ b/packages/frontend/src/world/room/engine.ts @@ -1152,6 +1152,15 @@ export class RoomEngine extends EventEmitter { if (def.hasCollisions) { enableObjectCollision(meshes); } + + /* なんかバグる + for (const mesh of meshes) { + if (mesh.checkCollisions || SYSTEM_MESH_NAMES.some(n => mesh.name.includes(n))) continue; + + // コリジョンや(ray) pickingに使わないメッシュの頂点情報はCPU側に保持しておく必要がない(通常のpickingはGPUPickerを使えるのでCPUは関与しない) + mesh.geometry.clearCachedData(); + } + */ }); const objectInstance = await def.createInstance({ diff --git a/packages/frontend/src/world/room/utility.ts b/packages/frontend/src/world/room/utility.ts index ce4d3be3fc..4d806bbd39 100644 --- a/packages/frontend/src/world/room/utility.ts +++ b/packages/frontend/src/world/room/utility.ts @@ -192,7 +192,7 @@ export class ModelManager { private bakedMeshes: BABYLON.Mesh[] = []; private hasTexture: boolean; - constructor(root: BABYLON.Mesh, originalMeshes: BABYLON.Mesh[], hasTexture: boolean, bakedCallback: (() => void) | null = null) { + constructor(root: BABYLON.Mesh, originalMeshes: BABYLON.Mesh[], hasTexture: boolean, bakedCallback: ((meshes: BABYLON.Mesh[]) => void) | null = null) { this.root = root; this.originalMeshes = originalMeshes; this.hasTexture = hasTexture;