Home | Download | Discussion | Help | Site Map | New Posts | Sign in

Latest Site News

Nysha's New Creators for November - posted on 1st Dec 2017 at 9:00 AM
Replies: 13 (Who?), Viewed: 3973 times.
Lab Assistant
Original Poster
#1 Old 25th Mar 2007 at 10:23 PM
Default animation question
what plugin do I need to successfully retain object animation using the mesh tool? When I extract the gmdc, it shows the extracted files in the folder, but when in the mesh tool, when I try to import gmdc, the extracted files are not showing in the folder. and yes, I made sure to view .5gd files.
Advertisement
Part-time Hermit
#2 Old 26th Mar 2007 at 5:40 AM
Did you actually extract the GMDC by right-clicking on it and extract? Just making sure that you're not using the Export button to Export as an OBJ.
Lab Assistant
Original Poster
#3 Old 26th Mar 2007 at 12:47 PM
I did it correctly, yes. That is why I'm thinking I'm missing a plugin. Actually, after I tried it again using a different armoire than the one before, the file showed up, but I was still failed to save the animations. I just need to do the tutorial again, but that doens't explain why the extracted gmdc file didn't show up in the folder...
Field Researcher
#4 Old 26th Mar 2007 at 1:06 PM
What I did for my dresser was I used the latest Unimesh plugin to import the gmdc that was extracted to Milkshape. Then I put my mesh in and linked the joints to the corresponding parts and got rid of the original maxis mesh that was different from mine. I made sure to have the smoothing groups unchecked. I made sure all vertices were unwelded. I used demon's align normals tool. then I exported using Unimesh and replaced the gmdc with the new one.
So long as the gmdc you extracted has joints it should work. I ran into a problem with the moonthruster clock I cloned not having joints in the gmdc though. Did you check the original gmdc to make sure the joints are there?
Lab Assistant
Original Poster
#5 Old 27th Mar 2007 at 2:20 PM
The problem is much different now than before. I cannot get this animation thing. I've been trying it with determination for over a year, so it's not that I'm not doing everything I can think of. I think what I'm lacking is information. I haven't gone to any kind of school for this, so I probably don't understand as much as everyone else here, but I have created whole sets that work properly and look great. The only thing now that I don't know how to do is retain the object's animation. I've done jwood's animation tutorial over 20 times. It would really be a big help to me, and I'm sure to a lot of people, if someone could just write a new tutorial for animation. It's not that jwood's tutorial isn't good, it's just that I must not understand. You would think that after 20 times of doing it, that you would have succeeded. If you want to know what steps I took, just read jwood's tutorial. those are the steps I took, but they did not work, any of the times I followed it.

I don't understand joints...By reading the tutorial, I was under the impression that I had enough knowledge of object creation...am I supposed to do something with joints in the creation process? I'm sorry, but I don't understand all the technical language, so if someone could help me in an easier way to understand, it would be most helpful.
Lab Assistant
Original Poster
#6 Old 27th Mar 2007 at 3:07 PM
Quote:
Originally Posted by suceress
What I did for my dresser was I used the latest Unimesh plugin to import the gmdc that was extracted to Milkshape. Then I put my mesh in and linked the joints to the corresponding parts and got rid of the original maxis mesh that was different from mine. I made sure to have the smoothing groups unchecked. I made sure all vertices were unwelded. I used demon's align normals tool. then I exported using Unimesh and replaced the gmdc with the new one.
So long as the gmdc you extracted has joints it should work. I ran into a problem with the moonthruster clock I cloned not having joints in the gmdc though. Did you check the original gmdc to make sure the joints are there?



I just want to make sure I understand you, this is the best answer I've gotten so far. So I import the mesh file to milkshape, then using the unimesh, I import the gmdc file. Then I create my new mesh in the same place and size as the original mesh, and delete the original mesh. then export using the unimesh exporter. Do I then export the mesh and save over the original mesh? Or do I leave that part out? Anyway, I went ahead and did it anyway, I'll see if that works. However, I don't know what demon's assign normals tool is...I looked in the tools list, is that something I have to install? So after I exported the gmdc, I got an error saying "unnasigned bones exist".. what does that mean?
Scholar
#7 Old 28th Mar 2007 at 2:32 AM
For objects with joints (bones) the simplest method I've found is to use the .ms3dascii export and import of SimPE. It's not good for body parts, but excellent for boned objects.

Note that you will NOT use the .obj file format at all, nor the MeshTool - all will be done using just SimPE and MilkShape.

First, here is what a "joint" is, and how it works to animate parts of an object.
It is simply a pivot point - go look at the nearest door in your house. Look at the hinges, at the little pin that is in the center of the hinge. That is the "joint" of the door, it is the place where the door pivots when you open and close it.

