Hi there! You are currently browsing as a guest. Why not create an account? Then you get less ads, can thank creators, post feedback, keep a list of your favourites, and more!
Lab Assistant
#51 Old 26th Jan 2008 at 6:18 AM
So I'm making some new poses and adding a little bit of animation to them (am very happy)- it all works fine and all my poses are fine except one (am very mad). After I export the animation from Milkshape and then add/replace it in SimPE, under the "cAnimResourceConst tab," "Joint" pull down menu (to the right of the "SubMesh" menu), it ordinarily says "auskel (rot, 1, 1, 1)." But this one problem animation that I have says "backtarget_surface (rot, 1, 1, 1)" and the animation in game is all weird- it looks like the breathing is overlaying my animation. Anyway, I didn't do anything different in Milkshape or in SimPE for this one. I even redid the animation in Milkshape and it did the same thing again.

I can't seem to figure out what I did wrong or different and how I can fix it. When I look at the pull down menu, the "auskel" option isn't on there. I exported it the same way I exported all the others. I need help so I don't have to redo the animation again which is very time consuming and I don't end up ripping all my hair out. I'm hoping there's a simple solution. Thanks.

For movies, fashions, recolors and hack, visit http://decorgal.com
Advertisement
Instructor
#52 Old 26th Jan 2008 at 8:56 PM
Decorgal,
If you didn't add a "NoAnim:" comment to the missing joints in Milkshape, they should be displayed in this drop-down menu; so here I'm not sure what the issue would be. Also, some overlays will still apply to a custom animation under certain circumstances, so it may be a separate problem.
Would you mind uploading the ms3d file here, or PMing me a link for it so I can take a look and make a few tests?
Alchemist
Original Poster
#53 Old 26th Jan 2008 at 9:47 PM
Well, I don't want to retract from Marvines generous pledge of assistance, but from your description of the symptoms, I would believe that the GMDC you are using to animate with has a damaged skeleton, one that is missing some bones or has them improperly linked.

It is also possible it is an odd bug in the exporter, although I would think that any programming errors that would cause those symptoms would occur frequently. So if you do post it, maybe include the .MS3D file, because that might be damaged.

<* Wes *>

If you like to say what you think, be sure you know which to do first.
Lab Assistant
#54 Old 29th Jan 2008 at 12:09 AM
Thanks so much for your help. Attached is the pose. None of my other poses do this and before I tweeked the pose in Milkshape, this was importing in SimPE fine.
Attached files:
File Type: rar  a-modelpose-stand1.rar (90.5 KB, 52 downloads) - View custom content

For movies, fashions, recolors and hack, visit http://decorgal.com
Alchemist
Original Poster
#55 Old 29th Jan 2008 at 5:42 AM Last edited by wes_h : 29th Jan 2008 at 5:51 AM.
I didn't game test this, so if it doesn't fix the problem then I will have to do so for you.

The animation looked very odd... there were no frames on auskel, root_rot or root_trans and some other bones. I think that was the result of your working using the "Selected Joints Only" mode.

