Previous Blog Next Blog
Prev/Next Blog
by date

Milkshape3d: Vertex Weighting: Possible!

Milkshape3d: Vertex Weighting: Possible!
Name:Rex
Date Posted:Jun 10, 2006
Rating:4.5 out of 5
Public:YES
Comments:YES
RSS Feed:GarageGames Blog feedor Subscribe with .
Profile Page:View profile page for Rex

Blog post
Warning: Large Image involved...

Sorry all, to Blog again so soon, but my, my I've been busy investigating things here and there; helping tutor someone on Ms3d modelling to successful player & animation content. and taking care of a boxful of newborn kittens from a local stray[within a few feet of my workstation....my they're cute at 3 weeks]. Well, I shouldn't take all the credit and I hardly did any of the 'heavy' lifting. Several programmer types and 'Smoki' the stray should take all the credit and to them it is due, well...I am doing some tutoring across a language barrier, and that can be taxing.

In my last Blog just yesterday, I launched into a rather confusing explanation on how to perhaps create a skeletal rig from within gameSpace that works with the default SDK sequences and left no images[what!] for the Masses. I have not embarked upon that Project yet, I want to settle up on this tutoring, which will take some time. That gameSpace project is still in the works, but this Blog ties into that other in an offhand way, since I was crossing back/forth between the two programs and once again notice how the stretching and crunching of meshes is ugly.

With helping someone with their Milkshape model building and rigging, I always feel somewhat embarrassed by the limitation of only full weighting of each vertex to a SINGLE Joint/Bone/Node in the environment and having to explain away the sometimes less than desired deformations achieved by this schema. Until Mete finishes and releases Milkshape v2, everyone thought that good deformations were impossible without increasing the Joint count and using extra Joints as 'helpers' at the pinch points of shoulders, elbows, ankles, necks...etc. This necessitates either doing the extra rig work, or segmenting the shape, or very clever vertex placement. To any end, quality content was not thought possible from the 'low polygon' program. If you call a poly Max count of 60,000 a low polygon modeller.


Attention all Developers utilizing Milkshape3d for their DTS/DSQ TGE content! I have an announcement, and it's BIG:

VERTEX WEIGHTING FOR DTS SHAPES IS NOW POSSIBLE!!!

That's right, I said it, and I'm so excited, I'm practically falling out of my chair as I text.... I have just finished a very preliminary test on a shape created in Milkshape, rigged in Milkshape, animated in Milkshape, and exported from Milkshape, that contains vertices weighted to at least two separate Joints/Bones/Nodes; and never left the Milkfarm.. In fact, with the upgrade to the exporter I'm working with, I can have up to 3 Joints affecting a single vertex.

Knowing I have to proof my concepts and really the only way I feel valid is to release the files[not about ready to do that, more tests needed], or with a picture:


In the above snapshot you will see the Ms3d program running with the shape at the extreme end of my second animation, one which would cause obvious extreme stretching on the vertices as the skeleton deformed to X+ direction and placing the ring of vertices at a Y +/- extreme verticle[ms3d coordinate system]. An example of such an area on a mesh would be the elbow, a trouble spot for few too many vertices and no helper.

In the second program running on the desktop, you'll see the same shape and animations after exporting to the DTS format with the animations embedded; performing the same sequence in ShowToolPro. Now notice the same ring of vertices, highlighted with their weighting color. I choose Red as 100% weighting and Yellow as 0% weighting, and you'll notice that the highlighted color is orange. Reading the .DMP file would also indicate the weighting actually happening during the Process. All the vertices were at 50% to Joint7 and 50% on Joint6, it's parent[below it]. Also notice their location in relation to the verticle Axis of TGE/STP.....looks like a nice 45 to the 90 I rotated Joint7. If the object were viewed in 3d; you'd see the perfect circle of vertices had become a nice ellipse, as front/back vertices did not contract towards the rotator, :). I'm having some issues with Firefox and this Blog Text entry field snapping to the top of the field, so, I'll close now with a promise to update this or create a new .Plan to give updates on the Process.


Cheers all! Milkfarmers Unite!

Rex

PS: Chris Robertson, you are the best! And the big thanks goes out to a Member of the Milkshape Community by the name of W. Wesley Howe!




