View Full Version : Joints

09-06-2008, 12:33 PM
Time for another request.
After working for a bit with DMM now I finally noticed what is really missing:
The ability to create joints like ballsockets or hinges between certain vertices of different dmm objects. If these would be added then this thing would probably the most complete dynamics simulation plugin out there.

09-08-2008, 01:19 AM
Actually it can be done, but it requires some work around at the moment.
The work flow for doing that is not going to be achieved with just a click of a button, it requires exporting and re-importing some DMM components into the scene.

If you can tell me what kind of example you try to achieve I can tutor you through this forum.


09-08-2008, 09:00 AM
The first thing I tried wich didn't worked due missing joints was a door with a simplified realistic lock like those you can find on doors in a fence - a simple rotating bar that can snap behind a little hook in the door frame. So two hinge joints between door and doorframe which totally restrain movement and rotation except for one axis and another joint of that kind between door and bar.

09-09-2008, 07:29 AM
Joints can be created with DMM objects that are specifically modeled or constructed for that purpose. The way of building them is a bit annoying at the moment . I will try to describe you how.

1st - define well what kind of joint. Look at the below pic that describe the idea.
2nd - Design a polygonal simple patter for your joint with the least number of polygons. Think in individual components and elements. Then turn the object into DMM ;)
3rd - Now.. the tricky part. You need to 'brake' the dmm object in componenets, remove all of them except the node with the _DmmSim in its name. To see the componenets you need to expand the shape view from the outliner.


09-09-2008, 07:41 AM

4th - Before deleting shapes under the dmm transform node, run a delete history for the selected dmm object [Edit->Delete by Type->History] then delete all shape under the transform except the DmmSim shape node then turn the DmmSim Template to OFF and Visible to ON.
If you want you can add a shader to it not to have it in wireframe for all the rendering modes.

5th - with this component, create a structure for your final joint model. The pivot point do not rely on any user defined axis but on a ideal line that run through the co-located vertices between all the duplicated joint parts than need to be combined into a single mesh (use snapping to ensure properly co-located vertices). A picture is worth 1000 words in this case. :)

6th Turn your combined structure into a special dmm object using this command: (DMM Menu) DMM Asset -> Create Bare DMM Object -> From Tetrahedral Mesh
The resulting object will have a semi-transparent RED shader assigned. Play the aniimation to verufy that the DMM object is getting simulated and falls down.


09-09-2008, 07:55 AM

7th - Place the joints strategically... of course you can duplicate them to have at least two for trying to simulate a door attached to a pole. Use Glue Regions to ensure that one end of the joint structure is attached to the door edge, and the other end is attached to a pole or wall.

8th Adjust the materials for the joints accordingly.. keep them stiff and unbreakable. The door material need also to be light enough . If it is wood remember that you can stay around 900 for density, since wood floats (water = 1000) . If the door is to heavy it might tend to bend or snap the joints off.

Here a playblast test I just did .

09-15-2008, 11:55 PM
There now is a tutorial for this. You can find it in the Tutorials section of the forum.

09-26-2008, 03:45 AM
There is an error in the method described above that will cause orphan nodes to be left in the scene.
This nodes might cause unexpected behaviors.
This is a 'mesh' node that the plug in names it as nodename_DmmDriven .

Removing History for the selected DMM object and then clearing the data under the transform node leaves this extra node that is not visible.

This node is not visible because it is set as Intermediate node in the Display properties of the Attribute Editor.

You need to proceed to an extra manual step to remove it that can be accomplished in two ways:
a) - From the Attribute Editor select the tab for the _DmmDriven mesh. Make sure you select this node by hitting the Select button at the bottom of the Attribute Editor and the press the Delete key on you keyboard or Maya Menu : Edit -> Delete
b) - As above, select the tab for the _DmmDriven node, in the Display section turn Intermediate to OFF. Now you the _DmmDriven node is visible and can be removed.

(Note: Because of an apparent Maya Workflow issue, if your transform node is expanded to show the shapes underneath, your changes are not updated until you collapse and expand again the content under the transform node. )

09-30-2008, 01:00 AM
The next update of the plugin should come with a new menu item that will extract the DmmDriven mesh without the need to manually delete things.