Jump to content

[1.8.9] Anyone know any kind of model software for entities?


Recommended Posts

Posted

Anyone know how to make animation APIs? I'm still very new to APIs and animatoins

You don't need to write an API to make animations. Look at vanilla - they hard-coded all of their animations using math within the context of the model and renderer frameworks. You can do that, too.

 

Or you can try to write an 'API', but people throw that term around without really thinking about it. Do you know what it means? What would be your goals in making such an API? Who is the target audience? How, exactly, would it work? Is your API going to read in the animation frames from Tabula, for example? Or are users of the API going to need to do some coding and math of their own? This is a HUGE task no matter which approach you decide to take.

 

Also, why do you want to write your own animation 'API' instead of using ones that are available? I believe TheHippoMaster wrote one, and then BobMowzie has one that is adapted from the first, and I think there is even one that does allow you to import / read animations from the Tabula files.

 

If you still want to write your own API, that's fine - I did. But I did it for fun and also so that my mod wouldn't have any dependencies. Is it the best animation API out there? Probably not, but that was never its goal. It does what I need it to do and I enjoyed creating it.

 

Anyway, think about why you think you need to write an animation API. You probably don't need to, but if you do, be prepared for a pretty monumental task and read up on your math.

Posted

It's a mix between the first and third option.

 

Here is the animation video too:

 

Those animations are all 1 movement you move a part to its destination then back to the start. The walking an idle animations would use sine cosine waves to loop. Just check if the entity is moving for the walking otherwise use the idle.

 

The bite looks like an attack. I would look at how the iron golem attacks and mimic its code. The scratch...not sure what it is for as it doesn't extend past the face....but it could make use of the same code.

 

Something to think about when your creature attacks though. Living entities are immune to damage for a few ticks after being hurt. If your creature has touch damage enabled then chances are it will run face first into its target and cause touch damage before attacking, knocking back its target or negating any attacks soon after. Just something to keep in mind

 

I've been looking at the code but I want to utilize the degrees in the degrees I made in Tabula, similar to what Jabelar did but I'm not sure how to call the animations or set them up properly

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Posted

Minecraft model rotation 'angles' are in radians, not degrees, so you'll need to convert them.

 

As for 'how' - look at some vanilla mob model classes and check out their setRotationAngles and setLivingAnimation methods.

 

If you want to use the values from Tabula, you can make an array containing them converted to radians, where each element is a 'frame', and then interpolate the value each render tick based on the animation progress. Or you can get super complicated and have an entire framework set up to help you, so that you end up with something like this:

// helper method
public static boolean applyAnimation(IAnimation animation, int frame, float partialTick, float speed, float multiplier, float offset, boolean invert) {
if (animation.shouldApply(frame, partialTick, speed)) {
	animation.apply(frame, partialTick, speed, multiplier, offset, invert);
	return true;
}
return false;
}

// called in the model class
private void animateActions(EntityWithAnimationInterface entity, float par2, float par3, float partialTick) {
Entity target = entity.getCurrentTarget();
List<EntityAction> actions = entity.getActiveActions();
for (EntityAction action : actions) {
	int frame = entity.getActionTime(action.id);
	if (frame > 0) {
		float speed = entity.getActionSpeed(action.id);
		float offset = entity.getActionOffset(action.id);
		IAnimation.Helper.applyAnimation(getAnimation(action), frame, partialTick, speed, 1.0F, offset, false);
	}
}
}

Where an animation might look something like this:

READY_ANIMATION = new ImmutableList.Builder<IAnimation>()
	.add(new AnimationTargetAngle(stem1, RotationAxis.X, -15.0F, 5, 10, true))
	.add(new AnimationTargetAngle(stem2, RotationAxis.X, 20.0F, 5, 10, true))
	.add(new AnimationTargetAngle(stem3, RotationAxis.X, 30.0F, 5, 10, true))
	.add(new AnimationTargetAngle(head_base, RotationAxis.X, 60.0F, 5, 10, true))
	.build();

