Browse Source

SDK SceneComposer : fix scale tool, now the global option should work

Maselbas 10 years ago
parent
commit
e672d0501d

+ 3 - 1
jme3-scenecomposer/src/com/jme3/gde/scenecomposer/tools/ScaleTool.java

@@ -122,7 +122,9 @@ public class ScaleTool extends SceneEditTool {
             lastScale = scale;
             toolController.getSelectedSpatial().setLocalScale(scale);
         } else if (pickedMarker.equals(ARROW_X) || pickedMarker.equals(ARROW_Y) || pickedMarker.equals(ARROW_Z)) {
-            Vector3f diff = pickManager.getLocalTranslation(constraintAxis);
+            // Get the translation in the spatial Space
+            Quaternion worldToSpatial = toolController.getSelectedSpatial().getWorldRotation().inverse();
+            Vector3f diff = pickManager.getTranslation(worldToSpatial.mult(constraintAxis));
             diff.multLocal(0.5f);
             Vector3f scale = startScale.add(diff);
             lastScale = scale;