#I mean like, an additive pose needs to

1 messages · Page 1 of 1 (latest)

lavish spade
#

How exactly did you set it? There seems to be a bit of confusion surrounding that

buoyant osprey
#

well i think that checking this box in the rest pose means "hey this is our new default and everything else will check this pose instead of the t pose." could be important if you don't want players to blend to the t pose on accident

lavish spade
buoyant osprey
lavish spade
#

Ah, the misunderstanding may be that you need to set the rest pose for every clip you want to use additively

#

And it is a pose within that clip

buoyant osprey
#

Huh?

lavish spade
#

Enabling it for rest pose would only help you use the Rest Pose as an additive clip

buoyant osprey
#

then what is it referencing

lavish spade
#

Not "referencing" anything

buoyant osprey
#

lol

#

wow

lavish spade
#

Just defining one frame of a clip as that clip's reference pose

buoyant osprey
#

well, that still doesn't fix my issue.

#

they still don't stack

lavish spade
#

You enabled Additive Reference Pose for each clip you want to layer additively?

buoyant osprey
#

yep

lavish spade
#

Did that make the sideways motion on the additive layer work, just when only moving sideways

buoyant osprey
#

it just doesn't work at all

#

additive layers don't work

#

i still don't know why.

lavish spade
#

I have a feeling it is due to overlooking something simple

buoyant osprey
#

possibly.

lavish spade
#

Which is why I recommend doing the simplest possible test of an additive clip/layer

#

It's usually faster and more informative to try that rather early, than troubleshoot for a long time

buoyant osprey
#

siiigh okay, i will set it up.

lavish spade
#

Is it just a pose like it seems to be in override mode

buoyant osprey
#

like you wanna see the preview in blender?

lavish spade
#

More preferably in your import settings preview

buoyant osprey
#

Its just the pose that turns the player slightly like you see in game

#

the problem isn't that the animation is broken it just won't be additive

lavish spade
#

Then what we see is totally expected

buoyant osprey
#

additive completely not working is expected?

lavish spade
#

In this case yes, since it's a clip with just a pose and no motion

#

Additive animation adds the clip's animation relative to the clip's "additive reference pose" on top of previous layers

#

So that means it can't affect animation that's already there, only add to it per-property

#

And because it's relative to the additive reference pose, means the reference pose has to be different than the actual motion you want

buoyant osprey
#

What?

#

your saying this is wrong? this shouldn't be happening?

lavish spade
#

I'm not familiar enough with blender's NLA editor to really know what is precisely happening

buoyant osprey
#

I'm blending an offset pose on an animation

#

additive animation

lavish spade
#

If so, then it reflects what you can achieve in Unity

buoyant osprey
#

then why isn't it working

lavish spade
#

Like I said before you can't directly use a clip that's just a pose as an additive clip
Because you have no way to define that pose as relative to anything except itself

buoyant osprey
lavish spade
#

With Additive Reference Pose as some frame, change from that frame in keyframed properties is recorded

#

But if the clip is just a pose, and that is also the reference pose, there's no change at all

buoyant osprey
#

So it can't be additive and i have to export each additive composite seperately

#

thats lovely.

lavish spade
#

Not separately
More like together

#

You need a clip that has the reference pose ("rest pose") and the Right pose together
Could have all other directional poses in it likewise

buoyant osprey
#

ohhh, i get it.

lavish spade
#

Then you can use the Start and End to cut up that Source Take into directional clips

#

And make sure Pose Frame matches your Rest Pose, wherever it is in the source take
Preferably the start

buoyant osprey
#

ugh thats annoying. Id need to add a rest pose to the animation, why is that even a thing?

Can i add the rest pose outside of the loop time somehow

lavish spade
#

Outside of the source take, you mean
I have not found a way to do so

#

There may be a technical reason for that, but may also be related that the typical workflow used to be to import all animations in one long take and cut them up anyway, so every frame would be available to use as reference pose

buoyant osprey
#

I made perfect animations that work perfectly in blender, but completely fall apart in unity for some reason. Sigh, its never easy.

lavish spade
# buoyant osprey

Two possible reasons come to mind
Your NLA strips are using "combine" method, not "add" exactly, so it could be different from unity's additive animation, though I think that's a bit unlikely
But moreover in Blender you're keyframing your IK targets and other control bones, and so it's their clips that are being blended
To export out of blender those bones are removed and they're all baked down to FK limb motion
So blending after baking and exporting can produce significantly different results

buoyant osprey
#

theres no way to bake all these animations

#

Without it being terrible

lavish spade
#

Also, when you're walking diagonally, are the clips playing at 50% weight/blend, or both at 100%

buoyant osprey
#

Should be 100%, but i haven't polished it perfectly yet.

lavish spade
#

Would be prudent to check from the Animator live update that the clips are truly fully in effect

buoyant osprey
#

well i still need to fix the issues first or this is a deadend

lavish spade
#

Important to verify that the issues are what you think they are
The result we see could be caused by partial blending

buoyant osprey
#

I know for sure the arm isn't, and thats assurely a problem with ik.

lavish spade
#