This is exactly how the joints on your object will work.

There will always be a stationary master "joint" that will never move and all the non-moving vertices of your mesh will be assigned to that joint. The moving parts will be assigned to other joints, and in the game these joints will be rotated by the animations and the vertices will follow along, just as your door rotates on it's hinges.

I hope this explaination makes sense, once you understand this it makes the rest much easier to follow.

Now, on to the actual editing. I am going to use a toilet for an example because it is simple, with only one moving joint.

First you make up your new .package file in SimPE in the usual way.

But rather than Extracting and using MeshTool on it, click on the GMDC file and then go to the plugin-view section at the bottom. {pic 1}

Make sure all the listed mesh groups are checkmarked. Also make sure the "Order" is set to XZY. Then click [Export]

The Export Mesh window will open - change the drop-down from Maya Obj file to Milkshape 3D ASCII Exporter, give it a name you can recognize, and save it. {pic 2}

On to MilkShape...

First, if you have never done any editing of boned mesh formats in MilkShape, you will want to go to the File menu in MilkShape, choose "Preferences", go to the "Misc" tab, and set "Joint Size" to 0.01
Otherwise the bones(joints) will be WAY too big and will cover the whole mesh like blue barbed wire.

After importing your mesh, go to the "Joints" tab in MilkShape. You will see a list of all the joints that this mesh has. Now click on the name of each bone - the selected joint (small blue circle with x through it) will turn red.
Then click the [SelAssigned] button - now all the vertices that are assigned to that joint will turn red.
{pic 3}
In the picture I have selected seat_rot. Notice that all the vertices of the toilet set are red.

The "joint" acts as a pivot point, the animation in the game will cause it to turn and all the vertices that are assigned to it will turn with it.

The non-moving parts are all assigned to a joint too - in this case it is the "master" joint.

Some joints may have nothing assigned to them - don't panic, the game also uses joints as references for animations and other purposes - if Maxis didn't assign anything to a joint, you shouldn't either. Just leave them be.

Always check to see what part of the mesh is assigned to which joint to start with, and follow that example.

Also be aware that it IS possible to move the joints around in MilkShape - and although that might seem like a good idea to make something work differently, remember that this will affect the object itself only - any "Sim" animations connected to the object will not compensate for the new joint location. In other words, if I tried to make the toilet lower by moving the lid and it's joint down, the new toilet would in fact still work right in the game, the lid would still hinge as it should. However, the Sims would still sit on the place where the seat used to be, in other words they would float in the air above the toilet seat. So be very careful about moving the joints - I have shown them here for clarity, but really when editing it is best to un-checkmark "show skeleton" so it isn't possible to accidentally move them.

If you add any new vertices (which includes adding whole parts like cylinders, etc) you MUST assign them to the appropriate joint or they will not show up in the game.

To assign vertices just click on the joint name, then select the vertices you want to assign to it, and click the [Assign] button. You don't have to worry about selecting all the vertices that are assigned to that joint, only new ones or ones that you want to re-assign to a different joint.

It's as simple as that really. If you want part of your mesh to go up with the toilet lid, assign them to the "seat_rot" joint. If you want them to remain stationary, assign them to "master".

When you are done in MilkShape, export the mesh as a MS3D ASCII file back into your folder. I recommend using a new name, to preserve the original mesh in case you want to use it again in the future.

Back in SimPE, again go to the GMDC plugin section and use the [Import] button. Choose your new MS3D ASCII file and the Import Options window will open.
{pic 4}

You will see a list of all the mesh groups, and below them a list of all the joints.

Leave the joints alone, but select in turn each of the mesh groups and on the drop-down change each from "Add" to "Replace"

Then OK the import, and [Commit]

From here, continue on as you always do, your new mesh is ready to go with all joint assignments in place.
Screenshots
Lab Assistant
Original Poster
#8 Old 28th Mar 2007 at 3:04 PM Last edited by cwin1024 : 28th Mar 2007 at 3:24 PM.
That was absolutely AWESOME!!! You should really consider making that a tutorial. I cannot belive how easy that was to understand!...I thank you so much for FINALLY teaching me about animation. Now that I've got that figured out, I may have to start learning to make hacked objects, and I'll be a master...:D

UPDATE:

I guess I'm not a master after all, I still have one more question:

