Hi there! You are currently browsing as a guest. Why not create an account? Then you get less ads, can thank creators, post feedback, keep a list of your favourites, and more!
Instructor
#26 Old 23rd Sep 2007 at 9:37 PM
Oh I see! Then you can select the joints you don't want to be taken into account in the first keyframe, and "remove keyframe" for those with "operate on selected joints only" checked.
The first keyframe set for all bones when you didn't specify it is a bit annoying - it will also happen when you come back to an animation and change something in the middle of it; but well, it's easily fixed.
Advertisement
Lab Assistant
#27 Old 25th Sep 2007 at 6:41 PM
Great news marvine! This will be fun to test!
Alchemist
#28 Old 26th Sep 2007 at 3:29 AM
Until we have more people experimenting with animation, there will be a lot of unknown aspects of animation techniques.

But the overlay aspect is understood, even if poorly explained. If a joint is not specifically positioned in an ANIM file, the game engine will not move it (except in conjunction with moving the parent joints). So the only difference in an overlay and a full animation is whether all the bones are moved, or only a few. It works this way for a pose or an action animation, so for a pose you would usually want to set keys for all joints.

In MilkShape, this is controlled by the "Operate Only On Selected Joints". When that box is checked, MilkShape will only generate position or rotation keys in keyframes for the joints you are moving. When it is unchecked, all the joints get a position or rotation key set in a keyframe. As best I can tell, you can turn this on and off while building an animation, allowing the first frame to be for all joints, with subsequent actions for only specific joints. If you need to be sure about the position where your animation starts at, you need to set the first keyframe for that position for all joints (except for the _hair joints). Unlike the animation converter that Miche made, the AnimExporter will pass the first frame you set to the game, rather than using it only for joint position data.

The AnimExporter works off the list of keys that MilkShape builds from your input. Hair animations are built into the game as overlays, operating off the five _hair bones. When you use MilkShape such that keyframes get set for all bones, this will include those five joints. However, this stifles the hair animations, as well as interfering with the setting of the hair_trans (which I believe is used to fit the hair to the head) in the CRES.

So I added a keyword for the joint comments called "NoAnim:". Since I cannot actually reprogram MilkShape itself, the comments provide a mechanism whereby I can allow special things to override the default behavior. As seen in Dr. Pixel's animation starter defaults, when this keyword is placed in a joint comment, the exporter will just ignore any keys in MilkShape. And if the exporter does not pass keys to the game, then the previous positions will be used.

<* Wes *>

p.s. I am interested in seeing what you come up with in your experiments.

If you like to say what you think, be sure you know which to do first.
Lab Assistant
#29 Old 27th Sep 2007 at 6:12 PM
Great information Wes!
Combining "work on selected bones on or of" workes great and as far as I understand it is easiest to work on selected bones only exept before some trans moves.
After reading your post several times I finaly discovered the comment button in milkshape . I havn´t tested it yet but I guess that means you can write NoAnim on the joints you want to blend in with the former animation, wich is so great!!
I am all new to making animations, here is a try to make a step up animation for the child.
It rotates the l thight, but it was easy to get rid of the - in SimPE to get it right.
Attached files:
File Type: rar  c-stand-take-step-up2.rar (86.1 KB, 42 downloads) - View custom content
Alchemist
#30 Old 28th Sep 2007 at 2:57 AM
That is nice work. I expect something good from you soon.

I hope you wanted some feedback. If you didn't, please close your eyes fro the rest of the post.

You probably want to start with a different first frame than the default arms-out pose. This is because when your animation is played, the game will move the child from whatever position he is in to that arms-out pose, and then to your second fram position. At game speed, this will look glitchy.

Dr. Pixel has suggested elsewhere to use the arms on hips, or arms at side pose for the first frame, and I agree as a general guideline. Most of the game play animations start and end closer to this position, so a less glitchy transition will result.

The only other thing I noticed was that the left foot shifts forward and backward a little as the body moves. I know this is a difficult part to get right, but I will pass along one of the secrets from a master (Marvine). She creates a small sphere and puts it on the ground where the foot should be anchored, allowing her to move the foot back to the right spot on each frame. Because this .ms3d file is not for exporting a mesh, the sphere (or any other prop you might use, such as a box) does not affect the animation, and since it has no bone assignment, it stays in place as you move the sims.

<* Wes *>

