diff --git a/packages/@dcl/inspector/src/lib/babylon/decentraland/gizmo-manager.ts b/packages/@dcl/inspector/src/lib/babylon/decentraland/gizmo-manager.ts index dd2e52353..209551571 100644 --- a/packages/@dcl/inspector/src/lib/babylon/decentraland/gizmo-manager.ts +++ b/packages/@dcl/inspector/src/lib/babylon/decentraland/gizmo-manager.ts @@ -106,9 +106,13 @@ export function createGizmoManager(context: SceneContext) { if (_entity) { const parent = context.Transform.getOrNull(_entity.entityId)?.parent || (0 as Entity) const value = { - position: snapPosition(_entity.position), - scale: snapScale(_entity.scaling), - rotation: _entity.rotationQuaternion ? snapRotation(_entity.rotationQuaternion) : Quaternion.Zero(), + position: gizmoManager.positionGizmoEnabled ? snapPosition(_entity.position) : _entity.position, + scale: gizmoManager.scaleGizmoEnabled ? snapScale(_entity.scaling) : _entity.scaling, + rotation: gizmoManager.rotationGizmoEnabled + ? _entity.rotationQuaternion + ? snapRotation(_entity.rotationQuaternion) + : Quaternion.Zero() + : _entity.rotationQuaternion ?? Quaternion.Zero(), parent } return value diff --git a/packages/@dcl/inspector/src/lib/babylon/setup/input.ts b/packages/@dcl/inspector/src/lib/babylon/setup/input.ts index 1524043f1..4dc0c1da4 100644 --- a/packages/@dcl/inspector/src/lib/babylon/setup/input.ts +++ b/packages/@dcl/inspector/src/lib/babylon/setup/input.ts @@ -6,6 +6,7 @@ import { keyState, Keys } from '../decentraland/keys' import { getAncestors, isAncestor, mapNodes } from '../../sdk/nodes' let isSnapEnabled = snapManager.isEnabled() +let isShiftKeyDown = false let clickStartTimer: ReturnType let isDragging = false @@ -16,11 +17,15 @@ export function initKeyboard(canvas: HTMLCanvasElement, scene: BABYLON.Scene) { keyState[e.keyCode] = true if (e.shiftKey) { isSnapEnabled = snapManager.toggle() + isShiftKeyDown = true } }) canvas.addEventListener('keyup', (e) => { - snapManager.setEnabled(!isSnapEnabled) + if (isShiftKeyDown) { + snapManager.setEnabled(!isSnapEnabled) + isShiftKeyDown = false + } keyState[Keys.KEY_SHIFT] = e.shiftKey keyState[Keys.KEY_CTRL] = e.ctrlKey