Controlling a rigged 3D Model using Jitter

Jul 3, 2012 at 1:27am

Controlling a rigged 3D Model using Jitter

Hi All,

I have a 3D character that is rigged (a female form) I want to control her in Max, but don’t know where to start. Created in Blender I can export as .DAE or .OBJ – The model imports fine into Jitter using jit.gl.model, and I can texture and rotate, scale, position easily enough. Cool.

How to I control the rigging of this model? I don’t see any recent info on jit-ogre – Does it even work with Max6?

I want to be able to use MIDI or OSC to control. I can get the OSC or MIDI data in, but I how do I have it “talk” to the model’s rigging – )head shoulders, legs etc.) ?

Thanks so much!

Valentin

#37971
Jul 3, 2012 at 4:57pm

i don’t believe obj files support skeleton rigs, so your best bet is to export to collada (dae).

once you’ve exported and loaded with jit.gl.model, you can control the individual bones/nodes by accessing the jit.gl.model internal jit.anim.nodes. the model object creates a hierarchy of jit.anim.node objects when the model is loaded.

there are a couple options for controlling the model using this internal node structure:
the “copynodestoclipboard” message creates a jit.anim.node hierarchy mirroring the internal structure in the clipboard, allowing you to paste the structure into your patch. every bone/node of the model can be manipulated from this structure.

alternatively, if you create a jit.anim.node object in your patch, and set it’s @name attribute to the name of an internal model-node, a link will be created between the two allowing you to manipulate the internal model-node with the external jit.anim.node.

in both of these cases, it’s important you set your jit.gl.model @name attribute, because the internal model-nodes are named using this attribute.

the patch below demonstrates these two techniques.

– Pasted Max Patch, click to expand. –
#131468
Jul 3, 2012 at 5:50pm

Hi Robert,

This is exactly what I was looking for.

I pasted your patch in, and it works beautifully. I think I understand what it’s doing , so that’s good too – lol

If I am getting control info from a source such as Kinect using NI Mate (e.g.) it seems like it would make the most sense to “wire-up” the incoming rotation info for each joint to the anim.nodes created using “copynodestoclipboard” – does that sound about right?

I’m sure I’ll have more questions as I dig in.

Thanks so much !

V

#131469

You must be logged in to reply to this topic.