And remember breaks
I think you've been grinding at the same issue for a few hours and learning new things all the way, both mentally extra strains to a task

buoyant osprey
#

My only goal for today was to just get this stuff working, i thought it would be as simple as just pasting the stuff in

#

but its never that simple

#

aauugh

lavish spade
buoyant osprey
#

Putting two animations together, i thought that was the standard! i thought that would be fine!

lavish spade
buoyant osprey
#

and for some reason i hit one every 5 seconds

#

How was i supposed to know additive animations don't just work, how was i supposed to know player controllers don't usually have rigid body physics and kinematic at the same time, it just keeps happening

lavish spade
#

Emphasis on "exactly as intended"
What is real development if not edge cases, when we combine features and systems that alone might seem rather simple to use

buoyant osprey
#

lol

#

yea

lavish spade
#

I find it better to consider things going smoothly an exception, even when if it were to happen most of the time

#

Problem solving is what we do, whichever side of the keyboard the problem ends up originating

buoyant osprey
#

They're from the engine being needlessly dumb

lavish spade
#

Misunderstandings and incorrect assumptions cannot functionally be blamed on the tools
Whether the difficulty is a result of the engine being "dumb" or not, ultimately it's you who has to somehow dispel them by research, purposeful testing and practice
Ideally in a way that gives you the experience to avoid more of the same issues

buoyant osprey
#

Rebuilding the IK is a bit more practical, but still not ideal.

lavish spade
buoyant osprey
#

Rebuilding the IK is a better way to solve the problem?

lavish spade
#

I'm not really aware of many good alternatives because it's such a fundamental challenge

#

A simpler option might be to use simpler movement animations which you don't try to blend so accurately, and live with them not matching the movement precisely

buoyant osprey
#

That isn't a solution, thats just the bake 20 animations approach.

lavish spade
#

Why 20?

buoyant osprey
# lavish spade Why 20?

Walk, Walk-Back, Run, Run-Back. (Walk-Left, Walk-Right, Walk-Back-Left, Walk-Back-RIght, Run-Back-Left, Run-Back-Right, Walk-Combat, Walk-Back-Combat, Run-Combat, Run-Back-Combat. Walk-Left-Combat, Walk-Right-Combat, Walk-Back-Left-Combat, Walk-Back-RIght-Combat, Run-Back-Left-Combat, Run-Back-Right-Combat,)

#

And thats if we ignore jumping

lavish spade
#

Doesn't your combat animation involve just the arm, not hips

#

Jumping or any mid-air movement probably doesn't need pace-perfect diagonal movement animations either

buoyant osprey
#

It still uses IK, and its still broken since my custom rig can't really use avatar masks

lavish spade
#

Transform masks can be used instead

#

And IK can be used just as well, and blended in and out when needed

#

Also could be worth the trouble to go looking for inspiration and solutions in other games, since many have had to deal with this issue in some way

buoyant osprey
lavish spade
#

Likely they've made some heavy compromises which we don't even notice

lavish spade
buoyant osprey
lavish spade
#

The cheapest running setup I could come up with that solves this problem would get by with 7 running animations

buoyant osprey
lavish spade
#

By compromise I mean sacrificing accuracy to make it simpler

buoyant osprey
#

two animations combine, how can you screw- and they screwed it up.

#

I could bake movement animations but id still need to get holding items to not suck by getting masks and Ik working.

#

Theres no way around this.

lavish spade
#

However many you bake you will have to solve the blending or transitioning between strafes with incompatible leg and hip orientations
What your blender previewing doesn't reveal is how the player might be able to mess up the leg positioning by freely changing strafe direction

buoyant osprey
#

So this should've been completely impervious to being screwed up, like there's nothing else i can do.

lavish spade
#

Master bones?

buoyant osprey
lavish spade
#

What are "master bones" in this case

buoyant osprey
#

The pose is just those two and some slight foot rotation to get better bends, thats it.

#

we could do without the foot rotation, and thats how i would bake the animations.

#

but it would still kinda suck.

#

This is the most simple setup i could've thought of and it didn't work.

#

I'm at a loss

lavish spade
#

If the "master bone's" effect is driven by constraints rather than hierarchy, it would not have the same effect after exporting

buoyant osprey
#

again, the only idea i can think of is that IK isn't exported and thats a guarentee, these formats don't retain that info.

lavish spade
#

So, master bone is the parent of all other bones, and the head instead is kept in place by constraints?

buoyant osprey
#

its kept in place by the don't inherit rotation check

#

I didn't want rotating the torso to rotate the head

lavish spade
#

Well, likewise that's a feature that's not exportable
But it wouldn't have an effect on the walking since it's just the head

buoyant osprey
lavish spade
#

Exportable via baking is usually plenty good enough

buoyant osprey
#

oh yea, sure it is.

lavish spade
#

Important to note that your issue is two-pronged here

  1. There's the technical side of how baking changes things, what kind of IK you would need if any, if additive animations are working as expected, etc
  2. The fundamental issue of the diagonal walk blendings, as the fact is that there is no "valid" blend between every direction of strafing that wouldn't cause legs to clip into each other, even with IK, and that becomes apparent if you try to replicate these same strafes in physical reality