Note that those are the same values as from Tabula and the animation code converts them to radians internally.

 

But anyway, that kind of thing takes an entire framework to support it, whereas you can get by doing things more like vanilla especially if your animations are not too complicated (which they don't appear to be).

Posted

Thats acutally what I want to go, a framework that I utilize for the entity im working on currently and all of my other ones. But I don't know where to acutally start off with when it comes to developing the framework. So far I started making an interface based on the code off of the original AnimationAPI mod and JurrasiCraft. I did make a seperate 'mod' built within (just in a different package).

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Posted

Scratch what I said in the previous, I'd just like to go for something easy for animation, since this is my first time dealing with it. I'd like to go with methods hardcoded into the model since I have only one entity as of right now. Later on I would like to progress it into a framework

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I need to know what mod is doing this crash, i mean the mod xenon is doing the crash but i want to know who mod is incompatible with xenon, but please i need to know a solution if i need to replace xenon, i cant use optifine anymore and all the other mods i tried(sodium, lithium, vulkan, etc) doesn't work, it crash the game.
    • I have been trying to solve a consistent crashing issue on my brother's computer where it will crash during the "Scanning Mod Candidates" phase of the loading process that starts when you click the play button on the Minecraft launcher. The issue seems to stem from a missing library that it mentions in the log file I provide below. I might I'm missing the bigger issue here for a smaller one but hopefully someone can find what I'm missing. Here's all of the stuff that I've been able to figure out so far: 1. It has nothing to do with mods, the crash happened with a real modpack, and even when I made a custom modpack and launched it without putting ANY mods into it (That is where the log file comes from by the way). 2. I have tried to find this class like a file in the Minecraft folders, but I've had no luck finding it (I don't think it works like that, but since I really don't understand how it works, I just figured I'd try). 3. I haven't seen anyone else have this issue before. 4. I know that my modpack (with mods) does work since I've run it on my computer, and it works fantastic. For some reason my brother's computer can't seem to run anything through curseforge. 5. This is for Minecraft version 1.20.1, Minecraft launcher version 3.4.50-2.1.3, forge 47.3.0, and curseforge app version 1.256.0.21056 6. My brother is using a Dell laptop from 6 years ago running Windows 10 (If you think more info on this would help, please ask as I do have it. I'm just choosing not to put it here for now). 7. I have reinstalled the curseforge app and installed Minecraft version 1.20.1. I have not reinstalled Minecraft or forge 47.3.0 but I didn't know if that would help. 8. I had an error code of 1 Please let me know if there is anything else that I am missing that you would like me to add to this post/add in a comment! Lastly, many thanks in advance to whoever can help! ------------- LOG FILE (latest.log) ------------- (from /Users/<NAME OF USER>/cursforge/minecraft/Instances/<THE NAME OF MY EMPTY MODPACK>/logs/latest.log) (This was made after running an empty modpack with same versions for all apps) ("[REDACTED]" is not the actual text from the log, it is me replacing text I figured wouldn't be necessary for fixing and would hurt my privacy) https://pastebin.com/hxXvGGEK ------------- DEBUG.LOG (I realized that I should have put this here first after I had done all of the work on putting latest.log in) -------------------- (again, "[REDACTED]" is not the actual text from the log, it is me replacing text I figured wouldn't be necessary for fixing and would hurt my privacy) https://pastebin.com/Fmh8GHYs
    • Pastebin... https://pastebin.com/Y3iZ85L5   Brand new profile, does not point to a mod as far as I can tell, my fatal message just has something about mixins. Don't know much about reading logs like this, but am genuinely stuck, please help. Java updated, pc restarted.
    • I was playing minecraft, forge 47.3.0 and 1.20.1, but when i tried to play minecraft now only crashes, i need help please. here is the crash report: https://securelogger.net/files/e6640a4f-9ed0-4acc-8d06-2e500c77aaaf.txt
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.