If you like to say what you think, be sure you know which to do first.
Lab Assistant
#31 Old 28th Sep 2007 at 1:00 PM
Thank you for your kind words
I love feed back!
I have tested both with arms down and arms straight and as you say it looks much better with arms down from the beginning.
I tested the sphere and it was so much easier to get the position right. Great tip!
Lab Assistant
#32 Old 1st Oct 2007 at 8:09 PM
I went back to object animation and was very happy that my brain didn´t boiled when reading Wes notes about adding joints, I actually thought I understood them!
I thought I would start small and add one joint (head_rot)to the package I made before and got to work. But I am lost at the part where I should add the lines from model information. As I exported the other joints from the package as described I expected to se their values from the CRES in the model information, but I didn´t. Have I got it all wrong?
I knew thinking I understood it was to good to be true .

(It is called hallowen painting as it was my hope to make one if I could get it to work!)
Screenshots
Attached files:
File Type: rar  SolfalHallowenPainting0710.rar (55.4 KB, 20 downloads) - View custom content
Alchemist
#33 Old 1st Oct 2007 at 11:07 PM
The joint rotation value is zero. This is good.
For the rotation in the CRES, use these four values: 0.0 0.0 0.0 1.0
This is a zero rotation in the quaternion format the game expects (yeah, it's a mouthful, but SimPE can translate these for you when needed).

The Position of the joint in Model Information is 0.0 0.0 0.194436
Always this is read as X Y Z.
We have to rearrange the values because the game and MilkShape use different axis orders.

You change the first number to negative, but 0 is a special case that does not really need (but can be) changed. Otherwise, a value of 1.0 would become -1.0. Simple.

The second and third values are to be exchanged (Y/Z swap).

So the XYZ to put into SimPE is -0.0 0.194436 0.0

I am not sure if this is your plan, but right now you have head_rot as a child of door_rot. This means when door_rot rotates, the head_rot will tag along. If this is the plan, you got it right, If you want head_rot to be independent of door_rot, it should be parented to root_trans instead. If you change the parent, it will change the XYZ positions of the child.

<* Wes *>

If you like to say what you think, be sure you know which to do first.
Lab Assistant
#34 Old 2nd Oct 2007 at 6:51 PM
I had no plan, I only wanted to se if I could get my new joint to animate in game .
Well I couldn´t. I guess I made a misstake when I added the the joint in the CRES. I cant get the values to commit. It says it does commit but when I leave the CRES and then goes back the values are gone.
I have only ben adding slots before. I did it the same but I didn´t add anything in the text list or in the slot file as I couldn´t find any other joints there.
Alchemist
#35 Old 2nd Oct 2007 at 8:36 PM
I do not know if this is the reason, but some things I do with SimPE do not seem to change until I save or saveas the file. I never complained, I just guessed that the old copy was being recycled by the plugin.

I am sure I have changed the joints (not always successfully) and that Echo has also. It could probably be easier to do, but being able to do it at all is a big step from when we started modding TS2 (thanks, Quaxi).

<* Wes *>

If you like to say what you think, be sure you know which to do first.
Lab Assistant
#36 Old 2nd Oct 2007 at 9:26 PM
I am not at all complaining. We are able to make so much different fun things thanks to all the great people developing tools and new way to change things. (And of cource you are one of that great persons!)
I only gets a little exited when it seems I actually can understand some of the things you great modders discuss. Most of the time I don´t but I use to read some of it anyway and in time I have come to understand a little bit more. I am sorry if I expressed myself bad and sounded like I thought it wasn´t a good explanation you made. It realy was very clear. I don´t expect to understand things like this but when I feel it actually make sense to me I cant resist to se if I could make it myself.

What confused me this time was that I wasn´t able to either commit or save, the figures got lost and wouldn´t save. It´s no big deal. I have learned to animate sims and object with there existing joints and that is so much more than I ever expected to be able to do (And I would never had started to try without Echos tutorials!)
Alchemist
#37 Old 2nd Oct 2007 at 11:14 PM
Well, if my reply left you to think I was complaining about you complaining, then I apologize for not being clear enough. I see nothing "whiny" in your post, nor do I recall you every being a complainer, now or before.

Hard things to do are often difficult things to explain. You answered my suggestion when you stated that save did not work, either. Without going over the whole thing step-by-step, I know not how to assist you further.

But I will say this, I am looking forward to seeing a new, clever creation in downloads soon like your toy boat. Then we can try creating a new joint again.

<* Wes *>

If you like to say what you think, be sure you know which to do first.
Instructor
#38 Old 3rd Oct 2007 at 7:02 AM
Quote: Originally posted by solfal
I guess I made a misstake when I added the the joint in the CRES. I cant get the values to commit. It says it does commit but when I leave the CRES and then goes back the values are gone.
Then you probably missed some step? Which of the following you did?
1) go to Edit Blocks tab, add new cObjectGraphNode - the 'long' one
2) go to Contents tab, select new node in Blocklist, remember it's number (the leftmost prefix), change:
2a) on cTransformNode - 'GMDC joint index', to current highest joint value +1 - i.e. to 0x00000003
2b) on cTransformNode - translations and rotations to whatever you need
2c) on cObjectGraphNode - 'Filename', new name of your joint - without [JointN] prefix, i.e. 'NewJoint'
3) go to CRES Hierarchy tab, click on the node which you want to be parent for yours; when the node is selected on Contents tab, add new entry to cTransformNode/Child Nodes list - Unknown1=0x0001, ChildIndex=number of new node you added
4) hit Commit, close CRES, reopen CRES - your new node should be visible on CRES Hierarchy and look like '[Joint3] - NewJoint: <translations and rotations>'
Sure, you must Save in the end

