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!
Inventor
Original Poster
#1 Old 19th Oct 2014 at 9:03 AM Last edited by Arsil : 19th Oct 2014 at 10:36 AM.
Default Animation overlay
[Maybe I should have posted this in the Miscellaneous forum?]

Let's see if I get this straight: an animation overlay is an animation that involves only a
subset of a sim's body/joints so it can be used if they are standing, sitting, walking, etc.
Right?

Well, I'm getting crazy trying to realize one with MilkShape.

Let's say for the sake of argument that I want a sim to smile whether he is standing or sitting.
If I try to play the animation while the sim is sitting, he will switch to a standing position
(assuming the pose used in the animation obv) and play the animation.

Let's narrow down the possibile reasons, can we?
--- Is the CLIP resource all that matters to realize an overlay or there are other factors involved?
--- The way you invoke the animation from the code? I doubt it, anyway I'm using PlaySoloAnimation.
--- Do I have to use a state machine? Well, PlaySoloAnimation uses one too, so I doubt it.
--- Do I have to use a Jazz script in order to use parameters? I doubt this too. If the animation is
an overlay there shouldn't be any need for parameters to know the sim's posture.
--- Track Mask or RIG resources have anything to do with overlays? I hope not cause I don't
understand anything about them and they scare the **** out of me.

Maybe I'm doing something wrong with the animation itself.
I never used 3d software before and I don't know all Milkshape options.
(off topic: is there a way to help me keep feet leveled to the ground
so they don't sink in the floor in game? Even using align to grid it's hard if you rotate thigh and calf).

What should I use in "Rotating options"? Center of mass, origin or user point?
Rotation set as global or local?
I tried many combinations and none seems to work (there's a high chance I screwed up something).

I've tried a lot of different things, the last one - taken from a youtube tutorial about TS2 overlays - was:
- unchecking "Operating on selected joints only"
- edit->select all
- removing all KeyFrames
- checking "Operating on selected joints only"
- selecting only one joint and rotating it in some frames, setting them as keyframes
Nothing, same result.

I even tried not opening the .ms3d rig file before importing the .smd file (it's very hard
doing an animation in that way) but nothing.

I tried opening some basegame clip with "_overlay" in the name but could't tell what
was different from my clip, except for L/R_slotOffset joints but I think those are linked
to the arms/hands or maybe clothes/props while I'm only interested in the face.

I'm so frustrated I'm thinking about not using an animation altogether or to realize 2 of them
(4 counting those for children), one for standing sims and one for sitting sims and choose
which one to play from the code, even if this sounds like admitting defeat.

I'm totally clueless about 3D or how these things work, so if anyone can help me (my theory
is that there are flaws in my animation creating process or maybe, I don't know, an overlay
is somehow "linked" to a certain posture only and I'm trying to attain something impossible
in the first place) please do it like if you're talking to a 6 years old boy.

Don't know how to help but know someone who can? Please point him/her here.
Advertisement
1978 gallons of pancake batter
#2 Old 19th Oct 2014 at 4:03 PM
I'm pretty sure that all basic methods to play animations play full body animations. It might be worth a try to lock body parts in the sim's OverlayComponent. Method to look into is LockPartAndChildren. If that doesn't work, I'd suggest investigating in OverlayComponent.PlayReaction(ReactionTypes reaction, IGameObject target, bool yield, string jazzStateName, float animationTime). Mind you that method is tightly coupled to the ReactionTypes enum. Might be possible to do something with the OverlayInstance, though.

Disclaimer: I don't think anyone ever successfully managed to play custom overlay animations. Might just be because the blood & bone modders never tried, but it might be impossible just as well.

If gotcha is all you’ve got, then you’ve got nothing. - Paul Krugman
Inventor
Original Poster
#3 Old 20th Oct 2014 at 11:27 PM
Thanks Buzzler. I took a quick look at what you suggested but no bell rang (or it didn't ring any bell, one of the two).
To be honest it was pretty advanced stuff and right now I'm trying a different way, if I get any result I'll update this thread.
Inventor
Original Poster
#4 Old 25th Oct 2014 at 4:16 PM Last edited by Arsil : 25th Oct 2014 at 4:32 PM.
Unfortunately, Smooth Jazz Studio doesn't go along with my platform/system,
almost every script I load ends up corrupted: track masks' names/codes
are never recognized (I always get 0x0:0x0:0x0 instead of the resource's
name or key), sometimes even names of jazz script and states are not parsed
correctly and I get many other errors. I think I know why this happens
(long story, don't ask) and there's nothing I can do about it ATM.

BTW this is also the reason why I can't update the "Cough Drop" mod by
TigerM, if I load the EA eat.jazz script I got a lot of errors and so I can't save
a modified version of that script.
And I don't have to tell you how annoying is to see sims coughing every 5 bites
(on the other hand, I don't want to use an existing mod that completely removes
coughing while eating, sometimes I'd still want to be surprised by that).

It's not an excuse, but not being able to study existing EA jazz scripts
was really a problem for understanding how animation overlays are handled.

Even if all my tests failed miserably and I can't provide much evidence,
I still got a theory about them. How f*ing scientific!

I think they depend on how the animation itself (CLIP) is done, the jazz script (JAZZ)
referencing a fitting track mask (TKMK) - I mean, come on, those guys got too suggestive
names for not being involved - and probably other resources (RIG, scenograph, etc)
of which I know little or nothing about.

Example: playing an animation using the TKMK GenericEatSittingMask
- Resource Key: 0x033260E3-0x00000000-0xFBEAFF643C5017D6 -
the legs of the sims (not edited by the animation itself) assume a weird and stiff position.

Even the flag "HoldPose" you can use in the "Play" subsection of a jazz script
may have something to do with this topic.

Example: playing one of the animations of the PracticeSpeech state and using
"Flags HoldPose" (I don't remember if I also used a TKMK in that experiment)
the arms of the sim stay still (and they are involved a lot by the animation with
all that gesticulation).

So, the bottom line is, I didn't understand anything about those damned animations
and I think I'll give up. Geez, I can't even make a working animation for my chewing
gum mod if the sim is sitting. Well, that mod may be rejected anyway cause it's too
silly, so not big deal, but I'm still interested at least on learning how to handle that
(keeping in mind that sims sit at different heights if they are using a dining chair or a
stool, maybe even living room chair and sofa have a different height, I don't remember).

Somewhere in this forum there is a cmo_monkey's post about a chair (or a table)
he made with a "custom height" and sims adjusted to that correctly. I can't find that
post anymore. And it was weird to find out that his cigarette smoking mod doesn't
have an animation for sitting sims, I bet he could do it right.

Arsil,
king of off topics and digressions,
vandalizer of the english language,
says bye.
Back to top