From 3be729d4a09096ada90d6427cf40a770b451b1f2 Mon Sep 17 00:00:00 2001 From: Mitchell McCaffrey Date: Mon, 25 May 2020 20:52:11 +1000 Subject: [PATCH] Added reset to dice physics when rerolling --- src/components/map/dice/DiceScene.js | 4 ++-- src/dice/Dice.js | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/components/map/dice/DiceScene.js b/src/components/map/dice/DiceScene.js index bc68a15..83316e5 100644 --- a/src/components/map/dice/DiceScene.js +++ b/src/components/map/dice/DiceScene.js @@ -65,10 +65,10 @@ function DiceScene({ onSceneMount, onPointerDown, onPointerUp }) { const pickInfo = scene.pick(scene.pointerX, scene.pointerY); if (pickInfo.hit && pickInfo.pickedMesh.id !== "tray") { pickInfo.pickedMesh.physicsImpostor.setLinearVelocity( - new BABYLON.Vector3(0, 0, 0) + BABYLON.Vector3.Zero() ); pickInfo.pickedMesh.physicsImpostor.setAngularVelocity( - new BABYLON.Vector3(0, 0, 0) + BABYLON.Vector3.Zero() ); selectedMeshRef.current = pickInfo.pickedMesh; } diff --git a/src/dice/Dice.js b/src/dice/Dice.js index a1331eb..6644f84 100644 --- a/src/dice/Dice.js +++ b/src/dice/Dice.js @@ -75,6 +75,9 @@ class Dice { } static roll(instance) { + instance.physicsImpostor.setLinearVelocity(BABYLON.Vector3.Zero()); + instance.physicsImpostor.setAngularVelocity(BABYLON.Vector3.Zero()); + const trayOffsetHeight = diceTraySize.height / 2 - 0.5; const position = new BABYLON.Vector3( ((Math.random() * 2 - 1) * diceTraySize.width) / 2,