sanderfrenken / Universal-LPC-Spritesheet-Character-Generator

Character Generator based on Universal-LPC-Spritesheet
https://sanderfrenken.github.io/Universal-LPC-Spritesheet-Character-Generator/
GNU General Public License v3.0
378 stars 141 forks source link

Add support for sit, jump, idle, and run animations. #88

Open carpeventus opened 9 months ago

carpeventus commented 9 months ago

I found that LPC character version3.0 added sit, jump, idle, and run animations and the spritesheet also found in your project.

Can you add these animations on your github pages?

sanderfrenken commented 6 months ago

Id like to see them added as well, but it's a lot of work, and there are no assets that support these animations yet. As a result, you'd be only able to have the bodies, without any items like clothes, weapons etc.

So for now I don't have the urge them, but I am very happy with contributions!

jrconway3 commented 4 months ago

I started adding new assets again and I included parts for these animations. Perhaps I may take some free time to work on adding the easy elements to all those other sheets. I have templates set aside for each of these parts for the new stuff I'm making now.

Eventually I'll create a healthy number of these assets as I do want some of these animations myself as well, but doing all the clothing assets will take a ton of work. The easiest thing to start with is probably pieces related to the heads, namely hair or headbands. Naturally it'd be much nicer if the hair was fully animated across all of these, but that's, again, not very easy to do.

jrconway3 commented 4 months ago

Maybe within a few days or so, I'll have a branch set aside with a small example of how these assets should be formatted. I don't want to have to change up existing directory structures too much, especially since that also means we'd have to change the credits routes as well... but I have noticed that bows are already doing a similar breakdown, containing animation sets for both "universal" and the oversize "walk" animations. So I should probably follow that example.

To make these easier, I'll save my personal assets in the same directory structure (so I can just copy-paste directly into the ULPC) and I'll stop splitting new assets into male and female, I'll just use the background layer instead. The only other separate layer would be for child characters, so less stuff will go into children by comparison (but I'll still add some of the easier assets right away).

I don't intend on starting on most of the existing assets yet, but everything new I create I will add in these other formats right away. I wish we already had child running animations so those could be formatted right away.

jrconway3 commented 2 months ago

So, I have two PR's here RELATED to this.

First, this PR just adds animations to my hairstyles and fixes some issues, but I also added in all the alternate animations for these pieces (idle/run/jump/sit): https://github.com/sanderfrenken/Universal-LPC-Spritesheet-Character-Generator/pull/121

This PR is a WIP PR using custom animations to add these animations in over on my fork: https://github.com/jrconway3/Universal-LPC-Spritesheet-Character-Generator/pull/3

I got it working, but its SUPER slow, which is why its WIP and not coming to this one yet. However, I did note that the existing custom animations are slow as well. It just seems that when you add a bunch it REALLY slows things down. It'd be ideal if someone could take a look at this with me and maybe find a better method to implement. In any case, I can at least use this myself locally to test these animations in practice now as I add in more assets to them.

jrconway3 commented 2 months ago

In addition to the existing sets I'm planning on adding all of ElizaWy's new base animations as well. I already converted climb which was super easy. I really like the new sword animations, too... Even if you still like the old sword animation, you can use that or the new ones and have characters with different fighting styles (or just one character with different types of attacks).

The biggest thing here is that Eliza has a lot of outfit pieces and hairstyles for all these animations which would be a HUGE help. The only problem is Eliza doesn't have the "thick" male body, so it would only match these up for a portion, I'd still have to fill the sheets out for standard male body.

Going forward I'm also going to keep dropping in all animations frames I create in future PR's so we can keep having all animations frames filled out and make it easier to jump into the alternate base animations.

sanderfrenken commented 2 months ago

I think it would be really nice to add the alternative animations (jump, climb, idle etc) as well.

The form of how to do this though, that is to be determined. I think we should start with the body sheets. Using the custom animation handler however, is too slow. Moreover, the custom animation handler is meant for reusing existing animation frames in a new sequence combined with an accessoire sheet that fits it (like a backward slash animation, or an oversize walk animation).

Therefore, as these new animations are in fact new frames I think the most efficient way would be to add them to the universal sheet.

What do you think?

jrconway3 commented 2 months ago