This is a snapshot of the Sims2 UniMesh Bone Tool V4.05. It is found under Vertex--Sims2 UniMesh Bone Tool V4.05, oddly enough, lol. To use it you must first select some vertices Assigned to a Joint, either by selection in the Viewports or by selection of a Joint in the listing and then hitting the SelAssigned button, under Joints Tab. Then the plugin will activate, and you are presented with the pictured dialog. One limit of the process is that you need to know what vertex is what; even though they are listed in the dialog's lowest set of fields & numbered, to the right of the Left/Right arrows. You still need to know which is which if you have multiples selected. Too bad they don't highlight in the VP with the selection, it would help a lot. Another limit is that you need to Commit the change before moving on to another vertex with the selector, or the data doesn't hold. You can do a 'global' type Apply to All command and that applies the data across the board, you still need to Commit to All it seems to lock in the edits for good. Then you're tossed back to the Ms3d interface. Now, you can proceed with a 'normal' export. Another caveat is that to perhaps make certain your shape's vertices have been welded together, I don't know what might happen, it's something I do a lot in Ms3d. Program seems to unweld seams with a mind of it's own. I know activating some plugins do it as well... Also, too; I find the DTSPlus! exporter and/or Ms3d unwelding the shapes after the Process is complete. I mention about welding, as the number of vertices may change unexpectedly in the dialog.


More later...

...something to again remember if I haven't stated this before: you will not see these weights render with deformations in the ms3d enviro, although the data remains within the Scene. Saving the file after editing and then revisiting the selected vertex and calling the plugin; will show the data to be preserved. Unless something has gone wrong with Commiting the edits. Reading the .dmp file for the shape will indicate the weighting has occured, it's indicated on some lines during the process. So that made me fairly convinced the plugin and the exporter did they jobs, quite admirably...

Recent Blog Posts
List:07/01/08 - Hey Ho....Let's GO!
03/19/08 - Vehicles: WheeledVehicle: introducing, "The uniFrame"!
01/04/07 - The baseHuman Project
12/30/06 - Adventures in fragMOTION: Merging & protoTyping the baseHuman
11/17/06 - Got Market Base? you should...
09/28/06 - Adventures in fragMOTION
06/10/06 - Milkshape3d: Vertex Weighting: Possible!
06/09/06 - IK Groupings, Nodes, & the Magik of Exporters

Submit ResourceSubmit your own resources!

Jon Fernback   (Jun 10, 2006 at 15:34 GMT)
Cool!

Thats excellent news! Up until now the way we always got around the animation issue was to use milkshape to create the model and then fragmotion to do the joint assignments and animations. Finally coming back to milkshape for dts export.

Rex   (Jun 10, 2006 at 16:01 GMT)
You might want to still animate with Fragmo[I'm having some issues with Local Coordinates not working as I'd expect??!]...and any weighting done would probably have to be reapplied with the plugin I found by digging around the Chum-site. I was not aware that any weights applied in Fragmo, would transfer the data to Ms3d?? I know it won't render in MS3d, per Mete, but he stated that the data from this plugin remains in the Scene for exporting; he was right! I'm still looking at Fragmo, it's a bit like Blender with scripting and schemas exposed...but ms3d's animation control is beginning to really kill me.

The plugin's UI is a little odd, and there's little documentation for it[at least I've found til now], especially since it's for SIMSII...the only part needed is the weight editor. There is a whole suite of tools in the Unimesh set...very bizarre. It will take some time to figure out how to work it the best way; I've been trying different setups on the same motion....seems to work; if you pay attention to the UI and it's buttons and which vertices you've actually selected. It does seem to be a useful tool for the box.
Edited on Jun 10, 2006 16:11 GMT

Willbkool   (Jun 10, 2006 at 23:34 GMT)
Vertex weighing in Milkshape would rule. This is sorely needed to keep mesh deformations at a minimum. Glad to see some work in this area.

For animations, I export the mesh with skeleton to .b3d, and then open it in Pacemaker, save the animations as .b3d. Then I open the .b3d in Ultimate Unwrap3D and save as a Milkshape file. Then I open them in Milkshape and export as .dsq. It works, but it's a long process. Milkshape does wierd things to my meshes sometimes during animations, so it's not usable for that.

Ashley Kelley   (Jun 11, 2006 at 02:48 GMT)
Best news I've heard since I began working with milkshape. I've even gon to the trouble of completely segmenting some models in order to avoid the awful mesh twist. Of course that dosen't work with mocps. But weighing the vers certainly will!!!

Wesley Howe   (Jun 20, 2006 at 23:54 GMT)
In response to my requests, Mete Ciragan (MilkShape developer) added some capability for additional per-vertex data in MilkShape 1.7.7. While the package of plugins I developed (12 total) was specifically aimed at supporting The Sims 2 game, I wrote an editor for the extra bone assignments and weightings, since Mete had provided none.
I have released all the source (compiles with Visual C++ 6) for the plugins, including the Bone Tool. The sources are on the modthesims2.com website. There are no restrictions, so anyone with better user interface ideas is welcome to use the source to roll their own.
<* Wes *>

Nate "Nateholio" Watson   (Dec 02, 2006 at 06:14 GMT)
Interesting to see.

You must be a member and be logged in to either append comments or rate this resource.