#

A human in real life will combine more than one type of "strafing" and avoid that sort of motion altogether to not trip over their own legs, as clipping is not an option but anatomy makes it just as big of an issue

buoyant osprey
# buoyant osprey

what do you mean i legit did the solution right here, its perfect in blender.

#

just speed up the transition, add some ease in and out, and it would be lovely.

#

I would have everything i need if it would do the things it said it could

lavish spade
#

It solves the first problem of having no valid way to transition between those "conflicting" angles
Second problem is a system that does the swap properly
Third problem is it responding to the real frantic and uncoordinated input movement players will do

buoyant osprey
#

I'm down to do pure procedural animations if i can figure out how

#

But id rather the current system work

#

since we would still need ik

lavish spade
#

Best not to expect that you're on the cusp of solving it quite yet
Even if that were true

buoyant osprey
#

uuuuuggggghhhh

lavish spade
#

I wrestled with the same issue sometime around 2021
I thought I fixed it but apparently I just went with reusing the wrong direction's movement animations for backward diagonal strafes as they blended better with orthogonal strafes

#

Nobody ever pointed it out

buoyant osprey
#

Well, if you ever wanna help me figure out how to rebuild the IK in unity id be down for that.

lavish spade
#

If I am present here I probably will

#

But I do recommend going back to the drawing board, even if temporarily, to explore all the options, and references
Locking into a specific solution, especially one that requires a lot of setup and learning, is a big investment for something that'll only maybe work

buoyant osprey
#

Having IK work in general would just be nice

#

and either way its learning

#

I'm also certain its an ik issue

#

since the legs only point towards a direction if theres IK, so rotating the master in game does nothing.

#

the legs will still point in their usual direction

#

thats why they animating like they're inside each other

#

It would also be less work in the long run

#

since i have to bake less stuff

#

and don't need to learn something else to get the arm combat animation working

#

the bandaid solution is usually the worst one, rather than just fixing the root issue.

lavish spade
#

A complex solution with speculative benefits can be a tiresome misadventure

#

I always do tests before undertaking any big or new challenge

buoyant osprey
#

the only thing thats speculative is you saying it is lol

#

Again, fixing IK has other benefits

#

so i wanna fix it regardless

#

Maybe later tho, has it really been 6 hours of just tryna fix this stuff?

#

man.

lavish spade
buoyant osprey
#

It's not my fault! That is unity being stupid and weird! Nobody could have known that!

lavish spade
#

Fault or not, stupid and weird or not, all challenges of the process

#

Resting should also be a part of the process, indeed ^^

buoyant osprey
#

Why do you talk like a philosopher

lavish spade
#

It is just another tool to make problem solving more efficient
And to have more fun

buoyant osprey
#

Ik doesn't seem to be working, oh boy.

#

I just looked up a simple tutorial for adding IK

lavish spade
#

The constraint demos you see in the documentation are also all importable as samples from the package manager, which are extremely helpful if you need a reference

buoyant osprey
lavish spade
buoyant osprey
#

did i miss something in the documentation?

lavish spade
buoyant osprey
#

I didn't realize i needed to touch that part

#

Shouldn't the stuff in transforms be the same in the other spots?

lavish spade
buoyant osprey
#

you have to manually select each one?

#

I- I THOUGHT IT WAS BROKEN!

lavish spade
buoyant osprey
#

Well alright, atleast the bone renderer works

#

still gotta figure out whats going on with the constraints

lavish spade
#

For example you can use the lock button on the inspector to keep the bone renderer component visible
(Or right click and select Properties to open another inspector window for it)
Then fold out the bone transforms in Hierarchy, such as by alt+clicking the arrow to expand the whole transform tree
Then shift+click or ctrl+click to select / deselect multiple transforms at once and drag them all into the Transforms field

#

Some shortcuts you may have not discovered yet

buoyant osprey
#

interesting

buoyant osprey
#

I can't work with this.

#

I give up. (again)

buoyant osprey
#

I just don't know whats happening at all, ever.

lavish spade
buoyant osprey
#

Its right there in unity

lavish spade
#

It should not be

buoyant osprey
#

i couldn't derive much from the documentation

#

And you weren't around

#

Like- what options do i have?

lavish spade
#

You can describe the issue in the channel also

buoyant osprey
#

Its like "use your problem solving skills" and the problems make 0 sense

buoyant osprey
lavish spade
#

Did you check out the importable examples?

buoyant osprey
#

3d files don't retain ik in imports though

#

Also no

lavish spade
lavish spade
buoyant osprey
#

I tried to get ik working!

#

It just doesn't wanna!

#

Unity is supposed to be something i build on top of not fight or fix every 2 seconds

#

Even if it works it has little overlap, my rig is very custom.

buoyant osprey
#

Nobody actually knows the issue, you just tell me to keep trying random stuff and to see if i can fix it by brute force

lavish spade
buoyant osprey
#

blender makes sense, and its great!

lavish spade
#

My experience with Blender is waaay worse than Unity in that regard