I guess I can throw together a body sheet with them added and see how it looks. With how small "Idle" is, I'm thinking I'll just add "Idle" to the start of the Jump frames otherwise its a waste of space.

I really wanted to add Eliza's base animations as well (those variations of the combat animations look incredibly good), but she's only got the "thin" body models, not the regular male body model. I think I might be able to pull off doing "Climb" fairly easy for the "Thick" male model, I'll just replicate the hand movesets. Its only one animation (up) anyway.

And I already saw the height references to the universal sheet. So to add new animations, if we add them all to the universal sheet, we simply need to say the universal sheet is bigger now. So with this method I should be able to add them in myself.

One other thing I was debating on was replacing the "Thin" body run animation as well with Eliza's. Eliza has a lot of clothing meshed to those animations, so it would save a lot of time compared to using the original body animations (clothing I've found is easily the hardest stuff to animate). The only problem, again, is lack of "thick" body models.

jrconway3 commented 2 months ago

So what I'll do is later today, I'll go ahead and replace this: https://github.com/jrconway3/Universal-LPC-Spritesheet-Character-Generator/pull/3

To experiment with expanding the Universal sheet to add Idle + Jump, Run, Sit, and then Climb to the bottom of the current sheet. If I eventually do add Eliza's sets, I'll probably put her "Emotes" to the right of Sit, because they have the same structure (no animations, just three individual still frames).

If this works the way I'm hoping, it shouldn't break the existing animations even if they're no longer the same height, it'll just start from the top and layer them over.

jrconway3 commented 2 months ago

Yeah if we're going to do this its probably best to do it now before I make any more assets. I already created the rough draft body and head sheets (child/female/male, no other bodies or heads just yet), just need to adjust my local copy to see if I can add the animations myself now.

jrconway3 commented 2 months ago

