#ModelEngine/MythicMobs/Blockbench Animation Error

7 messages · Page 1 of 1 (latest)

cedar flickerBOT
#
Welcome to the help forum!

Please make sure to read #1029373817119838218 as it may answer your question!

Once your question has been resolved, please mark the post as closed by using the </close:1163944441741049897> command.

crude cloud
#

I see

#

Hold on let me take a better look

#

Try making sure statue has keyframes for every bone, not just the body. If the arms, legs, waist, or head are missing keyframes, idle can still affect them underneath.
Also check that the first frame of awoken is exactly the same as the last frame of statue on every bone. Even tiny rotation differences can cause the snap when changing state.
I’d also use state=statue directly instead of replacing idle with it. Since statue is override + hold on last frame, it should fully suppress idle until removed. That body snap usually happens when ModelEngine tries to blend back to idle for a tick before awoken starts.

crude cloud
#

You do not need scale keyframes if the model never changes size. Position + rotation are enough.

The bigger problem is actually in your MythicMobs skill setup.

You have mechanics like:

  • defaultstate{mid=fire_golem1;type=idle;state=none} @self ~onSpawn

inside a skill.

~onSpawn should not be inside the skill line itself there. That trigger only belongs in the mob file. Inside a skill sequence, the line should just execute immediately.

So instead of:

  • defaultstate{mid=fire_golem1;type=idle;state=none} @self ~onSpawn

it should be:

  • defaultstate{mid=fire_golem1;type=idle;state=none} @self

Same for the last line:

  • defaultstate{mid=fire_golem1;type=idle;state=idle} @self

Right now those lines are probably not actually executing correctly because they are trying to register as spawn triggers inside an already running skill.

Your skill should look more like:

fire_golem_skill:
Cooldown: 99999
Conditions:

  • playerwithin{d=5} true
    Skills:
  • defaultstate{mid=fire_golem1;type=idle;state=none} @self
  • state{mid=fire_golem1;s=awoken;li=0;lo=0;speed=1} @self
  • delay 40
  • state{mid=fire_golem1;s=awoken;r=true} @self
  • state{mid=fire_golem1;s=evoke;li=0;lo=0} @self
  • delay 50
  • state{mid=fire_golem1;s=evoke;r=true} @self
  • defaultstate{mid=fire_golem1;type=idle;state=idle} @self

I also changed li and lo to 0 for testing.

That matters because your current setup uses:

li=3;lo=5

Those lerp values are probably what causes the model to briefly blend between statue and idle. Since statue is a very different pose, even 3–5 ticks of blending can make it look broken.

Test with zero lerp first. If it works, then you know the bug is just from blending rather than your animation itself.

#

Also, the reason state=statue keeps the model visually crouched while other animations play is because defaultstate only changes what the idle state becomes. It does not fully lock the model. The walk/attack states can still layer on top of it. That is expected behavior according to how DefaultState works.

That is why a lot of people use a real state{} animation with override instead of only swapping the idle default.

Your spawn should probably stay:

  • defaultstate{mid=fire_golem1;type=idle;state=statue} @self ~onSpawn

Then when damaged:

  • defaultstate{mid=fire_golem1;type=idle;state=none} @self
  • state{mid=fire_golem1;s=awoken;li=0;lo=0} @self

If that still acts weird after removing the ~onSpawn tags and lerps, then the next likely issue is that statue is missing some keyed bones and idle is leaking into those bones underneath.

#

Feel free to send me a DM and we can talk better