There was a bug in the animator that made it assume all vertex had a joint assigned to them, which is the -1 you’re seeing. It’s fixed (or should be) in the current version. Update from the CVS and try again. Let me know how it goes.
There was a bug in the animator that made it assume all vertex had a joint assigned to them, which is the -1 you're seeing. It's fixed (or should be) in the current version. Update from the CVS and try again. Let me know how it goes.
Downloaded again the latest version from the cvs and the problem persist. Want the model?
at com.jme.animation.JointController.updateData(JointController.java:233)
I can guarantee you're not using the CVS because line 233 is something like
int curIndex;
which can't get that kind of exception.
Do you have jme.jar in your classpath along with the .java files? If so that could be the problem
mmmmm... you are right. I have configured my proyect including the jme proyect (not using the jar file.. i opened a new proyect and put the jme source there and then in the my proyect properties, included the jme). If i not include it, the jme classes are not viewed from my proyect so i am sure that i am getting the classes from there but when a get the line 233 (int currentBoneIndex; different from the one you are saying) is where i get the exception!
I did a full clean from the .class but is the same. Obviously theres is a problem with my eclipse, not the code. What can i do? I updated all from the /src in the cvs. It´s ok?
What command is java executing when it compiles your program? What command is java executing when it runs the class file?
What do you mean about "command"? I tell you what i do: first i put a breakpoint here:
private void updateData(){
for (int currentGroup=0;currentGroup<movingMeshes.size();currentGroup++){
JointMesh2 updatingGroup=(JointMesh2) movingMeshes.get(currentGroup);
int currentBoneIndex; //<-- here the breakpoint
Vector3f[] vertexes=updatingGroup.getVertices();
Vector3f[] normals=updatingGroup.getNormals();
int j;
for (j=0;j<updatingGroup.jointIndex.length;j++){
currentBoneIndex=updatingGroup.jointIndex[j];
if (currentBoneIndex==-1) continue;
unSyncbeginPos.set(updatingGroup.originalVertex[j]);
vertexes[j].set(jointMovements[currentBoneIndex].multPoint(unSyncbeginPos));
unSyncbeginPos.set(updatingGroup.originalNormal[j]);
normals[j].set(jointMovements[currentBoneIndex].multNormal(unSyncbeginPos));
}
if (j!=0){
updatingGroup.updateVertexBuffer();
updatingGroup.updateNormalBuffer();
if (updatePerFrame) updatingGroup.updateModelBound();
}
}
}
and when the debugline passes over that line, in the variable inspector, magically appears currentboneindex = -1 !!! Seem like the eclipse is debugging something but is not "synchronized" with what is showing to me. Now if i comment that line, the debugger also passes!!
cep.. archived the full jme proyect in one jar and removed the references from my proyect properties and worked everything! Can see the model with the bones animation. Thanks..
Now other thing.. it is normal seeing the full animation until i set the keyframe controllers??