LtxProgrammer / Changed-Minecraft-Mod

A Changed experience in the world of Minecraft.
MIT License
32 stars 36 forks source link

FEATURE: Transfur animation #755

Open LtxProgrammer opened 7 months ago

LtxProgrammer commented 7 months ago

The Morph mod has a feature we could utilize here: ModelRendererMixin.java. This adds a mixin to ModelPart.render(), to capture part information between two models, and render a transition between them.

TransfurProgress would need to change to accommodate this. Perhaps instead of being portrayed as TF progress, it's now TF danger (perhaps the old GUI could be brought back, or something similar). The entity would be locked in place until the transfur is completed. Doing the second option could allow for more customized TF animations, maybe general animations could be different based on how the entity was transfurred (e.x. grabbed replicate, attack replicate, foot hazard, wall hazard, ceiling hazard, IV rack). Going with this option would mean the animations are specialized for only players, as doing transitions for humanoid mob parts would be a lot more work.

The work could be split into three sections:

This feature may require either adding geckolib as a dependency, or I could write my own keyframe animator (shouldn't be too hard?).

LtxProgrammer commented 7 months ago

Limb cover transitions in complete, limb shape transitions has some bugs, and the framework is in place for keyframe based player animations.

hsjdhudn commented 6 months ago
  • The Morph mod has a feature we could utilize here: ModelRendererMixin.java. This adds a mixin to ModelPart.render(), to capture part information between two models, and render a transition between them.

TransfurProgress would need to change to accommodate this. Perhaps instead of being portrayed as TF progress, it's now TF danger (perhaps the old GUI could be brought back, or something similar). The entity would be locked in place until the transfur is completed. Doing the second option could allow for more customized TF animations, maybe general animations could be different based on how the entity was transfurred (e.x. grabbed replicate, attack replicate, foot hazard, wall hazard, ceiling hazard, IV rack). Going with this option would mean the animations are specialized for only players, as doing transitions for humanoid mob parts would be a lot more work.

The work could be split into three sections:

  • Limb cover transitions (Type: directional cover, fade, instant). This is a sequence of textures that map to the player model.
  • Limb shape transition (Type: gradual, instant). Once a limb is fully covered, use morph technique to change the shape of the model.
  • Player animations. This is a generalized animation, that can control individual limb transitions, while also controlling how limbs are posed. For example on a foot hazard TF, the player looks down to see their legs transfur.

This feature may require either adding geckolib as a dependency, or I could write my own keyframe animator (shouldn't be too hard?).

ltx,If we're gonna do transfur Animation,So the white glue column is not to become larger, because the player height width is greater than the white glue column, and conversion time, if you want to customize the time conversion, Will there be another rule (guess )