Update engine.ts

This commit is contained in:
syuilo
2026-02-21 18:17:43 +09:00
parent 402dd538bf
commit 055121d698

View File

@@ -939,16 +939,6 @@ export class RoomEngine {
om.renderOutline = false;
}
const placement = getObjectDef(selectedObject.metadata.objectType).placement;
if (placement === 'top') {
// stickyな場合にsticky先とのレイの距離が0になりstickyされていない初期状態でgrabbingが始まってしまうのでちょっと浮かす
selectedObject.position.y += 1/*cm*/;
}
const distance = BABYLON.Vector3.Distance(this.camera.position, selectedObject.position);
const ghost = this.createGhost(selectedObject);
// 子から先に適用していく
const setStickyParentRecursively = (mesh: BABYLON.AbstractMesh) => {
const stickyObjectIds = Array.from(this.roomState.installedObjects.filter(o => o.sticky === mesh.metadata.objectId)).map(o => o.id);
@@ -970,6 +960,16 @@ export class RoomEngine {
};
collectDescendantStickyObjectIds(selectedObject.metadata.objectId);
const placement = getObjectDef(selectedObject.metadata.objectType).placement;
if (placement === 'top') {
// stickyな場合にsticky先とのレイの距離が0になりstickyされていない初期状態でgrabbingが始まってしまうのでちょっと浮かす
selectedObject.position.y += 1/*cm*/;
}
const distance = BABYLON.Vector3.Distance(this.camera.position, selectedObject.position);
const ghost = this.createGhost(selectedObject);
const dir = this.camera.getDirection(BABYLON.Axis.Z).scale(this.scene.useRightHandedSystem ? -1 : 1);
const initialPosition = selectedObject.position.clone();