Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - nikola

#1
Bones / Re: Manually rotate joints using quaternion input
December 12, 2013, 08:21:32 PM
I have another question. So far I have worked with "naked" makeHuman model ( model with only one texture file ). However now I have to make a demo with a model with some clothes on. MakeHuman exports the model with multiple texture files ( PNG ). How can I load multiple texture file and apply them on the makeHuman model?

Also I did not have time to port the sample to hardware renderer ( my java knowledge is basic ), but I found this topic about enabling multicore support to the software renderer. It might help but I just don't get it. Can someone explain where should I put the lines from the topic?

Thanks in advance :)
#2
Bones / Re: Manually rotate joints using quaternion input
November 06, 2013, 09:15:46 AM
Another question: How can I enable some kind of hardware rendering on ProceduralAnimationExample demo?

I am trying to work with MakeHuman model and the software renderer is pretty slow. Thanks in advance
#3
Bones / Re: Manually rotate joints using quaternion input
November 04, 2013, 10:14:18 AM
Hello again. Sorry for the late post,but I had some other things to do.

My question is: What is the right way ( most accurate ) to set joint rotation ( or whatever it is ) using quaternions ?

Also if you can tell me if there are any docs describing how joints work or everything related to their usage in Bones it would be great. I know my previous questions were weird, but I did not have time or the proper docs to do a proper research.
#4
I will apreciate any help if you have time :)
#5
The point is that the quaternion represents the rotation of a part of the body. It is very important for it to be very precise. I want to eliminate the dependecy between the joint and it's parent. I know it is a hierachical system and this would require some serious math ( serious for me ). I have done this in Blender and it handles these things well. It's just I don't know where to start?
#6
Bones / Manually rotate joints using quaternion input
October 20, 2013, 10:15:35 PM
Hello! I am participating in a small project aiming to create Motion capturing system. I must create some kind of visual representation of the collected data.

For input I have quaternions representing the rotation of different body parts. I took a look at ProceduralAnimationSample and modified ( deleted what I didn't understand :) ) targetJoint function. It now looks like this:


private void targetJoint(SkeletonPose pose, int jointIndex, float x, float y,
    float z, float w) {
   
        final int parentIndex = pose.getSkeleton().getJoint(jointIndex).getParentIndex();

        // neckBindGlobalTransform is the neck bone -> model space transform. essentially, it is the world transform of
        // the neck bone in bind pose.
        final Matrix jointInverseBindPose = pose.getSkeleton().getJoint(jointIndex).getInverseBindPose();
        final Matrix jointBindPose = jointInverseBindPose.invert();

        Quaternion quat = new Quaternion(x,y,z,w);

        final Matrix subGlobal = quat.getRotationMatrix();
       
        // now remove the global/world transform of the neck's parent bone, leaving us with just the local transform of
        // neck + rotation.
        subGlobal.matMul(jointBindPose);
        subGlobal.matMul(pose.getSkeleton().getJoint(parentIndex).getInverseBindPose();

        // set that as the neck's transform !!
        pose.getLocal(jointIndex).setTo(subGlobal);
    }


I set left and right foreams of Seymor model with sample quaternion and expected them to point at same direction. But the angles were mirrored which I think has something to do with the joints unrotated orientation. I really don't get how these things work and I am missing the bigger picture. So please help me to make the joints point the same direction when I rotate them with one and the same quaternion. I really spent more than 10 hours and couldn't figure it out. As you can see English is not my native language and not a skilled Java person or mathematician ( just hardware guy ). Thank you :)