If I want to use 3ds max to create my mesh, but I still want to use milkshape to follow up before importing into simPE, how would I go about doing it? would I just create the mesh on it's own, and import it on top of the original mesh to keep the joints in place? Or would it still work if I imported the original mesh into 3ds max and then imported into milkshape after building the mesh?/
Scholar
#9 Old 29th Mar 2007 at 2:53 AM
Well, if you are using 3d Max, there is also the .smd file export/import available in SimPE. And I believe there is a .smd file import/export option available for 3dMax, although you may have to go download it somewhere.
This is also a "boned" file format, so you could do all the joint assigning right in 3dMax and bring it right back into SimPE.

The only drawback to that format is that .smd can only handle one mesh group at a time, so you would have to export/import each mesh group one at a time.

Anyway, if you do have that file format available in 3dMax you could just skip MilkShape altogether, but I can't help much more than that since I only have MilkShape myself.

Alternate method, using MilkShape as a go-between:

1} Import as .ms3dascii into MilkShape as explained above.
2} Rename each mesh group - something simple, just to prevent over-writing later - like add an "X" before each group's name.
3} Export this as an .obj file
4} Import the .obj file into 3dMax and do your editing
5} Export your finished new mesh from 3dMax as .obj file

============================

{6} In MilkShape, once again import the original .ms3dascii file - this will bring back the bone (joint) information.

{7} Import the .obj file you made in 3dMax right on top of it.

{8} Do all the joint assignments to the new groups

{9} Delete the original mesh groups

{10} Rename the "X" groups back to their original names

{11} Export as .ms3dascii file as explained above.
Lab Assistant
Original Poster
#10 Old 29th Mar 2007 at 9:43 PM
ok, thank you so much. that worked great! You are amazing!
Field Researcher
#11 Old 4th Apr 2007 at 4:23 PM Last edited by suceress : 5th Apr 2007 at 5:21 PM. Reason: Found the thread with demon's align normals tool
Wow! Thanks Dr. Pixel! I wasn't quite sure if moving the joints would make the Sims animations work properly, so you answered my question on that one. I saw somewhere that there is a program to make/edit animations in this thread. I haven't tried it yet because I can barely manage static objects, much less animations at this point.
Another thing that I think might not have been mentioned was that it is a good idea to use the Sims2 Unimesh Fix Underweighted Bones tool before exporting your modified mesh back into SimPE.
The Align Normals tool by Demon is something I was referred to from the create chat and I need to find the url again. I think it was at the insiminator site, but I could be wrong.
Oh, one more thing that you are probably aware of but that I only found out recently: When you import your own mesh into the file where the exported original gmdc is in Milkshape you often have to make sure that the group names are different from the maxis one so they don't get mixed up or overwritten and whatnot. Anyways, I found that after I deleted the Maxis mesh and renaming my groups and importing, the textures weren't applying properly and the names of the groups were what they had been before I renamed them. So in the Comment section next to groups I had to change it to the correct name in order for it to keep the new name when I exported. Did any of that make sense?

EDIT: Ok, Demon's align normals tool is here. Enjoy.
Test Subject
#12 Old 11th Apr 2007 at 9:53 AM
Default Thanks but i still got a question for the joints ????
Can we move or rotate the bones with the gmdc or should we use animation options for that ????
Field Researcher
#13 Old 18th Apr 2007 at 9:58 PM
Quote:
Originally Posted by cwin1024

If I want to use 3ds max to create my mesh, but I still want to use milkshape to follow up before importing into simPE, how would I go about doing it? would I just create the mesh on it's own, and import it on top of the original mesh to keep the joints in place? Or would it still work if I imported the original mesh into 3ds max and then imported into milkshape after building the mesh?/


I use Max, exporting meshes in the separate pieces for animation in a .3ds format, import them into milkshape, do your joint work, then regroup the items to export as an object. There are some problems with the smd but I've found no issues using .3ds -> obj

www.parsimonious.org
Artists - Get your own Studio! Always be featured!
Instructor
#14 Old 26th Oct 2007 at 12:03 AM
Retaining animations, bones and joints
Dr Pixel, all I can say is BLESS YOUR HEART and brains!

I've been looking through everything I could find in these forums for literally days trying to figure out how this is done.

I was following JWoods tutorial for objects, which is great but didn't include this key bit, which solved all of my mysteries.

After not seeming able to find the answer, I struck out on my own trying to find my way, but nothing seemed to quite do it.

Finally in another searching effort, I did simply a search for "[email protected]" and thankfully arrived at this crisp, clear and easy answer.

Thank you, thank you, thank you. You are the

The item I have been struggling over is a modified cloned teddy bear with a slightly modified mesh shape and a new texture.

It came into the game perfectly. One small glitch is the "carry" option, which fails to go right because it is lacking a "put here" as in the other teddy type toys. On failing, the new teddy bear items pops out of existance.

I am sure there is a reasonable solution for that.
Back to top