I've just tried all these steps, to make sure nothing broken with new versions of SimPE. It worked. So I guess you've missed some steps.
Lab Assistant
#39 Old 3rd Oct 2007 at 9:24 AM
I am glad to hear that Wes. I felt bad yesterday. I realy don´t want to be a demanding person and I am very gratefull for all the patient help and andvice I have got here.
I am working on a hallowen item that I will gladly submit when it is ready

Thank you Jasana. This is a great checklist. I did all the steps but today when trying it all again I did write the figures instead of paisting them and it saved!
I still havn´t got the new animation to work ( I can´t get the new joint to show up in the GMDC) But I am one step closer! :D
Scholar
#40 Old 7th Nov 2007 at 6:20 AM
Default Do I have my setting wrong in Milk Shape?
I finally broke down and bought MilkShape. I do not have a lot of experience using milk shape but I have gone through Hexameters tutorial and JWoods table tutorial, so I have a basic understanding of it. I usually use Max3d. I'd really like to learn how to create animations, but I'm stuck already. When I select the show skelton my screen looks like this? Do I have something set wrong?

Screenshots
Retired Duck
retired moderator
Original Poster
#41 Old 7th Nov 2007 at 6:31 AM
Go to "File" > "Preferences", open the "Misc" tab and find the "Joint Size" box. Change that to 0.01, then click "OK". The joints should look less scary then.
Scholar
#42 Old 7th Nov 2007 at 6:57 AM
Thanks Echo that sure helped a lot. They don't look quite so scary now.
Scholar
#43 Old 16th Nov 2007 at 6:41 AM Last edited by rebecah : 16th Nov 2007 at 7:07 AM.
Default Animations are not working the same in game as in MilkShape...Please help.
I must have missed something and would really appreciate your help please.

I created an animation for my bouncy but the in game animation does not play the same as it does in MS. Well actually none of my attempts work the same in game. Is there a way to export the mesh and reimport it to keep my setting that I set in MilkShape?

I've tried to import the file that it creates with the UniMesh Exporter but I actually don't know how to import it and my attempts have just caused problems. I keep getting errors that a bone wasn't assigned. I think I figured that out but I don't know how to get that information into simpe. I also had to assign some of the vertexs to my joints to get the animations and I'm thinking I need that information in SimPE also.

I want the bouncy to go up and down and am only able to get it to go from side to side unless I use the move option (that took me a couple of days to figure out.) It's the up and down motion that does not play in game, the side to side animations work.

I found that Jasana_BugBreeder posted the following:
I read some threads checked the joint comments and found that they start from "PRelQuatDat:", not from "ImpQuatDat:".

So I changed it, and export I was able to import my gmdc but my animation still are not the same in game.

I included my milkshape file and my package file if someone has time to look at it I'd really appreciate your help.
Attached files:
File Type: rar  bouncy2.rar (67.3 KB, 24 downloads) - View custom content
File Type: rar  BecksAnimatedBabyBouncy.rar (179.0 KB, 20 downloads) - View custom content
Retired Duck
retired moderator
Original Poster
#44 Old 16th Nov 2007 at 8:25 AM
Hey again Beck

The problem here is that, in the sims, each joint is either for rotation or translation (moving), but not both at the same time. I can see you've added a _trans node, which is a good start, but the trick here is that the _trans node is the only one which can translate (move), and that's all it can do. The other nodes can and should only rotate.

Does that make sense?
Scholar
#45 Old 16th Nov 2007 at 8:53 AM
hmmm I think I understand what you are saying. I guess I don't understand how to seperate the nodes. My other project an infant swing I have so it swings in MS but in game the whole frame and seat moves, while in MS only the seat goes back and forth.

