View Full Version : [TESTERS WANTED] AniMesh Exporter V1.0.1 for MilkShape (1.80 up) Update 18-sep-2007
WesHowe
8th Jul 2007, 07:40 PM
New Sims2 AniMesh Animation plugins for MilkShape.
This is not a revolutionary new discovery, as Miche has already made an animation converter quite some time back. Nor is it a new discovery of capabilities, as Atavera, Quaxi and others worked on further deciphering the ANIM format. No, it is merely an evolutionary improvement of the tools available for Sims2 modding. This is an all new program. While Miche was kind enough to pass along the source code for his converter, and I learned a lot from how the ANIM files were constructed, I had to then apply that in a different fashion for this exporter.
What this set of tools does is allow FK (forward kinematic) animations for body meshes and object meshes to be transferred from MilkShape to the Sims2 ANIM (.5an) file format so that it can be inserted directly in a .package file (usually by SimPE). Sources of animations would include making them, or transferring them from something else to MilkShape (via a .SMD file, for example). I had some generally poor results from exporting animations from SimPE (via ASCII or .SMD) and into MilkShape. In theory it should work, but it never quite got transferred. Animations are indivisibly tied to the skeleton they were made for, and transfers from other games and such will take additional work to adapt to the game.
Oh, did I mention you can also add or retain sounds and other events in your new animation? Yes, although you need to use game sounds or follow other tutorials for new sounds... the exporter has a method you can use to specify what and when to play in your animation. Hexameter posted an animation on making sounds, and Numenor has hinted at wanting to do one.
Additional information on the plugin, it's use, and animation in general can be found in the program notes, included with the distribution package, the next message in this thread, and additional threads nearby containing demos and tutorials by well-known Sims2 creators like Dr. Pixel, Echo and Marvine.
Like all MilkShape plugin installations, exit MilkShape, place the .zip file in your MilkShape directory (normally C:\Program Files\MilkShape 3D 1.x.x, where the x characters are the version number). Then unzip the file in that directory, allowing older files to be overwritten. When you restart MilkShape, your new plugins should be available. The exporter will be found in File/Export menu, the SkelTool importer on the File/Import menu and the JointTool under Tools.
(I know that videos would better serve to illustrate animations, but these two screenshots will have to do).
Special Thank You: Besides the pioneers mentioned above, I wanted to thank Mete (MilkShape's creator) for his technical advice on handling rotations, and special thanks to Marvine, Echo and Dr. Pixel for their willingness to try an unproven program, their careful observations and feedback on some of the bugs and issues uncovered and for their wonderfully creative demo ideas and tutorial writing. :beer:
<* Wes *>
V1.0.1 Update: 18-Sep-2007 - Added improved default rotations to exporter. fixed bug in CRES SkelTool importer
07-Feb-2008: Added AniMaxV031.rar and msRawAnimPluginsV02.zip. These are advanced animation tools, and consist of an ANIM file Disassembler/reassembler (Win XP .exe files) and a set of raw ANIM file tool plugins for MilkShape. More details are in readmes in the archives.
WesHowe
8th Jul 2007, 07:41 PM
If you want to make new, original animation stuff then be prepared for some work to do it. Animation may be easier or harder than meshing, I don't know, but it is definitely as difficult to get outstanding results. Now, in this message I will discuss some of the issues, but this will not be a tutorial, those will be posted elsewhere.
While the Sims2 has a standard skeleton for the Sims themselves, there are variables between SimPE export and the UniMesh Importer in the way the bones are ordered. Miche's Animation Converter used a starter file called "SimBody.SMD" with the bones in yet another order. This is not necessarily a problem, because the animation exporter uses the joint names, not their index, however the joints must be parented and commented with the game positioning values, as described in the program notes. But none of these are directly compatible with each other for being the starting point for your animation.
All the examples being released were built using AniMesh plugin tools, and thus are compatible. Skeletons from other sources must be converted to have the proper comments available. While this is not a trivial task, once done the result could be used as a template multiple times.
Object skeleton information must be obtained from the object CRES, there is not enough joint information in the GMDC alone to make the exporter work. While this can be a difficult task, there is a CRES SkelTool plugin included that will extract the needed data (bone name, parent name, parent-relative location and rotation) and add it to MilkShape.
A brief overview of how an animation works for TS2. In the mesh file (GMDC) is a set of joint locations in a numbered order, with absolute positions. Every vertex in the (animated) mesh file is read into the game with the position information retained relative to the assigned joint(s). Once the object is set for display, the rendering software positions the vertices at the joint relative location, based on the current joint positions. The current joint positions start out as the CRES position, as modified by the animations.
This is an important point. Unless the GMDC joints and the CRES joints start out in the same location, the animation will be distorted or relocated from the very beginning. Joints added to a mesh that do not exist in the CRES will never animate. Similarly, joints defined in the CRES but not present in the mesh will do nothing if animated. If all the joints were moved by the same amount, then the animation would work, but the mesh would not be centered in the right spot. But, if just one is wrong then only the parts assigned to that joint will be in the wrong place. This could make parts of an object appear in the wrong place.
Now, this issue has existed all along, and most people have figured out when the bones get misplaced how to fix things. But a similar issue exists when the joint position loaded into MilkShape when the animation is created and either the CRES or GMDC position is not the same. Unless all three agree, some movement or placements will be wrong during the animation. This can have some other interesting side effects because generally the game starts an animation from the position the object was left in when the last frame played, and unless you build your animation to specify all the bones, it will be used as an overlay.
Overlay animations are where only part of the Sim or object is animated. An example might be making a hand wave animation. If the animation was made specifying all the bones, and the Sim was in a standing position, when the animation played the Sim would move to a standing position (even if that is on the floor inside the perimeter of a couch or bed) and make the wave. If, instead, the animation only specified the bones in one arm and hand, then if seated the sim would just stay put and wave just the arm. However, if they were laying down they would continue to lay down, but the arm movement would look like they were waving to the sky.
Also, many game animations are multi-part items, where the face parts, teeth and eyes are included with the body animations. This exporter does not support, at least at this time, the creation of these. While some research and testing may show how to make the face animations work, at this time there is not facility for putting multiple parts together. While I encourage the research being done, we need to get what we can do stable first.
So, please have fun. While I have a placed a lot of technical stuff above here, it is not really very hard to get started. Follow the steps in Echo's tutorial and you will know how to animate... make just a few new things and you will be a Sims2 animating expert (there aren't too many of those, yet).
<* Wes *>
WesHowe
8th Jul 2007, 07:42 PM
There is no animation importer. Please do not ask for one, it is not coming because of the complexities and severe limitations involved. Importing an animation is like sending a roofer to an empty lot; until the foundation, walls and trusses have been installed, all you have are a bunch of shingles with no where to nail them to.
MilkShape does not support large parts of most of the game body animations, which have IK animation in them. IK animation requires both a program that supports it (among others, maya) and the proper configurations (rigging) both in the editor and matching code in the game engine.
I also have my doubts on the real utility of trying to change an animation from one thing to another. While it is easy enough to tweak a frame in an animation you made that you are unhappy with, tweaking every frame of some game animation will likely be no more productive than just making a new one.
As an additional incentive, everyone who fails to read this and asks for an importer will get christened with complimentary split of virtual champagne across their brow.
Otherwise, the rest of the forum is open for questions, bug reports and especially new findings... I have not been able to try all the possible animatable things out, and I hope that some of you will. I believe there is a lot of room for invention and discovery left here.
<* Wes *>
suceress
11th Jul 2007, 04:19 AM
Thank you so much Wes!
This is awesome!
I don't have enough knowledge and experience to use this just yet, but I look forward to a time when I am good enough with objects and such to try it out. This gives me inspiration to try. :-)
JohnBrehaut1
11th Jul 2007, 08:27 AM
Well this definately seems to surpass the previous tool I was using. The new features sound great, especially the sound one. Thank you Wes for making such an amazing tool! :)
Numenor
11th Jul 2007, 08:44 AM
Thanks a million! I've never used Miche's converter (too complicated for me), but this is much more intuitive and powerful! I couldn't believe to my eyes when my very first object animation worked in game! :)
Wonderful job!
$RaMRoM$
11th Jul 2007, 11:54 AM
Wow! this is great wes! will give it a try! :D
xanathon
11th Jul 2007, 02:17 PM
Wes, you're a genius (but that is stating the obvious...) :)
aldehydebends
12th Jul 2007, 06:53 AM
thanks so much Wes! i cant wait to get my hands on this!
Morague
12th Jul 2007, 01:15 PM
Now we know why you've been so busy! Thank you, once again, for providing us useful tools for MilkShape!
Morague
Paleoanth
14th Jul 2007, 06:32 AM
Oh my god! A new toy to play with. Thank you and I cannot wait to mess around with this.
AbstractSIMmer187
14th Jul 2007, 07:05 PM
I'm in utter awe!!!!!!! :O
bLURR
24th Jul 2007, 01:52 AM
o my, sounds very promising!!
Congrats Wes :)
Cant wait to see some results, think its too complicated for me, for now..
Nouk
26th Jul 2007, 04:56 PM
Amazing!!! *applauds*
NixNivis
30th Jul 2007, 07:00 PM
You. Are. Awesome!!! :D
WesHowe
30th Jul 2007, 09:42 PM
I appreciate the nice words.
I need no more flattery, as my head is already too big for my own good. :)
I would rather help some of you get some new stuff in the game using new and modified animations. Besides animating Sims, the plugins will animate objects. From simple things like a yard windmill with a turning blade, a clock with a moving second hand, cabinets that open and close, drawers that open and close, all sorts of simple animations can be made that we have never had because the animations are missing from the game package.
<* Wes *>
pinkpanthurpurr
3rd Aug 2007, 01:52 AM
Holy crap. you might not need the flattery, but I feel compelled to say it anyway -
You.Are.Awesome.
I doubt I will ever be skilled enoguh to use it, as I still can't even do a decent recolor, but I know genius when I see it! :) :up:
mininessie
15th Aug 2007, 03:32 PM
iīm trying on this
thanks you so much :D
Jasana_BugBreeder
28th Aug 2007, 07:08 AM
wes_h, first of all, thanks for the exporter, it's definitely worth playing with :D
Then, would you mind to clarify one thing? I resolved it myself, but wonder where it came from :-<
I'm using Milkshape 1.8.1b, UniMesh Import v4.09, AniMesh CRES Import v1.0.0 - seems to be all the latest versions?
I imported GMDC (from the fridge), the CRES, then moved some vertices. When exported and got 'No quaternion values stored'.
I read some threads :) checked the joint comments and found that they start from "PRelQuatDat:", not from "ImpQuatDat:". So I changed it, and export succeeded, and mesh appeared in the game :)
The comments were changed after CRES Import. I just wondering what it was - me using some wrong version of an importer, something special about the fridge (for example, it has no 'trans' type bones - wonder if it matters) or something else?
Thank you for these tools again, now I can do a lot of things I wanted to do :)
Echo
28th Aug 2007, 07:46 AM
If you intend to change the mesh itself, then you generally need to make those changes before you import the cres. The cres importer changes the joints into a format which can work with the animesh, but which makes them incompatible with the unimesh. It is, as I understand it, quite intentional. :)
Jasana_BugBreeder
28th Aug 2007, 11:04 AM
Echo, actually, I intended to change number of joints :) for which I know no other solution than to rebuild the GMDC by wes_h plugins :) It worked, by the way. So now I can have objects with any number of joints, arranged any way - I really appreciate that, it makes my imagination go wild :D
I'd prefer to change mesh in Max as usual, I consider it more convenient. Or I wouldn't be able to animate it after that, and I have to create animations first, then new mesh?
The cres importer changes the joints into a format which can work with the animesh, but which makes them incompatible with the unimesh.
Ah, I see, it makes sense. It's to avoid people messing up different formats? :)
WesHowe
28th Aug 2007, 05:06 PM
The intentional has to do with Maxis' design. The joints layout in the GMDC is an absolute position/rotation, with no joint heirarchy. The joints, as laid out in the CRES, have a parent-child heirarchy, and each child's position and rotation is relative to the parent.
If only to make our life harder, in a few cases the actual absolute positions in the GMDC are not the same as the positions in the CRES (generally by small amounts).
So I had to develop something that allowed my to save the joint positions for animation. Being parent relative, they are unusable in the algorithms that export the GMDC. Thus they have a different name.
The good news is that you do not need the mesh part for the animations. Just the joints. The mesh is there so you can see when one part touches another, but the ANIM exporter itself does not care. So, you can make a working ANIM-production copy and save it. If you later change the actual mesh details, they do not have to be updated in your ANIM working copy, unless the change is material and requires the animation to be adjusted because of it.
This also means you can import other objects (without joints) for use as props. If you posed a sim, and used the OBJ format to import it, you could experiment with animating your item in the sim's hand, for example, and you may export the animation even with all the extra mesh faces and groups still loaded.
You could leave the joints in the imported props and put "NoAnim:" in the comments, too, so that the posing work could be done. But here you have to be careful, because you should have only one root_rot and one root_trans joint. And you cannot exceed 128 total joints.
<* Wes *>
Jasana_BugBreeder
28th Aug 2007, 08:08 PM
Thanks for detailed explanation, Wes, it's much clearer now :)
This also means you can import other objects (without joints) for use as props.That's good news too - especially that those reference objects don't need to be deleted :)
mooman_fl
29th Aug 2007, 10:51 AM
Thanks for the FANTASTIC work on this plugin. I am currently updating JohnBrehaut1's sim animation tutorial to use AniMesh rather than Miche's Animation Converter.
Interested in doing a later tutorial that covers some of the more advanced features... as soon as I figure out how to use them. LOL
WesHowe
30th Aug 2007, 01:46 AM
well, thank you.
A revised, AniMesh specific body meshing tutorial would be a welcome addition.
<* Wes *>
p.s. didn't you used to live in florida? (FL)
mooman_fl
30th Aug 2007, 03:59 AM
Why yes I did. How could you tell? LOL
Moved to Georgia about 3 years ago, but people had already been calling me Mooman_FL for the better part of ten years online so I kept it.
Mmm6
30th Aug 2007, 04:33 PM
Hmm.I wv brdn!
Mmm6
30th Aug 2007, 04:35 PM
well, thank you.
A revised, AniMesh specific body meshing tutorial would be a welcome addition.
<* Wes *>
p.s. didn't you used to live in florida? (FL)
Can we make a deal? :deal: Show me how to make obj.Ples! :alarm: :alarm:
WesHowe
31st Aug 2007, 12:07 AM
I don't know what an obj.Ples is. Is it like .NET?
Please elaborate.
<* Wes *>
solfal
1st Sep 2007, 09:29 AM
Thank you so much Wes! This is awsome! I have been able to get Echos flag to animate in the game and it is so great. I am messing around trying to understand more and have a lot of fun even if I mostly fail in my atempts. :D
WesHowe
2nd Sep 2007, 02:31 AM
That is good news. Not the failures, but the success. If you can put Echo's flag together and make it work, you can try something just a little different, and then...
There is a lot of room in this space for new discoveries. Good luck.
<* Wes *>
solfal
4th Sep 2007, 09:53 PM
Hi Wes
I made a toddler animation where the toddler reaches forward with its right arm. When I use it in game in an interaction (testing the same interaction over and over again) the toddler reach randomly the right or the left arm. Do you know why this is happening?
WesHowe
5th Sep 2007, 03:53 AM
It has something to do with parameters of the BHAV you are calling the animation with. Animations can be run reversed, left to right, without changing the animation file, by changing a parameter in the BHAV. I know you can specify the reversal specifically. Having actions usable by either hand would be useful for door opening, as an example, where the same door requires a different hand depending on which side you approach it from.
Alas, I am not deeply conversant with the deatils. There are many that are, such as Echo, Inge, Numenor and many others. There is a whole forum in the Infocenter devoted to them.
<* Wes *>
Cytron
5th Sep 2007, 04:25 AM
Hello wes_h,
nice tool, thanks!
I tried it out, i made a new animation for a adult-object.. but I have problems with the animations, please see at the attachments.
(my english is not very good, sorry)
WesHowe
5th Sep 2007, 05:08 AM
I believe the animated gif is what you wanted in MilkShape, and the avi is what you saw in game.
I never see the skeleton flashing like that when I play animations in MilkShape, only when I set a key frame. It looks like the animated gif is from a screenshot of a default position and then a single keyframe. If you only have one keyframe set, you are going to have a static pose, not a moving animation.
That does not answer the arms movements, but you need to do this:
1. Go into ANIM mode.
2. Move the model into the desired start position, and then do a ctrl-K (Set Keyframe).
3. Move the keyframe pointer to position #2, move the model to the other position you want, and press ctrl-K again.
When you are done with this, you can press the play button ">" and the animation should play in MilkShape. When that works right, THEN export the animation and you should have better results.
<* Wes *>
Echo
5th Sep 2007, 11:28 AM
solfal - check if you've got the "flip flag in temp 3" option set. If you do, turn it off. :)
solfal
5th Sep 2007, 06:11 PM
Thank you Wes I didnīt know that. After reading your answer I found treads about it but all was speaking of it and I found no sulotion. So thank you Echo there it was! I changed the first opperand in the 2.nd row and that made the trick. :D
WesHowe
5th Sep 2007, 06:26 PM
Hello wes_h,
nice tool, thanks!
I tried it out, i made a new animation for a adult-object.. but I have problems with the animations, please see at the attachments.
(my english is not very good, sorry)
I conveyed some additional information to Cytron via PM. The actual problem is that "move" was used on spine0 to create the motion.
For Sim animation, you must only use "move" on the root_trans joint, to move the whole sim. Then use "rotate" on other joints to place the arms or legs where they need to go.
<* Wes *>
solfal
15th Sep 2007, 03:38 PM
Please dont christen me with complimentary split of virtual champagne, but I find the possibility to alter maxis animation very usufull ;) . Both to alter small parts, like "I do want to have that animation but I want the hand to remain still" then it is not that hard to delete the arm movements and get the animation as i want. It is also great to be able to delete say the last part of the movements in the animation to get the movement you want with not that much effort. (I tried to change the values for the arm to but it didnīt worked as I wanted) I also use it to be able to have the sounds that is part of the animation.
And here is my question. Is it possible to add sounds to my custom animation? Like paste sounds from another animations.
I am also curius about the add frame and clear frame options in the raw wiew. Or perhaps that is a SimPe question?
WesHowe
16th Sep 2007, 01:29 AM
The short answer is yes.
Now, if you have made a sound, or want to use one that is already made, you can add these to an animation via an events script. The entire script is written to allow a large number of sounds to be added.
I distributed a sample script and documented it in the program notes, all of which are in the ZIP file you downloaded. There are many things events can do, but sounds is the most common one. Sounds are referenced by their name, and they are started based on a timecode.
This would allow you to synchronize a sound with some action in the animation. It would also allow a single short sound, like a shot or a chop, to be repeated at chosen intervals in the animation.
I do not want to repost the documentation in the message thread, but I will be happy to answer your questions about it.
And while I have played with and edited some animations (just general experimentation), I have never used add frame or clear frame. Perhaps someone else has a good answer, although the names suggest they are there for what you want.
<* Wes *>
solfal
16th Sep 2007, 10:28 AM
Thank you so much Wes. I should have read that. It was very clear and workes great!
I have only been pasting sounds as how to imort my own sound is over my head, but it goes a long way to add more reality to the animations. This is great :D
WesHowe
16th Sep 2007, 11:24 PM
There is the tutorial by hexameter: http://www.modthesims2.com/showthread.php?p=1681401#post1681401
Numenor once promised to tell us how he made the sounds for his Sinclair computer: "Of course, I'm going to write an article for the InfoCenter to share my findings..."
But I never made new sounds, I just played with reusing the ones that were already in the game.
<* Wes *>
solfal
18th Sep 2007, 09:23 PM
Thank you for the link!
WesHowe
17th Oct 2007, 02:48 AM
I noticed that you seem to have taught yourself animation pretty well. I think the whole idea of the belly dance was quite creative. Even the radio that looks like a hookah was a cute touch.
<* Wes *>
porkypine
17th Oct 2007, 05:02 AM
Yipee! I go away for the summer and come back to find this wonderful animation tool! THANKS! now I'm off to practice breaking things. lol
solfal
17th Oct 2007, 10:36 AM
I noticed that you seem to have taught yourself animation pretty well. I think the whole idea of the belly dance was quite creative. Even the radio that looks like a hookah was a cute touch.
<* Wes *>
Thank you so much for your kind words Wes! I took a class in bellydance many ears ago and I was trying to make some of the moves from then. (It was fun but very hard to dance!)
I still have problems with the mooving feets. Thanks to the Marvine sphere metod, I did reduse the problems seen in milkshape but in game it shows bigger movements. I am glad I have come this far though and I do enjoy so much to be able to se my animations come to live in game!
rebecah
17th Nov 2007, 10:59 PM
Thanks very much Wes_h for creating your great plugins and for sharing them with us.
exnem
1st Jan 2008, 05:10 PM
Wow! I can't believe I've missed this!!!... WES!!! You are amazing!... I know I'm not very welcome around this parts but I wanted to show my support and thank you for your hard work and amazing genius.
Numenor
1st Jan 2008, 05:45 PM
If someone doesn't welcome you around these parts, it's not me for sure :) It's nice to see again your robotic avatar ;) -
WesHowe
1st Jan 2008, 11:24 PM
Well, thank you, Exnem. I like you, too, :)
I hope you can make good use of it, for whatever purposes. We have been stuck too long with "New Mesh" as the apex of creation.
<* Wes *>
decorgal21572
26th Jan 2008, 06: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.
marvine
26th Jan 2008, 08: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?
WesHowe
26th Jan 2008, 09: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 *>
decorgal21572
29th Jan 2008, 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.
WesHowe
29th Jan 2008, 05:42 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 (http://www.chumba.ch/chumbalum-soft/forum/showpost.php?p=130796&postcount=1)). 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 *>
decorgal21572
29th Jan 2008, 07: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...
marvine
29th Jan 2008, 09:02 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.
WesHowe
29th Jan 2008, 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 *>
rebecah
5th Feb 2008, 07: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!
WesHowe
5th Feb 2008, 08:18 PM
The UniMesh plugins are in post #1 of the UniMesh support thread HERE (http://www.modthesims2.com/showthread.php?t=122399).
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 *>
rebecah
5th Feb 2008, 11:03 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!
WesHowe
6th Feb 2008, 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 *>
rebecah
6th Feb 2008, 07: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!
WesHowe
8th Feb 2008, 05: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 *>
rebecah
9th Feb 2008, 06: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.
solfal
9th Feb 2008, 04: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.
WesHowe
10th Feb 2008, 02: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 *>
rebecah
12th Feb 2008, 04: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.
WesHowe
12th Feb 2008, 08: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 *>
rebecah
14th Feb 2008, 05: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.
Echo
14th Feb 2008, 09: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. :)
rebecah
14th Feb 2008, 10:04 AM
Thanks Echo!
This makes perfect sense now that you've explained it.
Echo
1st Mar 2008, 04: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. :)
WesHowe
1st Mar 2008, 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 *>
Kodiak
18th Mar 2008, 05:31 AM
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?
WesHowe
18th Mar 2008, 08:24 PM
First thing you want to do is study the layout and graph (draw) the heirarchy for all the bones. This is easiest to follow in the CRES section in SimPE. Since I don't have Pets loaded right now, I have to work from memory.
But what you are wanting to do is draw a picture of the skeleton, attaching each bone to the parent, all the way back to the root (duskel, root_trans, root_rot). Label each bone so that you have a guide to work from.
<* Wes *>
Kodiak
19th Mar 2008, 12:36 AM
Wes, I got that figured after making some comparisons with Milkshape 3D's Ascii for an Adult Man and a Big Dog, along with the 3D Preview in SimPE.
But by following in the Bone Heirarchy from CRES section in SimPE only returns the same order of children coming before their parents, the same cause for the CRES's infinate load in Milkshape.
Dealing with a pet's Bone Heirarchy is a bit tricky. You see, in a human Sim there is only one bone (one of the spine bone along with root_trans and root_rot) joining to the absolute root (auskel). That makes for easy parent to child. However, in a pet, there are two bones (one from the spine and the other from the head) joining to the absolute root (duskel). Perhaps that's because pets have their spine rather parallel to the ground? Anyhow, that may be the reason why they have child coming before parents. But then again, they can do away with the link on the head to the root.
At first I used the joint list from the SimPE's 3D Preview as the joint order. Then I realise that it's not according to order! The end result? A muddle of mass, poor dog! He even sank into the floor! All my tedious effort gone.
But then, I found the Bone Heirarchy from the GMDC. I got the bones reordered and the result was much better. However, some part are still out. Maybe that's because I don't know how certain child bones join to which parent. Those are the ones which are located at the same position. How can I tell which parent should I join the child to if they are in the same position? Give me some time to work on it again. I might list down those overlapping joints here later. For now, I can only do guess work. Does anyone know how to link them?
WesHowe
19th Mar 2008, 01:34 AM
OK. The reason I suggested a chart was we are going to reorder the bones, and we need to know all the parent-child relationships. Your official source for the heirarchy is the CRES, and the tool to best work with it is SimPE.
After you have the chart done, you need to make a list similar to this:
duskel {none}
root_trans duskel
root_rot root_trans
never forward referenced, until you have all the bones listed. Now put the joints your MilkShape Ascii file in this order.
Your mesh, when imported, will have all the bone assignments wrong. The good news is that only matters as far as what the animation looks like in MilkShape, the game will use what is in the game packages, and we do not need to change those.
To make the Animesh exporter work properly, you will need to also manually make the PrelQuat comments from the values in the CRES. I believe the readme file explains the order differences between the game and MilkShape.
You will need to clear the assignments and remake them to see your animation correctly. But, if you move the bones and export the animation, even without the assigments, the exported file is supposed to work. The animation references are passed along via name, not order (while the GMDC is passed by order, without names).
If you can't get the bare skeleton to animate properly, then we have a default rotations issue that may take me some time to get around to looking at.
<* Wes *>
Kodiak
20th Mar 2008, 03:57 AM
Alright, here's the LONG dog joint hierarchie list with a total of 75 joints in the format:
"child"
"parent"
###START###
"duskel"
""
"head_orient"
"duskel"
"root_trans"
"duskel"
"root_rot"
"root_trans"
"spine0"
"root_rot"
"spine1"
"spine0"
"breathe_bone_trans"
"spine1"
"spine2"
"spine1"
"r_shoulderoffset"
"spine2"
"r_shoulderblade_trans"
"r_shoulderoffset"
"r_clavicle"
"r_shoulderblade_trans"
"r_upperarm"
"r_clavicle"
"r_forearm"
"r_upperarm"
"r_hand"
"r_forearm"
"r_finger"
"r_hand"
"l_shoulderoffset"
"spine2"
"l_shoulderblade_trans"
"l_shoulderoffset"
"l_clavicle"
"l_shoulderblade_trans"
"l_upperarm"
"l_clavicle"
"l_forearm"
"l_upperarm"
"l_hand"
"l_forearm"
"l_finger"
"l_hand"
"neck0"
"spine2"
"neck1"
"neck0"
"head_fk"
"neck1"
"head"
"neck1"
"r_earbase_trans"
"head"
"r_upear0"
"r_earbase_trans"
"r_upear1"
"r_upear0"
"r_flopearoffset"
"r_earbase_trans"
"r_flopear0"
"r_flopearoffset"
"r_flopear1"
"r_flopear0"
"l_earbase_trans"
"head"
"l_upear0"
"l_earbase_trans"
"l_upear1"
"l_upear0"
"l_flopearoffset"
"l_earbase_trans"
"l_flopear0"
"l_flopearoffset"
"l_flopear1"
"l_flopear0"
"jaw"
"head"
"tonguebase_grip"
"jaw"
"tongue1_trans"
"tonguebase_grip"
"tongue1_rot"
"tongue1_trans"
"tongue2_rot"
"tongue1_rot"
"tongue3_rot"
"tongue2_rot"
"tongue4_rot"
"tongue3_rot"
"pelvis"
"spine0"
"r_thighoffset"
"pelvis"
"r_thigh_trans"
"r_thighoffset"
"r_thigh"
"r_thigh_trans"
"r_knee"
"r_thigh"
"r_calf"
"r_knee"
"r_foot"
"r_calf"
"r_toe"
"r_foot"
"l_thighoffset"
"pelvis"
"l_thigh_trans"
"l_thighoffset"
"l_thigh"
"l_thigh_trans"
"l_knee"
"l_thigh"
"l_calf"
"l_knee"
"l_foot"
"l_calf"
"l_toe"
"l_foot"
"wagpelvis"
"pelvis"
"tail0"
"wagpelvis"
"tail1"
"tail0"
"tail2"
"tail1"
"tail3"
"tail2"
"tail4"
"tail3"
"tail5"
"tail4"
"tail6"
"tail5"
"joint23"
""
"joint30"
""
"joint31"
""
"joint39"
""
"joint40"
""
"joint47"
""
"joint48"
""
###END###
I didn't know where to place the "jointXX"s bones (they are all at the end of the list for now) because I couldn't find them under the "CRES Hierarchie" tab in a CRES file view in SimPE. What are they and where should I place them?
After ordering that in the Milkshape Ascii, I still need the Quats, right? (Let's leave joint assignment last)
I don't really understand how to extract the Quat Values from SimPE even after reading your readme, Wes. And yes, Wes, you did an explicit explanation on the order differences between the game and MilkShape. But when I did a comparison with Dr Pixel's Man Mesh in Milkshape and the Man CRES file in SimPE, they don't match. Or at least I might be extracting the wrong values from SimPE. I was looking at duBody_cres>Content>cTransformNode and under light boxes Quaternion and Translation. Is that were I should be looking?
WesHowe
21st Mar 2008, 01:43 AM
Yes, under Content. The values in SimPE for your du skeleton are the ones you want to use for the PRelQuat values. For both translations and rotations you negate X and swap Y and Z.
You will end up typing all those into the joint comments (or cutting and pasting, still awkward and time consuming). If those few joints have no names and their positions are skipped over in the heirarchy, then 0,0,0 for the position and 0,0,0,1 for the rotation ought to be OK. For quaternions, four zeroes are an impossible combination, and 0,0,0,1 is no rotation.
The values used in mesh files for MilkShape will not agree with the CRES values. The values in the GMDC are absolute positions with no heirarchy. Works for meshing but is unsuitable for animation. To make the animation work, the heirarchy needs to be setup, and the values are now parent relative. So the position for the head is an increment from the neck, spine1 is an increment from spine0, and so on.
This is all designed so that the calculations at runtime are easier and faster. It makes the tool design and use harder, but you model an object once, but if performance is poor because the game engine is more processor intensive, it will always be poor, no matter what the artist does.
<* Wes *>
Kodiak
21st Mar 2008, 09:52 AM
The values used in mesh files for MilkShape will not agree with the CRES values. The values in the GMDC are absolute positions with no heirarchy. Works for meshing but is unsuitable for animation. To make the animation work, the heirarchy needs to be setup, and the values are now parent relative. So the position for the head is an increment from the neck, spine1 is an increment from spine0, and so on.
Yes, what you were referring to from the quote above are the set of 3 position values found in the exported Milkshape 3D Ascii text file:
"child joint"
"parent joint"
8 ###HERE###
0
0
Right? What I was referring to are the set of 4 quaternion values plus 3 Translation values found in the comment in Milkshape or the "ImpQuatDat:" for each joint. With reference to Dr Pixel's Man Body Mesh which is ready for animation, the values from "ImpQuatDat:" do not agree with those in the CRES file viewed in SimPE after comparing each respective joint and applying the "Direct X and OpenGL" correction.
WesHowe
21st Mar 2008, 08:47 PM
Oh. OK.
The body meshes are handled seperately inside the animation exporter. They always have the same heirarchy, and I could do that. So internally, the ImpQuatDat: comments are converted to the values I need. That's why you see that difference on the body meshes.
Objects come with no standard skeleton... they are all different. Hence the use of the tools that reads the CRES and creates different PRelQuat: comments, as well as parenting all the joints.
It all falls apart when the parents are forward referenced. Besides the Pets skeletons, there are a few others. Some of the vehicles have this, some don't. The vehicles, though, have fewer joints to adjust.
<* Wes *>
Kodiak
21st Mar 2008, 11:05 PM
By the way, what are PRelQuat values? I think I've been thinking PRelQuat values are the same as ImpQuartDat: values all this while.
WesHowe
22nd Mar 2008, 12:29 AM
When you run the CRES Importer plugin I made, it parses the CRES heirarchy and gets the name, parent information, position and default rotation of each true Joint. It then changes all the joint comments from ImpQuatDat: to PRelQuat: and inserts the new numbers, and reparents the joints and sets the appropriate position data fields.
The main reason for the name change is that the file, once prepared for animation, is incompatible with the UniMesh exporter. All this boils down to the fact that the joints in the GMDC and the joints in the CRES (the way they are used by the animation routines) are expressed in different ways, and none of the names or heirarchy information is available from the GMDC file.
<* Wes *>
Kodiak
22nd Mar 2008, 01:07 AM
So since I can only import the GMDC. I have to manually do the work your CRES Importer does. Does that mean I have to change all the joint comments from "ImpQuatDat:" to "PRelQuat:" apart from just getting the Quart and Trans values from SimPE?
WesHowe
22nd Mar 2008, 02:30 AM
Yes. You can change the comment values in the MilkShape Ascii file, or at least you can use paste to change the comment tags faster than editing each comment individually.
<* Wes *>
Kodiak
22nd Mar 2008, 03:16 AM
But when I changed the text "ImpQuatDat:" to "PRelQuat:" in the Ascii file, your AniMesh plugin will return an error saying quarternions not found in joint comments.
WesHowe
22nd Mar 2008, 04:39 AM
I have been working from memory, and like an old dog, it ain't as good as it once was. PRelQuatDat: is the proper tag to use - from the program notes for the anim exporter:
Object meshes with joints replaced by the SkelTool use PRelQuatDat: in the joints comments, and these are different vales from the body meshes, and they will not export as a mesh. You need to save a MilkShape .ms3d file with just the imported object mesh if you expect to be needing to modify and reexport the mesh.
EDIT: The "vales" above is a typo in the original text, "values" is the correct word.
Kodiak
22nd Mar 2008, 04:49 AM
The Mesh Animation Template still results in distortion in game after producing a sample animation. Any ideas?
I found that I could produce a much better result if I use the original "ImpQuartDat:" values from the GMDC and not by replacing them with values from the CRES.
WesHowe
27th Mar 2008, 11:29 PM
I cruised by the downloads section today and saw that you had succeeded in overcoming the obstacles with you ninja dog candidates.
BTW, they are way too cute.
<* Wes *>
Kodiak
8th Apr 2008, 02:01 AM
Hey Wes,
Well, there're still a few joints that do not work correctly. The ears and tongue mainly. Perhaps that's under facial expressions.
I've been wondering whether this problem with animation applies to Human Sims as well. When animating in Milkshape, especially when the animation involves the root_rot, while the animation turns to the correct direction (passing along the smaller angle), in game, it chooses to follow the larger angle, creating a quick spin in the opposite direction. I tried setting keyframes to all the frames between the two keyframes (specifying a small angle turn) which makes the quick opposite large angle spin, but the game still chooses a specific two frames to have it spin in the opposite direction. What's the best was to correct this?
If only we could deal with Inverse Kinematics and specify: "This is the path you should follow! Not choose the longer path!".
Echo
8th Apr 2008, 06:22 AM
Kodiak - See "When my object is turning in a circle, it suddenly spins around in the opposite direction for no reason!" here - http://www.modthesims2.com/showthread.php?t=239168 :)
Kodiak
8th Apr 2008, 09:16 AM
Opps... Dear me! It's even a sticky! Sorry, Echo. Now I can assure you that I've read that thread a few times over but it never registered to me as my mind must have been too pre-occupied with other points in animation. Thanks for that write-up! It's really useful!
Edit: For those who are interested, I recommend using SimPE to make the adjustments for animations over 180 degrees angle. Just select root_rot and follow your the rotations on any of the axis (X,Y,Z) you are rotating your animation. They should gradually increase or decrease negatively or possitively. When you see a sudden large angle change from positive to negative and vice versa, just replace it with:
-(sign of value of sudden change)(360 - |value of sudden change|)
In words, use 360 and minus the modulus value of the sudden change and add a negative sign to that value if the original value is positive, leave as positive value if the original value is negative.
You have to do this for all the following values until your animation stop rotating on that axis.
Also note that if you want to continue rotating in circles, you can have values going beyond -360 and 360.
smileychick
23rd Apr 2008, 01:33 PM
Hello,
I've just started learning how to create sim animations and i'm a little lost. I've read through a stack of tutorials but since they all use the old animation exporter thing, i've had to kind of branch out on my own to figure things out.
At the moment, i don't think i have any problems with actually creating an animation. My problems seem to begin when using simPE to get the animation into the game. My pie menu appears and the sim walks over to the object (like i instructed using BHAVs), but after that nothing happens - my custom animation doesnt run. At all.
Is there a tutorial or something floating around out there that can help me out, or do i have to wait a little while before one gets released?
Thanks in advance!
WesHowe
24th Apr 2008, 12:28 AM
I've read through a stack of tutorials but since they all use the old animation exporter thing, i've had to kind of branch out on my own to figure things out.
There is no old "animation exporter thing". Miche did release an animation converter.
It sounds like rather than a tutorial, you just need some help troubleshooting your creation. It could be that your new animation is not linked properly. All ANIM chunks need to be in group 0x1c0532fa, regardless of the group used for the rest of the object. You need to make sure you used 'Fix TGI' on the animation chunk for the current name, and that the name is properly linked in the proper STR#.
<* Wes *>
Echo
24th Apr 2008, 01:12 AM
Smileychick - Are you trying to create sim animations or object animations? There are tutorials, but it depends a bit on what you're trying to create.
The first thing I'd suggest is turning testing cheats on and seeing if you're getting any error messages.
smileychick
24th Apr 2008, 02:06 AM
Thanks guys! I figured out my problem. I wasn't pressing the fix TGI button. (I thought i had been...must have just dreamed i did). Now i know what i'm doing, I can start doing more complicated things. Thanks again!
Echo
4th Nov 2008, 03:21 AM
Hey Wes,
It's been a while, wonder if you could remind me... The animax importer prompts for *.anmdat files. When I decompile an animation, I get at least one of these but generally several. Is there a reason I can't import the ctl file and get all of them?
Chrizta0000
9th Nov 2008, 11:30 PM
Okay, I ran into another problem(Is that all I'm good at?). After two succesful animations, I did a walking animation and during the animation my Sim's legs all of a sudden do a full rotation. It looked perfectly fine in Milkshape. Can someone help me?
Echo
10th Nov 2008, 02:13 AM
Chrizta - Take a look at point two: "When my object is turning in a circle, it suddenly spins around in the opposite direction for no reason!" here:
http://www.modthesims2.com/showthread.php?t=239168
:)
Chrizta0000
10th Nov 2008, 03:25 AM
Oh...*facepalm* Something told me it had to do with that. I must've read that thread a thousand times, I even saw Kodiak's post but I thought both only referred to object animations.
Sorry, thanks for your help though.
Edit: Okay, I tried my very best to figure things out on my own but ultimately failed (miserably I may add). The legs are still rotating like they got a mind of their own. Then, when I am able to keep them from rotating(manually editing the rotations in Simpe), the legs still won't do my animation(Once again they do their own thing).
What should I specifically be looking at to fix this? Its the legs that are doing this, so I figured I must be looking at the r_thigh/l_thigh joints. After that though, I am pretty much lost.
Should I look at the walking animations from the Sims 2 to help guide myself?
Kodiak
29th Nov 2008, 11:05 PM
Chrizta, why don't you attach the file here so we can take a look? I believe manually editing the rotations in SimPE should work.
jokerswild
30th Nov 2008, 11:35 AM
I missed some information here but as Echo posted.
In Milkshape, I'm betting it's the pelvis and/or hip joints being rotated to far back in some frame. It's easy to mistakenly move a hip or pelvis back when trying to do a walk anim for Sims. The key is to never move them backwards.
If you didn't do it then the program did when it filled in one or more frames.
Sometimes I've even seen it happen hidden in between frames such as 10.5 so it can be hard to locate.
If you manually run the frames and don't see it happening then run it by the half frame by entering the numbers manually. It will then show the half frames.
A suggestion would be to always keep the very first frame as it is and make it the first key frame. Use the second frame as your temporary storage for what will be the actual first key frame. That way until you finish the anim you will have all the joints in the default places. You can then use it in many ways but the main way is, to reset individual joints by using the Milkshape copy and paste selected joints options. It will only show the crucifix frame for an instant while you test it in game. Once you are satisfied with the anim, simply copy paste key frame 2 over to 1, re export and you're done.
I know how frustrating this can be. If you still can't locate it, I would be happy assist in the search, as well.
sims24eva5
5th Jan 2010, 04:24 PM
I Unzipped it but i can't find it in milkshape :S What's wrong :!: :!: :!: :!:
Echo
9th Jan 2010, 02:19 PM
Have you followed all the instructions? You have to put the .dll files into the Milkshape directory, then restart Milkshape.
rafax-therevenge
17th Apr 2010, 03:11 AM
:alarm: I appreciate the nice words.
I need no more flattery, as my head is already too big for my own good. :)
I would rather help some of you get some new stuff in the game using new and modified animations. Besides animating Sims, the plugins will animate objects. From simple things like a yard windmill with a turning blade, a clock with a moving second hand, cabinets that open and close, drawers that open and close, all sorts of simple animations can be made that we have never had because the animations are missing from the game package.
<* Wes *>
sorry for bothering you but i follow step by step the instructions and they dont work, milkshape always says that theres nothing to export and that its empty or something like that, i would love if u could help me please!! :alarm: :!: :alarm:
TheSimhouse
30th Apr 2010, 06:45 PM
Oh thank you very much for this, Wes. :) I never thort this time would come when I would be exprenced enough to use this :lol:
Greatest thanks for sharing
Excuse my bad english if i spelt anything rong :blink: :rolleyes:
-thesimhouse
telefen
19th Sep 2010, 12:51 AM
I thank you very much for this &many other great programs you've created. I just don't know where to start at this point . I'm interested in learning animation but I'm confused as to which tutorial i should start with as of now. :help:,dince some of the old stuff refers to outdated tools so...can you or someone else cast a little light into this matter please . Thanks for any help.
erinrickmansworth
9th Oct 2010, 07:40 PM
well done looking forword but somthing has happed iv put it in the folder and it is not showing up in my exporter can you tell me what to do? thank-you :beer:
thehontry
2nd Dec 2010, 03:24 AM
its not letting me extract the file to my milkshape3D folder.
Echo
4th Dec 2010, 10:46 AM
thehontry, can you be a bit more specific about what's going wrong? Are you getting an error message? What unzipping program are you using?
thehontry
16th Dec 2010, 08:23 PM
im using winrar!
let me show you a picture:
http://img525.imageshack.us/img525/1364/74153430.jpg
thehontry
16th Dec 2010, 08:24 PM
it wont let me extract it to my milkshape folder?
then i tried extracting the whole file to my desktop and just placing them all in there...
and it still does not work??
Echo
17th Dec 2010, 05:55 AM
Do you have local admin privileges? It sounds like you're not allowed to write into that directory.
thehontry
17th Dec 2010, 10:54 PM
i probably dont?
lol
i guess i will try to go find out how to change that
xD
thanks x
Reama
21st Dec 2010, 05:01 PM
Would this be only for Milkshape, or will it work for Blender, too?
JenniferOrange
9th Jan 2011, 10:20 PM
Excellent excellent. Unfortuately, when I save the zip folder in my Programs/Milkshape folder, nothing happens. I go into the Milkshape folder to unzip it, and there's nothing there! :( When I found it by 'pretending' to save it, (and saw the file there) I tried to extract it but it said there were no files inside. :[ I have Windows Vista.. am I doing anything wrong?
HELP! :help:
FAIL EDIT-
Read the post above. Have the same problem. D: I am the Admin. but sometimes it likes to be stupid... Sorry! ;D I'll try Admin. Priveledges. :faceslap:
What?me?
8th Mar 2011, 11:57 PM
i wish there was picture or a video to show me how to take or something this thing to milkshape :-(
i know everything about making anim/poses now but i do only need this thing and i dont know how to get this here to milkshape :-(
Echo
11th Mar 2011, 09:30 AM
Could you explain your question again? I'm not sure I understand what you're after. :)
What?me?
20th Mar 2011, 09:55 PM
@echo
i mean that it would be great if someone could make a tutorial or something about how to put something like animesh exporter to milkshape :-P
because i dont know how to get animesh exporter to milkshape :-(
Echo
20th Mar 2011, 11:17 PM
You mean how to install the plugins? Just extract the zip file contents into your Milkshape folder, and restart Milkshape.
dottie65
10th Apr 2011, 02:29 PM
I am coming across some problems. I have downloaded everything needed to create my custom poses:
milkshake, SimPE, and its needed meshes.
Everything seems to go well, until I get ready to export my poses. The program, Sims2 AniMesh ANIM Export show up at all. :cry:
Is there any alternative for this? Will the Sims 2 Unimesh Exporter V4.09 work for the game as well?
I also have Windows 7 if that makes any difference.
hyperchild623
20th Jul 2011, 02:36 AM
Well I know to put the zip files in the Milkshape folder and THEN unzip them, but it says "Access denied" I checked my privileges and it says I can "Write" stuff, but it won't let me. I run Milkshape as an adminstrator so is there anything else I can do? :help: I can export it but that box won't show up so I can only save. Any ideas?
WesHowe
20th Jul 2011, 03:12 AM
Unless you log in with administrator privileges Windows is not going to let you add any new files to the program install folder.
hyperchild623
20th Jul 2011, 04:25 AM
Unless you log in with administrator privileges Windows is not going to let you add any new files to the program install folder.
But I do log in as an adminstrator. It's the only account I have on my computer, Windows 7. I logged off and back on to see if that did anything but it didn't.
Here's the image I get when I try to extract:
WesHowe
20th Jul 2011, 05:57 AM
"Access is denied" is coming from your Windows 7 file system. Windows Vista and Windows 7 have code that monitors the program installation folders (C:\Program Files (x86)\) and disallows modifications. The idea is to spare you the grief of reinstalling programs that were broken by accidentally adding or deleting files.
Since you were able to copy the zip file into the folder, you may be able to make a temporary folder in Documents, move the zip file there, unzip it and then drag the plug-in files (those ending in .dll) into the MilkShape folder. Until the plug-in you need is actually in that folder, and MilkShape restarted, you will not see the menu choice you need in the file->export menu.
You may also find additional help on this topic on other websites (I am not a Windows guru, just maybe a little bit ahead of you). Here is one link I found on Google that appears relevant: http://www.addictivetips.com/windows-tips/windows-7-access-denied-permission-ownership/.
<* Wes *>
hyperchild623
20th Jul 2011, 03:40 PM
"Access is denied" is coming from your Windows 7 file system. Windows Vista and Windows 7 have code that monitors the program installation folders (C:\Program Files (x86)\) and disallows modifications. The idea is to spare you the grief of reinstalling programs that were broken by accidentally adding or deleting files.
Since you were able to copy the zip file into the folder, you may be able to make a temporary folder in Documents, move the zip file there, unzip it and then drag the plug-in files (those ending in .dll) into the MilkShape folder. Until the plug-in you need is actually in that folder, and MilkShape restarted, you will not see the menu choice you need in the file->export menu.
You may also find additional help on this topic on other websites (I am not a Windows guru, just maybe a little bit ahead of you). Here is one link I found on Google that appears relevant: http://www.addictivetips.com/windows-tips/windows-7-access-denied-permission-ownership/.
<* Wes *>
Thank you so much! It worked! :D Now I can finally export correctly! Thanks so much for helping me! :giggler:
cupcakeluver
26th Nov 2011, 05:48 AM
I have tried everything. No matter what I do it will NOT install. I have put it into E:Program Files/Milkshape 3D 1.8.4 and extracted it there so many times, have double checked and have restarted Milkshape and it still will not show up. I have no idea what to do and no one else seems to have had this problem......
destiny1331
30th Apr 2012, 10:11 PM
Hi there,
I'm attempting to make a pet posebox using the templates that Kodiak has made, so far I have been able to create a very simplistic sit pose in Milkshape, and I had thought that using the TS2 AniMesh ANIM Exporter would work okay to exported the pose using the following instructions:
Object Name: auskel Length(ms) 8000 Blend Name - Left Blank-
I had been under the impression that setting Body Animation as ANIM type and Locomotion Type to Pose would be okay for the export of the animation/static pose.
When I went into SimPE to do the rest, I have noticed that the static pose/animation isn't showing up as a Dog Animation but showing up as an Adult animation. I don't think that I can make the BHAV coding as I am not calling to an Adult Sim but an Adult Dog. So I was wondering how do you export the static animal/dog pose to begin with and how do you get SimPE to recognise the animation as a Dog Animation/Pose instead of an Adult Sim. I am making a huge assumption that static poses can be made for animals, since it is possible to make custom animations I would have thought that custom static poses would also be possible.
The only other thing that I am curious/uncertain about is the TTAB and TTAs, would they be done in the same fashion as a posebox for a sim?
Thanks in advance for any help even if its a your a loon to even try this it can't be done.
vBulletin v3.0.14, Copyright ©2000-2013, Jelsoft Enterprises Ltd.