In MilkShape you can see in ANIM mode when a bone has a keyframe because it, and all the child joints, will be in a different color (on my copy, the joints change to a maroon color for a keyframe, but I don't remember if that is the way the program was shipped or if I set that color in the preferences). If you look at your original file, you will see many parts of the pose have no keyframe data. This is good where you want an overlay, like an arm wave, but you have to accept that the prior position will be left in place for any joints without frame data. It did not look like that was what you were trying to achieve on this animation.

I removed the head nods to simplify testing and reduce the variables, I would ask that you test this file first, then add those if it is all right.

I manually added in empty frames for all those joints. I used a tool I wrote for MilkShape which is not Sims2 specific, but works quite well for TS2 also(available HERE). That tool exports animation frames as editable text. While it is not foolproof, these plugins have enabled me to move some animations between formats (when combined with some edits and bone name changes). They are also good for exporting short clips... I set my first frame, export the raw frame data, do some animation, and import the first frame again, where it is appended as the last frame, ensuring the first and last frames match exactly.

<* Wes *>
Attached files:
File Type: rar  onearmhipleanX1.rar (90.5 KB, 46 downloads) - View custom content

If you like to say what you think, be sure you know which to do first.
Lab Assistant
#56 Old 29th Jan 2008 at 7:45 AM
Thanks so much Wes, it worked. So, I guess I shouldn't have the select joints only thing checked unless I'm looking for overlays which I'm not...

For movies, fashions, recolors and hack, visit http://decorgal.com
Instructor
#57 Old 29th Jan 2008 at 9:02 AM Last edited by marvine : 29th Jan 2008 at 9:10 AM.
Erm... I wish I had logged on earlier and spared Wes the pain >_<
The quick and easy fix, which I just tested in game, is to just open the ms3d file and "set keyframe" on the first frame, with "operate on selected joints only" unchecked - I should have suspected where the issue was but missed the obvious.
The checked mode is useful while building the animation and saves on the amount of data for longer animations, but the first keyframe should always include all the bones when you're not wanting an overlay.

Edit: here I should add that I tested Wes's tool for other purposes, and while I didn't find a quiet moment to attempt conversions from other formats, it works beautifully with Sims2 animations.
Alchemist
Original Poster
#58 Old 29th Jan 2008 at 11:27 PM
I am glad that fixed it.

The list of Sims 2 animators is pretty short. But Marvine knows as much practical as anybody, certainly more than me. I didn't think of just setting a new keyframe... so I used my editing tools. They should be compatible with "operate on selected joints" on or off.

And as Marvine points out, using "selected joints only" after frame 1 is a good thing.

Looking forward to seeing your latest work.

<* Wes *>

If you like to say what you think, be sure you know which to do first.
Scholar
#59 Old 5th Feb 2008 at 7:20 PM
I can not find your unimesh plugin for Milkshape.

Sorry for posting the question here but it is taking almost as long to get from one area to another as it does for my game to start today. Maybe the plugin is posted at the Milkshape site too. I did a search and checked you mini page but there's not a link to this listed.

I've been trying to work with a bed and found I could import it but can't export it becasue it had >4 morphs. Is there anyway to change this setting? I also tried to import a the cres but it has too many child nodes. Is it possible to increase the number of child nodes?

I'm also not able to import a sofa cres. I get like an invalid type of error.

Thanks so much in advance for your help.

I checked out your site and then your patents very impressive. Your really amazing!
Alchemist
Original Poster
#60 Old 5th Feb 2008 at 8:18 PM
The UniMesh plugins are in post #1 of the UniMesh support thread HERE.

Using MilkShape, we are stuck with a maximum of four morphs per group. The game can work with up to four per vertex, but there is nowhere to store or manipulate the data for additional morphs.

I will happily update the CRES importer if you will attach the troublesome CRES files. I may not have a copy of them here as I don't have all the EPs installed anymore.

<* Wes *>

If you like to say what you think, be sure you know which to do first.
Scholar
#61 Old 5th Feb 2008 at 11:03 PM Last edited by rebecah : 5th Feb 2008 at 11:09 PM.
Thanks Wes I really appreciate your help.

Thanks for the link I added it to my quick links so I don't have trouble in the future find it.

Oh I looked all over for a place to change the setting of the 4 morphs.

I tried to duplicate the error by cloning a couple of different loveseats. I found that I wasn't getting the error today. It maybe the file I cloned was corrupt or something.

I'm sorry I should have recloned it before I mentioned this. I think Milkshape was just giving me problems or else it was Simpe. I will just reclone the sofa and try it again first. I do have a pic of the ERR.

Thanks very much for taking the time to help me!
Screenshots
Alchemist
Original Poster
#62 Old 6th Feb 2008 at 12:55 AM
That error message looks like a corrupted file, or a memory error of some type. While there are very likely some CRES items it cannot read (I have never tested all of them), it should be consistently wrong. The CRES is very complicated and spmewhat convoluted to read.

I don't know what you meant about "changing the settings of the 4 morphs". The importer can import them, but the limit of four for export is related to not having any place to save the morph IDs "per vertex" in MilkShape, thus losing them.

Now, there are some possibilities to change the groupings to make more than four morphs per file work. The usable limit is four per group. I don't remember what the actual structure of the loveseats are, but some upholstered furniture I saw had morphs to change the cushion shape when sims sat in them. Regrouping the mesh and textures to have the cushions in one group and the frame in another would allow 8 morphs, four for the cushions and four for the frame.

Another option would be to drop a feature, or combine two. At runtime, morphs are located by name, and if a morph is triggered that is not in the object, no error results. This happens all the time on clothes meshes that do not have fat morphs.

Anyway, I will be around if you latch on to something you need fixed or any other questions.

<* Wes *>

If you like to say what you think, be sure you know which to do first.
Scholar
#63 Old 6th Feb 2008 at 7:53 AM
Thanks very much Wes I'll try that, I was thinking that might be an option. I did just remove all the morphs and was able to export it. My bedding worked pretty good but I lost the pillow movements. I created some beds for toddlers that are smaller in width than the regular maxis beds and I wanted to fix the bedding so that it worked.

Actually it's the bed that I have over 4 morphs. I don't remember what the sofa had. I had given up on using the sofa idea because of the error I was getting. So that wasn't very fresh in my mind. I mentioned it kind of as an after thought and since I was here to ask questions I figured I mights well add that.

I ment that I thought maybe there was a setting that I could change in Milkshape to allow me to export more than 4 morphs. I always try to figure things out for myself as much as I can. I fail miserbly sometimes. I'm so glad you seem to be around to give a helping hand when I need it. I really apprecite this very much. Thanks!
Alchemist
Original Poster
#64 Old 8th Feb 2008 at 5:09 AM
I added two more archive files to the first post in this thread.

The first (AniMax) is a very different sort of Sims 2 animation editing system from the exporter plugins. It has two main components, a ANIM disassembler (which generates editable text files) and an ANIM compiler, which can put those files back together for use in the game.

The reason these exist is that, while they offer no visual cues for editing, every part of an animation is exposed and may be edited. This includes adjusting values used for the facial morphs, as well as access to the values used for animation curves and IK animation, parts of the Sims 2 ANIM format that have no support in MilkShape.

The other package is a pair of MilkShape Raw ANIM format import/export plugins. They save in an intermediate text format also (not the same as the other format above). You can use these for saving and then appending animation "clips". You can also edit values in the animation itself to correct mistakes.

Neither of these packages are beginner stuff, and they have been available elsewhere before. I included them here for anyone wanting to solve some of the harder animation issues. While they have been tested and shown to work as described, because animation is not nearly as widespread as meshing they have not the same level of stress testing as the UniMesh plugins do.

As always, I would prefer to answer questions about these here, so the information isn't scattered all over MTS2.

<* Wes *>

If you like to say what you think, be sure you know which to do first.
Scholar
#65 Old 9th Feb 2008 at 6:19 AM
Thanks very much for this Wes!

I did try a small portion of the import process on a child animation for the swing. I did get some of the animation in. I'm to tired to really go through the whole process tonight, but I just had to tell you I'm so impressed with this and THANK-YOU!

You are a very incredible person. The Sims community is so lucky to have you.
Lab Assistant
#66 Old 9th Feb 2008 at 4:57 PM
This must be fantastic tools if I understand it right. It offers the possibility to take a Maxis animation and add some of your own text frames to it ?

I have no programming experince so I didnĀ“t even understand how to open the exe file. I did read the readme but it was to advanced for me.

I just wanted to pop in and say thank you for all the great things you make.
Alchemist
Original Poster
#67 Old 10th Feb 2008 at 2:44 AM
The import part is very imperfect. There are some rotation issues that show up, and none of the IK frames will import. Maxis used IK for almost all Sim animations for the arm and leg movements, so all or very nearly all of the character animations will be missing the arm and leg parts if you try to get them into MilkShape.

The good news is that using a text editor (Wordpad or Notepad work fine) you can move parts from Maxis animations into Animations you make, or cut parts from one animation and put it in another.

This requires a lot more understanding of how animations work than a lot of people have, and so I have tagged these as advanced tools, even though they are in some ways quite primitive. But all the parts are exposed for editing. If you confine yourself to editing movements, I have found that mistakes do not seem to crash the game, they just look nothing like what you intended.

At any rate, I hope they are of some use right now. I have looked at other uses for the code I worte to make this package, I have thought about different modelling packages besides MilkShape and about different games than Sims 2, but those at present are all either just ideas or incomplete efforts.

<* Wes *>

If you like to say what you think, be sure you know which to do first.
Scholar
#68 Old 12th Feb 2008 at 4:18 PM
I did find as you say only parts of the animations import. I do not have a total understanding of how the animations work, but I think I have a fair understanding. Certainly I'm nothing close to your understanding.

I do appreciate your creating these tools for us. I know very well how incomplete efforts go. I have several myself. Sometimes I just have to put them aside and go back to them later.
Alchemist
Original Poster
#69 Old 12th Feb 2008 at 8:08 PM
In animations, the way you know how to animate in MilkShape is called forward-kinematics (FK). In this process, you move the foot by moving the upper leg and lower leg until the foot is in the right place.

A later innovation in animation was called Inverse-Kinematics (IK). In it, you put the foot where it is supposed to go, and the computer, following some rules, bends the legs suitably for that position. Additionally, the foot or hand can be specified to move along a line or curve and all the needed joint positions are created to allow that to happen. In maya 7.0 they introduced FBIK (full body inverse kinematics) where the arms and legs are interconnected with the spine and hips and the rest of the body to produce animations more easily.

Now making animations with IK and then converting them to FK movements is called baking, but the Sims 2 game engine does not require the animations be baked, it accepts either FK or IK movements (but not FBIK). So in the ANIM files the arms and legs were usually moved via IK, and the rest of the body via FK. Neither MilkShape nor my plugins or other tools I have made are capable of converting the IK to FK or displaying it.

So when you import into MilkShape, the IK parts are lost. Because these are generally a very important part of the animation, the imported animation is usually useless.

However, the text file from the disassembly has all the movements data for FK and IK, and arm or leg movements can be transferred from one animation to another by copying the joint movement data from one file to another, and adjusting the frame timings to be compatible.

What we know as "morphs" in the game are vertex animations, and the values used to for them are also in the intermediate files. Besides preg and fat (and all the food morphs) the facial animations are also morphs.

As best I have bene able to determine, the hair animations are calculated effects (physics) and I have not found anywhere they can be edited or changed, except by way of changing the weightings in the mesh itself.

<* Wes *>

If you like to say what you think, be sure you know which to do first.
Scholar
#70 Old 14th Feb 2008 at 5:02 AM
When you create an animation that starts at one tile and ends 2 tiles over. How do you keep the sims from jumping back to the first tile? It's like they have a rubberband attached and it snaps them back.

I've attached a slide I'm working on if you'd like to see what I mean. I have a toddler animation that I've tried to make it appear that they are walking back but the legs go all flippy when make them head in another direction, I've tried this animation well over 100 times it takes me hours to get all these different frames and joint movements, it is so frustrating to not be able to figure it out. I also have a child animation that just ends at the end of the slide and they snap back to the front of the slide.

I took one of the pool slide animations for sliding and decompliled it but I really can't figure out where the turn starts nor why that animations starts at about 4 tiles away from the item. I do really like that I was able to remove all the effects and successfully recompiled the animation. That part of this new tool could be very beneficial by itself.

Thanks in advance for any help you might be able to give me.
Attached files:
File Type: zip  BecksPlaygroundSlide.zip (154.2 KB, 31 downloads) - View custom content
Retired Duck
retired moderator
#71 Old 14th Feb 2008 at 9:53 AM
Oddly enough, you sort of have to animate it in reverse. The way most objects like that work, they do something a bit like this.

Put at least two slots in the object (one/two routing, one container). Routing slot (e) goes where the sim starts, container slot (c) (and possibly other routing slot (x)) goes where the sim ends up. eg -
[cx][ ][e ]

Code then looks like this:
Route sim to slot e
Snap sim into slot c
Play animation such that the animation starts two tiles away from the origin and ends at the origin
(optionally) Snap sim into slot x, so that the sim can walk away again.

You might be able to change the order of the snap in c and the animation calls so that you don't have to end at the point of origin, I haven't tried. The above is generally how I've seen it done in Maxis code though.
Scholar
#72 Old 14th Feb 2008 at 10:04 AM
Thanks Echo!

This makes perfect sense now that you've explained it.
Retired Duck
retired moderator
#73 Old 1st Mar 2008 at 4:22 AM
Just dropping in a quick bug report for the cres importer. In some objects (mostly the heavily generic ones,) practical (cShapeRef) nodes can act as joints. When this happens, everything in the referenced SHPE/GMND/GMDC chain acts as though it is 100% assigned to that joint. Probably the most common of these cases is the cres for doors, although I've seen it in a few other objects.

You can tell if a practical node is acting as a joint, because it has a non -1 value in its cTransformNode GMDC joint index (the same as a regular joint). Practical node joints should use the filename as the joint name in any related anim files.

I think your existing cres import already partially recognizes them, because it loads in more joints than there are cObjectGraphNode joints. It doesn't seem to get them all though, and those it does get it cannot name. You get 'Joint00' and 'Joint01', rather than the proper joint name. That means that those joints can't be animated unless I go and rename them by hand.

This really isn't a big issue. There's all of about 5 people currently making animations for objects, and they're all using the (far simpler) technique of putting the whole skeleton underneath a single practical node. I only noticed it because I was trying to create a new type of door open/close animation and hit this issue.

As a side note, light nodes can apparently also be animated (I'm looking at o-door-open-CCW_anim) even though they have no joint id. That's all academic though, I'm not fussed about that at all.
Alchemist
Original Poster
#74 Old 1st Mar 2008 at 11:20 PM
Thanks for the report.

I will have to check the source to see why, but I suspect I am only pulling joints that have a joint as a root. The joint index value of less than 0x7fffffff (which is not -1) is used in the code, although I may have a check to ensure it is <= 127, to respect the MilkShape joint limit.

<* Wes *>

If you like to say what you think, be sure you know which to do first.
Lab Assistant
#75 Old 18th Mar 2008 at 5:31 AM
Pet Custom Animation
Hi everyone! I'm interested to get pet custom animating a go.

However, with the help of Wes, I've found out that things are less easy as for pet skeleton, some of the 'child' joints are defined before the 'parent'. Wes, decided that I could try reconstructing a pet (big dog) skeleton by hand that is reordered such that the parents all came before the children. I'm willing to attempt but I need help from those very much more experienced ones here. Many thanks in advance.

I'll be using 'duBody_tslocator_gmdc' for my pet mesh. Wes recomended exporting the pet mesh via MilkShape Ascii and editing the bone locations and order.

How do I go about editing the bone locations and order? Or does anyone have a better method to get pet animation working?
Page 3 of 6
Back to top