Eh I think I'll keep Idle in its own row after all because there's alternate idle animations we may want to add later anyway (Eliza's combat Idle animations), and I've been considering the possible of doing an alteration to the jump animations for different things (such as a wing flap animations or a falling animation with the arms moving about) so it'll just be easier to keep them separated.

jrconway3 commented 2 months ago

Ah I see the problem now with trying to use Revised Run alongside the original Run. This just isn't feasible because the heads are in the wrong position. This kinda sucks, as it means we'd need to create the other run animations to fill in the gaps with the heads in the correct positions. I'll just skip this for now and stick only with the original run animations.

jrconway3 commented 2 months ago

Okay I opened a PR to handle this now, but there's a few other hypothetical changes we could consider making:

  1. Adding ALL of Eliza's animations, even if they don't match certain body models. That will allow preparation to finish the alternate models later and in the mean time be able to add assets from Eliza's Revised even without them existing here. Child and Muscular are missing some animations anyway, so its not unprecedented to do this. (I would have to convert the palettes, but the body default palette is only ever so slightly off the original LPC palettes, so its an easy conversion with LPC tools.)
  2. Having separate Run animations for the Revised run or classic run.
  3. Another hypothetical idea is to move some of the animations around a bit here and there. For example, having the one-pose animations be in consecutive rows (Down and Climb). I did not do this, but it might look better? Not sure.

The main reason I added Climb is because I just really, REALLY wanted Climb. As cool as the other combat animations look, they're not that necessary for me. But Climb was a must for me once I saw it there. I'll likely work on doing the Male/Muscular climb animations myself later.

Anyway that's all for now. It will take a while to add all the assets, even for the ones I already created, so I'll just gradually do that over time. But this looks good for now I think.

jrconway3 commented 2 months ago

I'm going to do #3 to make it easier to hypothetically do #2 later. So I'm going to leave Run at the bottom, with Climb right below Down. This shouldn't take too long.

jrconway3 commented 2 months ago

Okay I updated the PR to change the order a bit now:

  1. Climb is below Down
  2. Idle is Below Climb (potentially later "Combat Idle" can go to the right of Idle)
  3. Jump is Below Idle
  4. Sit is Below Jump (potentially later "Emotes" can go to the right of Sit)
  5. Run is at the bottom below Sit (potentially later Revised Run can go below Run, or we replace Run entirely with Revised Run but we'll need a "thick male" model here as well)

This order makes it more flexible on me. I can start adding assets, and if we decide to swap Run or add Revised Run as a separate thing, that can still be done later.

jrconway3 commented 2 months ago

Apparently Eliza's assets have smaller heads (at least on the females). To keep things consistent, I'll be updating any assets I draw in from Eliza's sets to use the standard LPC heads instead. This really confused me when I was trying to compare the Climb animations as the Male heads were just so much larger than the Female heads.

In any case, I think it shouldn't be too hard to manage creating Climb bodies for the Male models. I found a similar enough "back" frame in Thrust (oddly enough, the "thick" and "thin" models are the same on the Thrust animation from Frame 3...) so now I just need to adjust the leg and arm positions.

jrconway3 commented 2 months ago

Well with that merged, I'll start adding assets over. That said, I am still considering replacing the Run animation with Eliza's Run. I'll do some experimentation and see how easy it is to create a thicker body model to match the traditional "Male" body. I think Eliza's Run looks better, but mostly I think Eliza's run is better to use because there's more assets mapped to it.

I've already started working on the "thick" Male climb animation, that should be done fairly soon.

sanderfrenken commented 2 months ago

Amazing work so far @jrconway3 , thank you so much!

jrconway3 commented 2 months ago

I started creating a handful of the more obvious issues. But there's going to be other areas where we can easily clean up assets more. Hairstyles are very easy to paste over all frames for example, though some hairstyles would look better if they had animation on run/jump and I'm not about to animate every single hairstyle. I'll include Eliza's hairstyles with those animations wherever possible.

Unfortunately it might be slow going for me to get back into doing major updates soon. Need to fix my sleep issues first. Next week I have all week off so I should have some time to do more next week (though I will still be busy next week doing housework so its not like I'll have a huge increase in time to work on assets).

jrconway3 commented 2 months ago

A few updates here:

I added Idle Combat and "Emotes" as as well, and configured "Pregnant" for all of these animations and Revised Run.

I fixed "Climb" for Male now.

I also positioned all the human heads to line up with the Revised Run animations, and looking over the Revised Run Animations, I think it won't be too hard to make the thicker male models line up nicely. The leg positions in all of these are very similar to Eliza's Run animations as is, its mostly the arms and torsos that are a lot different. So I'll take care of these tomorrow and then open a PR to replace the current run animations with Revised Run plus adding the new Combat Idle and Emotes animations, too.

jrconway3 commented 2 months ago

https://github.com/sanderfrenken/Universal-LPC-Spritesheet-Character-Generator/pull/145

In this PR I replaced the base Run animation with Eliza's LPC Revised, and added Pregnant and Male versions of these assets. I also added Eliza's extra combat animations just for completeness, but I'm not planning on making assets available for all of these just yet; only if Eliza already has these. I'll be primarily focusing on everything through Run as those are more important.

jrconway3 commented 1 month ago

Its shocking just how many helmets there are here... I'm trying to do some additional arm cutouts for the new assets but IDK if we should do all these arm cutouts or not. That said, some of these helmets extend well over the body, so I am adding extra cutouts for male/female on a few of the other helmets such as Barbuta (not Simple) and Close. I may add a Mail split back again as well because of the running arms animations.

Flat Top, Great Helm, Horned, Legion, Maximus, Nasal, both Spangenhelms and Sugarloafs, and Xeon are the ones I have left to map to all frames, so I'll finish these next, then maybe do the visors as well before moving onto other assets.

jrconway3 commented 1 month ago

I finished up all the helms in this PR: https://github.com/sanderfrenken/Universal-LPC-Spritesheet-Character-Generator/pull/173

No helmet accessories or visors yet. I thought about it, but this was a ton of assets as is.

Some of these have a male/female split because a few helmets are massively large.

jrconway3 commented 6 days ago

Maybe I should work on the visors soon, but I really wanted to work on the leg assets and get those out of the way. Recently I've been feeling off and haven't made as much progress, but I did do a lot in a short amount of time, so I think its fine taking a short break. That said, I also don't want to feel like I'm falling away from the project either. I still intend on getting my characters designed but before that I want a decent amount of workable assets on all frames.

Expect me to be a bit slower this summer, but I will keep working on this.