- Site Map >
- Modding and Creation >
- Sims 3 Creation >
- Meshing >
- Milkshape 3D - Making Additional Animation Rigs
- Site Map >
- Modding and Creation >
- Sims 3 Creation >
- Meshing >
- Milkshape 3D - Making Additional Animation Rigs
Posts: 4,419
Thanks: 2483 in 21 Posts
Here Base: http://code.google.com/p/s3pi-wrappers/downloads/list |
Thank you!
There is so much modding stuff arround, i lose track
Edit,
Oh, I did install the update already with Atevera's plugin....
Posts: 2,932
Thanks: 15575 in 28 Posts
Posts: 4,419
Thanks: 2483 in 21 Posts
Would you be willing to take a look or try to import the clip in the original a_female_walk.
I used Wes his rigfile both in the Animtool and in Milkshape.
Its the ms3d file, need to delete the meshes
Femalewalk.7z (308.3 KB, 53 downloads) - View custom content | ||
|
Posts: 2,932
Thanks: 15575 in 28 Posts
I see why you're trying to change the duration...she's moving pretty quick. However, the detail you added is not showing up in game. When you tried to change the duration did you do it with a test of something you know will work or did you try it on an experimental type Clip?
I'm not sure loading your new animation into the mesh like that is the way to go if you're trying to create a default replacement. Have you tried just exporting that CLIP without renaming, changing that to an smd, animating the smd how you've animated this, converting that back to a CLIP, packaging and putting it in your mods folder? That might work a little better than what you're trying here although I can't be sure...the only default replacements I made were played using the CM painting so they weren't trying to override the Clip in Fullbuild0.
Posts: 2,832
Thanks: 6613 in 20 Posts
<* Wes *>
If you like to say what you think, be sure you know which to do first.
Posts: 22
That would be interesting, thanks for the feedback. I need a lot more testing here, but I feel like this is a doable project. Last night I rigged up the skeleton with Maya's FBIK (which is easier to use than the HIK rigging) and point constrained the world offset to the hips and the foot offsets to the feet. Setting keys on those instead of the leg joints should replicate the types of motions "SS" (do you have a name?) shows in his video. The Maya FBIK rig includes IK on the arms, spine and head, that all comes with the package, but it appears that FK keys will need to be set on most of those joints. Fortunately, it's pretty easy in Maya to set up a custom shelf with buttons to key sets of joints. But I haven't yet got to the game-testing point yet, as more work is needed on my plug-in. <* Wes *> |
That would be awesome, Wes. The name is actually Alex (yeah, I know ) but most people refer to me as SSP or SS. If you need testers for Maya I can probably do this. I don't have Maya myself but have access to a computer that does. I won't be able to use it all the time but probably frequently enough. I've never used Maya though, but I'd never used Milkshape before either, I'm not afraid to research and experiment. I'll be making animations for my series so they will have a practical application.
Posts: 2,832
Thanks: 6613 in 20 Posts
I don't particularly want to 'pimp' particular programs. Blender is powerful, but I don't have a lot of experience with it. So is 3DS Max, but I don't have a recent version of it, and I am at the point where I know I cannot be the master of very many things, certainly not both.
Maya itself is pretty pricey for a full commercial license, but they have some very liberal terms for it for students, although I think you have to prove the student status. You can get a limited term license for free, or a permanent one for less than 1/10 the regular price. I suppose some of the choice you make would depend on what you plan to do in the future. 3DS Max, Maya and Softimage (XSI) are widely used by professionals and at game and movie studios, so if your long-term plans include working in those fields, well then you might want to master one or more of them as a step in that direction. Blender has a wide following, but is not used much at big studios, although I have seen some smaller ones using it.
Anyway, I don't work lightning fast, I just plod along a step at a time, so it could be more than days before you see anything. OTOH, I can be a bit of a bulldog when I choose to tackle something.
Oh, one more thing popped to mind. The errors you are getting from MilkShape are because you are using version 1.8.4 instead of the 1.8.5 beta. 1.8.5 added an extra data field in the skin weights extension, so you are probably not going to get the same smooth weights with 1.8.4 that were put into the newer base rigs that mesher and I uploaded, since that section of the file is what doesn't get loaded into 1.8.4. I know 1.8.5 says beta, and Mete is late on producing the final version, but I believe he is working on it actively at the moment. Oh, and he liked your video, too. While he isn't a 'Sims 3 modder' he is a game modder from 'way back' and thought it was cool (and was surprised that the Sims 3 game supported IK in the engine).
<* Wes *>
If you like to say what you think, be sure you know which to do first.
Posts: 108
Thanks: 3466 in 5 Posts
This is the text-dump it gives for auRig
Unknown01: 0x00000000 Unknown02: 00000000000000000000000000000000 Ik Chains: ==Ik Chain[0x00000000]== Unknown01: 0x00000000 Unknown02: 0000000000000000000000000000000000000000000000000000000000000000 IkPole: L_armExportPole IkPoleRoot: b__L_Clavicle__ SlotExport: L_slotInfo SlotExportRoot: b__ROOT_export__ SlotExportOffset: L_slotOffset SlotExportOffsetRoot: b__ROOT_export__ ExportJoint[0]: L_Info1 ExportJoint[1]: L_Info2 ExportJoint[2]: L_Info3 ExportJoint[3]: L_Info4 ExportJoint[4]: L_Info5 ExportJoint[5]: L_Info6 ExportJoint[6]: L_Info7 ExportJoint[7]: L_Info8 ExportJoint[8]: L_Info9 ExportJoint[9]: L_Info10 ExportRoot: rootWorld Unknown04: 0x00000000 Ik Links: ==Link[0]== Unknown01: 0x00000010 End: b__L_UpperArm__ Start: b__L_Clavicle__ ==Link[1]== Unknown01: 0x00000018 End: b__L_Forearm__ Start: b__L_UpperArm__ ==Link[2]== Unknown01: 0x00000020 End: b__L_Hand__ Start: b__L_Forearm__ ==Ik Chain[0x00000001]== Unknown01: 0x00000000 Unknown02: 0000000000000000000000000000000000000000000000000000000000000000 IkPole: R_armExportPole IkPoleRoot: b__R_Clavicle__ SlotExport: R_slotInfo SlotExportRoot: b__ROOT_export__ SlotExportOffset: R_slotOffset SlotExportOffsetRoot: b__ROOT_export__ ExportJoint[0]: R_Info1 ExportJoint[1]: R_Info2 ExportJoint[2]: R_Info3 ExportJoint[3]: R_Info4 ExportJoint[4]: R_Info5 ExportJoint[5]: R_Info6 ExportJoint[6]: R_Info7 ExportJoint[7]: R_Info8 ExportJoint[8]: R_Info9 ExportJoint[9]: R_Info10 ExportRoot: rootWorld Unknown04: 0x00000000 Ik Links: ==Link[0]== Unknown01: 0x00000010 End: b__R_UpperArm__ Start: b__R_Clavicle__ ==Link[1]== Unknown01: 0x00000018 End: b__R_Forearm__ Start: b__R_UpperArm__ ==Link[2]== Unknown01: 0x00000020 End: b__R_Hand__ Start: b__R_Forearm__ ==Ik Chain[0x00000002]== Unknown01: 0x00000000 Unknown02: 0000000000000000000000000000000000000000000000000000000000000000 IkPole: L_legExportPole IkPoleRoot: b__L_Thigh__ SlotExport: L_footInfo SlotExportRoot: b__ROOT_export__ SlotExportOffset: L_footOffset SlotExportOffsetRoot: b__ROOT_export__ ExportJoint[0]: L_footInfo1 ExportJoint[1]: L_footInfo2 ExportJoint[2]: L_footWorld ExportRoot: L_footWorld Unknown04: 0x00000000 Ik Links: ==Link[0]== Unknown01: 0x00000010 End: b__L_Thigh__ Start: b__Pelvis__ ==Link[1]== Unknown01: 0x00000018 End: b__L_Calf__ Start: b__L_Thigh__ ==Link[2]== Unknown01: 0x00000020 End: b__L_Foot__ Start: b__L_Calf__ ==Ik Chain[0x00000003]== Unknown01: 0x00000000 Unknown02: 0000000000000000000000000000000000000000000000000000000000000000 IkPole: R_legExportPole IkPoleRoot: b__R_Thigh__ SlotExport: R_footInfo SlotExportRoot: b__ROOT_export__ SlotExportOffset: R_footOffset SlotExportOffsetRoot: b__ROOT_export__ ExportJoint[0]: R_footInfo1 ExportJoint[1]: R_footInfo2 ExportJoint[2]: R_footWorld ExportRoot: R_footWorld Unknown04: 0x00000000 Ik Links: ==Link[0]== Unknown01: 0x00000010 End: b__R_Thigh__ Start: b__Pelvis__ ==Link[1]== Unknown01: 0x00000018 End: b__R_Calf__ Start: b__R_Thigh__ ==Link[2]== Unknown01: 0x00000020 End: b__R_Foot__ Start: b__R_Calf__ ==Ik Chain[0x00000004]== Unknown01: 0x00000001 Unknown02: 0000000000000000000000000000000000000000000000000000000000000000 IkPole: NULL IkPoleRoot: NULL SlotExport: Root_info SlotExportRoot: b__ROOT_export__ SlotExportOffset: rootOffset SlotExportOffsetRoot: b__ROOT_export__ ExportJoint[0]: RootInfo1 ExportJoint[1]: RootInfo2 ExportJoint[2]: rootWorld ExportRoot: rootWorld Unknown04: 0x00000000 Ik Links: ==Link[0]== Unknown01: 0x00000008 End: b__ROOT_bind__ Start: b__ROOT__
Posts: 35
-------------------------
Thanks to atavera foir bringing my attention to the the info about IKs in the Rig files.
Posts: 2,832
Thanks: 6613 in 20 Posts
All of my tools should work up to 255 joints, too. Updating the count would not be a big issue, but the limit it is where it is because of the MilkShape bottleneck.
'pole' joints are usually a part of the IK setup and are used to help prevent unwanted reverse bending and joints flipping. It does not surprise me that the foot offset is what you found controlling the feet. If there is not a similar hand offset then there is probably no support in the game IK for the arms. I would think slot offset is for the placement of objects, and that may well be the purpose of some of the other joints, like all the info joints. Hard to tell from the outside, surely someone at EA knows, but they aren't telling us detailed stuff like they did for Sims 2.
<* Wes *>
If you like to say what you think, be sure you know which to do first.
Posts: 108
Thanks: 3466 in 5 Posts
Funny thing, when swapping the arm IK chains with the legs:
http://imageshack.us/clip/my-videos/88/v6v.mp4/
(note: the animation was not in any way altered, only the order of the IK chains in the rig)
Posts: 35
MilkShape is pretty much hard limited to 255 joints.. 0xFF |
And you are correct again. I removed the case study above to avoid confusion, several bones on that animation was not working as expected.
I did a quick try on max, using IK Limbs solver.
http://imageshack.us/clip/my-videos/846/lak.mp4/
Only one bone is animated, R_footOffset.
After reading this publication I started to understand the pole concept. This is new to me, it's not used on Max's IK Limbs solver, that is a "2 clicks solution", easy but limited.
Posts: 2,832
Thanks: 6613 in 20 Posts
I only have a very old version of Max, and I hardly ever use it except sometimes to convert .max files, so I am not good with it. But in Maya I have used a solution called FBIK, which is adapted to the female character I uploaded, which is your skeleton, my old mesh as modified with the skin weight transfer plug-ins. The matching is done by using joint labels, which allowed me to associate all of the relevant body joints with specific standard bipedal joint names, but leaves the actual joint names the same as they are in TS3. I know Max has a CAT setup and a Biped setup, that may be similar. Or maybe you just have to add IK with the IK Limbs solver.
In Maya I took the two foot offsets and the world offset and use what in Maya is called a 'point constraint' on them with the offset option enabled, and constrained the offset joints to the two feet and the hips. The point constraint, used with the offset enabled, causes what is constrained to follow the moves of the 'driver' exactly, but always the same distance away as it was when you set it up. So in the world offset case, the joint stays at 0,0,0 until the hips move. If the hips move down, the Y value decreases (Maya is either Y up or Z up, I use Y up always, same axes as MilkShape). Hips move left some amount, world offset moves left (-X) the same amount.
EDIT: Perhaps I need a parent constraint instead so that the rotations get copied to the joints, I'll have to test this.
With the IK setup in Maya, if I move the hips down, the feet stay on the floor, in that case the world offset has moved -Y, the foot offsets have remained at 0,0,0. This appears to replicate what I saw Alex do in his video. I have had to reinstall some stuff to get organized to test all this, as I had changed computers since I wrote a lot of this stuff and had not done any Sims 3 modding since the computer swap. And I still have the Maya<->MilkShape process under development. But I plan to set keys on the offset joints, which have been moved the appropriate amounts by the constraints. That should be the equivalent of what Alex did in his video, except done while being able to see the character pose, not just guessing as he was forced to do by MilkShape's functional limitations.
All the rest of the body has IK on it, and FBIK has these various IK setups integrated such that you could grab an arm effector and pull it down and forward, and you would get leg bending, spine bending and spine and hip twisting. Now while we probably cannot directly export those movements as IK to be interpreted by the game, that is not a problem because all you would do is key the appropriate FK joints and that should capture the motions. So user manipulates IK, IK manipulates the skeleton, and the keys are set on the skeletal movements.
I am not sure that using the game IK would really be necessary to make good animations easily, as you can essentially just make the poses and then bake all the IK to the joints, but it looks like it would be fun to explore (as you are doing).
<* Wes *>
If you like to say what you think, be sure you know which to do first.
Posts: 1,740
Thanks: 107805 in 53 Posts
Now while we probably cannot directly export those movements as IK to be interpreted by the game, that is not a problem because all you would do is key the appropriate FK joints and that should capture the motions. So user manipulates IK, IK manipulates the skeleton, and the keys are set on the skeletal movements. |
This is true. I've done this with the upper body, IK added to the arms, and it gave very smooth and fluid results.
| (• ◡•)| (❍ᴥ❍ʋ) [◕ ‿ ◕]
Posts: 22
Well, I just asked for a name because it seems more personal than "hey you SS". I remember now that you used Alex on your video for the character. I don't particularly want to 'pimp' particular programs. Blender is powerful, but I don't have a lot of experience with it. So is 3DS Max, but I don't have a recent version of it, and I am at the point where I know I cannot be the master of very many things, certainly not both. Maya itself is pretty pricey for a full commercial license, but they have some very liberal terms for it for students, although I think you have to prove the student status. You can get a limited term license for free, or a permanent one for less than 1/10 the regular price. I suppose some of the choice you make would depend on what you plan to do in the future. 3DS Max, Maya and Softimage (XSI) are widely used by professionals and at game and movie studios, so if your long-term plans include working in those fields, well then you might want to master one or more of them as a step in that direction. Blender has a wide following, but is not used much at big studios, although I have seen some smaller ones using it. Anyway, I don't work lightning fast, I just plod along a step at a time, so it could be more than days before you see anything. OTOH, I can be a bit of a bulldog when I choose to tackle something. Oh, one more thing popped to mind. The errors you are getting from MilkShape are because you are using version 1.8.4 instead of the 1.8.5 beta. 1.8.5 added an extra data field in the skin weights extension, so you are probably not going to get the same smooth weights with 1.8.4 that were put into the newer base rigs that mesher and I uploaded, since that section of the file is what doesn't get loaded into 1.8.4. I know 1.8.5 says beta, and Mete is late on producing the final version, but I believe he is working on it actively at the moment. Oh, and he liked your video, too. While he isn't a 'Sims 3 modder' he is a game modder from 'way back' and thought it was cool (and was surprised that the Sims 3 game supported IK in the engine). <* Wes *> |
Thanks. It's definitely a possibility that I can hold of a student version of Maya. I'll look into that.
I also can take a while to do things, I don't get as much time as I'd like to work on the fun stuff like the series. Sometimes I don't get the chance to work on anything for days, so I'm in the same boat.
I plan to get a copy of 1.8.5 of Milkshape. It's really awesome that people like Mete are developing software that's accessible to most. It's cool that he's a game modder. That explains all the various import and export options. And it's really awesome he liked the video Another successful Sims 3 custom animation has been made because of all your mod tools. They followed my tutorial and it worked. I'm hoping to see many more custom animations developing over time.
It really helps with animating that Sims 3 supports Ik chains. It makes it so much faster to do and results in smoother more natural animations.
Posts: 22
I noticed something very interesting though when testing the Animation Player. I looped 4 animations, two from EA and two custom. The last custom animation involved the sim ending up sitting on the floor. When looping, the sim stood up naturally afterwards and continued with the looping sequence of animations. The game somehow interpolated this and animated the sim from a seated to standing position. My animation did not have the sim standing up again from the floor position. The final keyframe was with him still sitting on the floor. It's really cool that the game does this, as numerous interesting things can be done depending on the order of the animation sequence.
Posts: 4,419
Thanks: 2483 in 21 Posts
Posts: 2,932
Thanks: 15575 in 28 Posts
Posts: 2,832
Thanks: 6613 in 20 Posts
The game somehow interpolated this and animated the sim from a seated to standing position. |
This is typical of game animation systems. 'tweening applies from frame to frame, per joint, regardless of whether the frames actually came from the same animation. So your last frame had the sim seated, and the first frame of the next animation had the sim standing. I don't know the timing details, but the game just applied interpolation between the last and first frames.
So a long sequence like one of the exercise routines would best be broken into a series of animation, standing-to-seated, then various seated limb movements, with grimaces, and a final seated-to-standing. With planning this could look very smooth.
The original design of the AnimTool used a rigfile.txt as a specifier (if the name rigfile.txt is present, that will be used without having to navigate to it with the file dialog). It was made that way to allow for the ability to add or remove joints as the conversion was performed.
If a joint is not keyed in an animation, the previous position will remain. I had hoped to have the ability for someone to make an animation that had just the arm animated in a wave, for example, so that the animation could be played on a sim seated or standing and the arm would be the only thing that moved.
However, revising rigfiles is certainly not a simple enough process. I am toying with some other ideas, maybe a checkbox config dialog built into the AnimTool, perhaps with saveable/loadable presets, to turn joints on and off (for conversion purposes). Because while I could write CLIP exporters/importers for MilkShape and/or Maya (but not easily for Max or Blender), I wrote the AnimTool instead as a converter because I wanted something available that was not wedded to any particular program. The fact that we have more MilkShape users (while somewhat limited, it is cheap and easy to learn) around than anything else is likely the main reason there is so much more anim work being done using MilkShape.
Enough chatter, Wes... back to work.
If you like to say what you think, be sure you know which to do first.
Posts: 19
Thanks: 1 in 1 Posts
Another successful Sims 3 custom animation has been made because of all your mod tools. They followed my tutorial and it worked. I'm hoping to see many more custom animations developing over time. It really helps with animating that Sims 3 supports Ik chains. It makes it so much faster to do and results in smoother more natural animations. |
Hello! I usually lurk but have been reading all the threads relating to animations. Alex's tutorial finally put fire under my butt yesterday and I made my first animation. The animation is a bit slow simply because i stretched it over a lot of keyframes to see if I can make long animations. Apparently we can. So it will be a lot of fun to make long complicated animations. I also wish there was a way to see the leg movements in Milkshape as I am not as good at knowing as Alex is... so I am still a bit lower limb shy as the trial and error and reloading the game each time frustrates me a little. (BUT I would love to keep the IKchains there so am unwilling to delete them as the movement is a lot more natural and just easier to use... I just want to SEE what I am doing as I am doing it)
Anyway, here is my first animation-
http://www.youtube.com/watch?v=HaH9-PDb9F4
I am about to go completely crazy soon because all I want to do now is create animations for my own machinima and contribute to the community in some way! All of you developers are amazing and you should know how appreciated your hard work is for machinima artists. :lovestruc :lovestruc :lovestruc :lovestruc :lovestruc
edit: I also plan on getting the newest version of Milkshape when finances allow so I can keep up with new developments! I cannot express how happy you have all made me with your hard work!
*meow*
Posts: 108
Thanks: 3466 in 5 Posts
Posts: 2,932
Thanks: 15575 in 28 Posts
Posts: 108
Thanks: 3466 in 5 Posts
Posts: 2,832
Thanks: 6613 in 20 Posts
edit: I also plan on getting the newest version of Milkshape when finances allow so I can keep up with new developments! I cannot express how happy you have all made me with your hard work! |
Not to pimp things, but if you have a working copy of recent vintage, then the updates are free. You usually do not even have to put the activation code in, the installer finds it in the old version (which you do not need to uninstall until you are sure everything works right).
If you like to say what you think, be sure you know which to do first.
Posts: 19
Thanks: 1 in 1 Posts
Not to pimp things, but if you have a working copy of recent vintage, then the updates are free. You usually do not even have to put the activation code in, the installer finds it in the old version (which you do not need to uninstall until you are sure everything works right). |
Oh deary me! I thought you had to buy the newer version (I used to mess a bit with half life, but half life bores me so that was short lived). I have updated and all is well. Thanks! Brain phhaaarrrt on my part.
*meow*
Who Posted
|