It seems like I should be able to make the trans node move in an up and down motions, but when I try that alone I get no animation in game. I know that SnowStorm has an exersaucer that moves up and down so it seems I should be able to do something similar with my bouncy.

I really thought I was missing something that needed to be exported from the UniMesh but that doesn't seem to help or I'm just not doing it right.

Thanks again for your help Echo, I really appreciate it very much. You're one of the best in my book!
Retired Duck
retired moderator
Original Poster
#46 Old 16th Nov 2007 at 9:15 AM
Flattery will, of course, get you everywhere.

The first problem you described, with the whole object moving in game but only part moving in Milkshape, is almost certainly related to the way you've assigned the vertices in the mesh. Make sure that the seat is assigned to the node which is moving, and the rest of it is assigned to a higher up node which isn't moving. That ought to do it.

For the second problem, the reason moving the trans node up and down doesn't make anything move is that there are no vertices assigned to it. If nothing's assigned to it, nothing will move. Since the trans node is a child to the highchair node, you should be okay to reassign all the stuff you've currently got assigned to the highchair node to the trans node.

Your skeleton isn't really ideal for what you're trying to do, but as long as you just want to make this one bouncy animation for this one object you should be fine. Is this a skeleton you've put together yourself, or are you using an existing in-game one?
Scholar
#47 Old 16th Nov 2007 at 4:35 PM
Quote: Originally posted by Echo
Flattery will, of course, get you everywhere.


You are so knowledgeable on so many aspects, you really are amazing. I know if I had not had your help and tutorials. I could never have figured many of these things out. Your intelligence and kindness is outstanding!

Quote: Originally posted by Echo
Is this a skeleton you've put together yourself, or are you using an existing in-game one?


The skeleton is from in game but I did make some changes to it. Maybe creating the mesh in Max3d changes things concerning the skelton. And of course I did change most of the cres settings.

I think I understand now. I totally miss understood your tutorial, I thought originally the rot were the part I was suppose to assign to move. Partly because the flag has so many rot's. I guess I'm pretty confused, but I really want to learn how to do this.

Thanks so very much for taking the time to help me Echo. I can't express how much I really appreciate you.
Retired Duck
retired moderator
Original Poster
#48 Old 16th Nov 2007 at 11:41 PM
Quote: Originally posted by rebecah
You are so knowledgeable on so many aspects, you really are amazing.
Snork! Okay, you can stop now.

In the tutorial object, nothing should move, they should only rotate. If you move them, you'd have a flag that stretched longer or shorter than it actually was, rather than just swinging backwards and forwards.

It should all start to make sense soon, just give it some time to sink in. And if you're still having trouble, it might be worth spending a bit of time on sim animations, since creating anims is one of those rare cases where sims are easier to work with than objects.
Instructor
#49 Old 17th Nov 2007 at 5:27 AM
Quote: Originally posted by rebecah
Maybe creating the mesh in Max3d changes things concerning the skelton.

It's known problem that different exporters aren't fully compatible. So, for example, if you first edit GMDC with Wes plugins, then edit it in Max and export via smd - bone assignments will be lost To make sure it's the case - in SimPE, when doing Preview, click on different bones to the right, and see what's highlighted.
You can assign entire subset to a bone right in SimPE. But if your mesh isn't splitted to subsets so that such assignment is possible - I'm afraid you'll have to stick to Milkshape to the end, if you edited GMDC in it once
Scholar
#50 Old 17th Nov 2007 at 6:21 AM
I always import/export my meshes as a wavefront object. I don't have the smd type as an option. I think I searched for these plugins but was never successful in finding them.

To mesh with Milk Shape would be next to impossible for me. I honestly don't think I could accomplish a decent mesh with this program. That's the reason I hadn't purchased it prior to a couple of weeks ago. I would not have bought it had it not been for the plugin created by wes_h. (He should get some of the profits for this . As I'm sure his plugins have boosted sales for MilkShape.)

Creating the animations in MilkShape are actually easy enough but getting them to work in game is just not going well for me at all. If I click on the different bones all I see is the little colored circles. That's why I think my animations don't work unless I import the gmdc after I assign the vertexes. And now that you mention this I did notice one of my meshes turned pink when I clicked on a bone and that's the first time I'd ever seen this. So my import must have worked for that instance.

Yes, I just redid this on one that I wasn't seeing the mesh change colors and it does work. Thanks for explaining this. Now I know why it happened. I could not have accomplished this had you not posted the info on changing the comments to ImpQuatDat. Thanks very much for that info and for your this new info on the gmdc.
Page 2 of 7
Back to top