diff --git a/src/Add-on/ExplosionMap.ts b/src/Add-on/ExplosionMap.ts index 820b551a6..d651c9fa8 100644 --- a/src/Add-on/ExplosionMap.ts +++ b/src/Add-on/ExplosionMap.ts @@ -5,7 +5,7 @@ import { Vector3, Object3D } from "three"; import { Board } from "../DatabaseServices/Board"; import { PromptStatus } from "../Editor/PromptResult"; -const MOVEDIS = 0.02; +const MOVEDIS = 10; const MOVECOUNT = 70; const STOPCOUNT = MOVECOUNT * 2 + 1; @@ -42,6 +42,7 @@ export class Command_ExplosionMap implements Command if (brs.Status !== PromptStatus.OK) return; let box = GetBoxArr(brs.SelectSet.SelectObjectList); + let size = box.getSize(new Vector3()); let cen = box.getCenter(new Vector3()); for (let obj of brs.SelectSet.SelectObjectList) { @@ -49,12 +50,8 @@ export class Command_ExplosionMap implements Command { let objCen = GetBox(obj).getCenter(new Vector3()); let v = objCen.clone().sub(cen); - let zv = obj.userData.Entity.Normal as Vector3; - if (zv instanceof Vector3) - { - let d = zv.dot(v); - this.moveObjs.push([obj, zv.clone().multiplyScalar(d)]); - } + v.divide(size); + this.moveObjs.push([obj, v]); } }