Explorar el Código

Merge pull request #3 from Dokthar/master

Master merge into scenecomposer
Dokthar hace 10 años
padre
commit
ed46dc8548

+ 1 - 1
README.md

@@ -1,7 +1,7 @@
 jMonkeyEngine
 =============
 
-jMonkeyEngine is a 3D game engine for adventurous Java developers. It’s open source, cross platform and cutting edge. And it is all beautifully documented. The 3.0 branch is the latest stable version of the jMonkeyEngine 3 SDK, a complete game development suite. We'll be frequently submitting stable 3.0.x updates until the major 3.1 version arrives in Q4 2014.
+jMonkeyEngine is a 3D game engine for adventurous Java developers. It’s open source, cross platform and cutting edge. And it is all beautifully documented. The 3.0 branch is the latest stable version of the jMonkeyEngine 3 SDK, a complete game development suite. We'll be frequently submitting stable 3.0.x updates until the major 3.1 version arrives.
 
 The engine is used by several commercial game studios and computer-science courses. Here's a taste:
 

+ 21 - 16
jme3-blender/src/main/java/com/jme3/scene/plugins/blender/constraints/definitions/ConstraintDefinitionIK.java

@@ -88,14 +88,17 @@ public class ConstraintDefinitionIK extends ConstraintDefinition {
                     if (angle != 0) {
                         Vector3d cross = currentDir.crossLocal(target).normalizeLocal();
                         q.fromAngleAxis(angle, cross);
-                        if (boneContext.isLockX()) {
-                            q.set(0, q.getY(), q.getZ(), q.getW());
-                        }
-                        if (boneContext.isLockY()) {
-                            q.set(q.getX(), 0, q.getZ(), q.getW());
-                        }
-                        if (boneContext.isLockZ()) {
-                            q.set(q.getX(), q.getY(), 0, q.getW());
+                        
+                        if(bone.equals(this.getOwner())) {
+                            if (boneContext.isLockX()) {
+                                q.set(0, q.getY(), q.getZ(), q.getW());
+                            }
+                            if (boneContext.isLockY()) {
+                                q.set(q.getX(), 0, q.getZ(), q.getW());
+                            }
+                            if (boneContext.isLockZ()) {
+                                q.set(q.getX(), q.getY(), 0, q.getW());
+                            }
                         }
 
                         boneTransform.getRotation().set(q.multLocal(boneTransform.getRotation()));
@@ -124,14 +127,16 @@ public class ConstraintDefinitionIK extends ConstraintDefinition {
                     Vector3d cross = currentDir.crossLocal(target).normalizeLocal();
                     q.fromAngleAxis(angle, cross);
 
-                    if (boneContext.isLockX()) {
-                        q.set(0, q.getY(), q.getZ(), q.getW());
-                    }
-                    if (boneContext.isLockY()) {
-                        q.set(q.getX(), 0, q.getZ(), q.getW());
-                    }
-                    if (boneContext.isLockZ()) {
-                        q.set(q.getX(), q.getY(), 0, q.getW());
+                    if(bone.equals(this.getOwner())) {
+                        if (boneContext.isLockX()) {
+                            q.set(0, q.getY(), q.getZ(), q.getW());
+                        }
+                        if (boneContext.isLockY()) {
+                            q.set(q.getX(), 0, q.getZ(), q.getW());
+                        }
+                        if (boneContext.isLockZ()) {
+                            q.set(q.getX(), q.getY(), 0, q.getW());
+                        }
                     }
 
                     boneWorldTransform.getRotation().set(q.multLocal(boneWorldTransform.getRotation()));