Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Bauul

Interpolating sprite animation using Interprite

Recommended Posts

6 minutes ago, Bauul said:

All in all it's probably not the ideal approach for producing hi-frame-rate versions of the animations, but it's an interest experiment nonetheless.  

 

You say that, but with some further development, it might be possible to take intermediate output from this and then use a neural net to generate convincing pose frames.

Share this post


Link to post

There's something genuinely spooky about that Pinky. As though it's some kind of re-animated pile of body parts and gore, loosely assembled into a new demonic form and held "together" by the powers of Hell.

 

This is a pretty neat find though, that Arachnotron looks great!  

Share this post


Link to post

Saw info about this program some time ago on a Discord server. Looks pretty cool. Did you try rigging one of the front animations? I suspect that the results will not be as good as side views.

 

Share this post


Link to post
38 minutes ago, boris said:

Saw info about this program some time ago on a Discord server. Looks pretty cool. Did you try rigging one of the front animations? I suspect that the results will not be as good as side views.

 

 

I had a quick go with the Imp.  It worked out better than I expected actually, but I can't work out how to prevent the limps from detaching like that.  Good for a puppet, not so good for an Imp.

 

ezgif-6-d5b259ea5eb6.gif

Share this post


Link to post

Haha that pinky is hilarious indeed. While certainly not perfect it could serve as a base for artists to draw over, saving maybe a bit of time. Give it a couple of more years and results like that will look better, I guess.

Share this post


Link to post

This could be a great addition to something like Smooth Doom if these were to be fully worked out.  Even if they look incomplete and detached in the examples, I can already picture them as a whole in my mind, and they seem to be really coming to life in this way. Almost hauntingly so.

Share this post


Link to post

Does this tool always linearly interpolate frames? I don’t know the name of this concept, but I know a big thing in hand-drawn animation is that quick motions aren’t animated evenly.  Imagine a character doing a sword swipe or something; you’re not going to show a bunch of intermediate frames there because the motion is too fast. One example in Doom that comes to mind is the Baron swiping at you. 

Share this post


Link to post

I reckon that filling in the holes left by the algorithm shouldn't be that hard, given that there's enough on both sides usually. I wonder how well it would work for speeding up the creation of walk animations. As in, if you only did one frame(the front frame), then just mirrored it and interpolated the two to create a rough sketch of the intermediary frames. I see a lot of potential in this tool, I'm frankly just waiting for an opportunity to use it

Share this post


Link to post

This is ridiculously good. As an artist, I can tell you these are really good bases to just continue drawing over. Shouldn't be hard having most of the animation work done!

Probs not gonna use it out of pride, but still fantastic. Props to the devs!

 

EDIT: Also a really good tool for people that don't know how to animate to see why their low fps animations aren't exactly working: the interpolation shows everything nicely. Animators should realize just by looking, but for everyone else it's awesome!

Share this post


Link to post
4 hours ago, david_a said:

Does this tool always linearly interpolate frames? I don’t know the name of this concept, but I know a big thing in hand-drawn animation is that quick motions aren’t animated evenly.  Imagine a character doing a sword swipe or something; you’re not going to show a bunch of intermediate frames there because the motion is too fast. One example in Doom that comes to mind is the Baron swiping at you. 

 

Yep, it's entirely linear. Although my observation is id did a pretty good job of having consistent movement distance based on frame delay, so it might look ok. 

 

If I can work out how to fix the marionette issue, I'll give it a go.

Share this post


Link to post

I have a feeling that someone can take the output of this, clean it up, and turn it into something very usable for the Doom community.

 

Here's an interesting thought: How well does it work with the weapons?

 

Or better yet, how well does it work with Smooth Doom's weapons?

 

And then of course we get to stuff like Doom 64... possibilities start quickly becoming interesting.

Share this post


Link to post

I was wondering just now, how it compares to Smooth Doom. I thought Smooth Doom looked already quite perfect.

Share this post


Link to post

It looks like these animations are heavily dependent on the base sprite offsets, so problems inherent with the original values are exacerbated by the interpolation. The animations above don't actually reflect the original IWAD offsets, thus some issues are fixed and new ones have been inadvertently introduced. This is most evident in the first Arachnotron animation where, as the frames appear to have been automatically centered, the monster appears to jerk backwards during its BSPIE3B7 and BSPIF3C7 frames when its front left leg extends forward. This is the exact sort of sprite offset issue I sought to address in my sprite fixes as it accentuates the intended "smoothness" of the animations that were lost through id's automated offsets, plus I filled in the erroneous transparent pixels which evidently are also similarly exacerbated by such interpolation. In other words, the better the base offsets and cleaner the sprites, the better the interpolated results.

Share this post


Link to post
3 hours ago, Revenant100 said:

the frames appear to have been automatically centered

 

Actually that was just me! The tool requires all frames to be the same dimensions, so I just resized everything and auto-centered in the process. I'm sure if you were doing this properly you could uniformly size the frames without the incorrect offsets you describe.

Share this post


Link to post

For what I've understood (I've juste watched the tutorial), it's mostly made for 2D side view interpolation (as it asks what's front /rear).
I'm wondering how it can interpolate a multiangle 360° rotation instead with back stuff becoming front stuff, or the death frames (well, actually,  these ones could work, set the feet as front and the head as rear). Might be very interesting for SFX like projectiles or flames.
 

Share this post


Link to post

I truly live in the fucking future. Neural upscales, interpolation... Even at their worst, these interpolated sprites seem to provide an excellent base to work on.

Share this post


Link to post

I'm impressed from the results, an artist's touch after the initial conversion  can provide excellent results!

Share this post


Link to post
On 12/24/2019 at 12:49 AM, Mordeth said:

I truly live in the fucking future. Neural upscales, interpolation... Even at their worst, these interpolated sprites seem to provide an excellent base to work on.

 

The Mordeth Effect: keep working on something long enough and eventually the future will come to you!

Share this post


Link to post
7 hours ago, cambreaKer said:

try interpolating weapon sprites like the fist or super shotgun

 

We already have smooth animations for those, so it would be slightly redundant. Also, this tech is best suited for sprites that don't change perspective. It interpolates movement, not angles. My hunch is applying this to the gun animations would look rather strange. 

Edited by Bauul

Share this post


Link to post

The higher frame rate makes it seem like he’s walking faster... The jerkier movement makes his walk look much more deliberate and aggressive too. Just like with upscales, I feel like there needs to be a lot of artistic interpretation by someone that knows what they’re doing to get great results. The more I look at those the more I like your handmade version the best :/

 

Speaking of upscales... I’m sure I’m not the only one wondering what it’ll do with the neural net upscales. I shudder to think of how much memory high res, high frame rate sprites would use though 😳

Share this post


Link to post
2 hours ago, Nootrac4571 said:

Spent a bit of time playing with this last night, here's what I was able to achieve in a few hours:

 

I completely agree with your summation. It's a good start, but the end result often doesn't quite look as natural as the low frame rate original. 

 

A couple of thoughts:

  • To avoid the way the sprite breaks apart (has gaps between the moving parts), when selecting the area for a part make sure it overlaps with the part in front of it. A single pixel can belong to multiple parts, just make sure the ordering of the part priority is correct. Then use the "Blend" option to smooth out the seams. This wasn't covered in the video at all but I asked the developer and he suggested this, and it works like a treat (see the Imp animation above. That has zero manual tweaks afterwards).
  • It seems you left each leg as a single part? I suspect that's contributing to the robotic feel. I would have split that up into the feet, lower leg and upper leg. Basically anywhere there's a joint it seems to work well to break apart.

Overall I agree with your assessment, it's a promising start. I feel there's nuance in the positioning of the key frame animation (the "Joints" in the program) that can contribute to a better feel.

 

2 hours ago, david_a said:

Speaking of upscales... I’m sure I’m not the only one wondering what it’ll do with the neural net upscales.

 

Unfortunately not very good at all. I tried it with the upscale Cyb and the results were disappointing. The higher fidelity images makes it much easier to see where the edges of each moving part is. The end result looks rather like a paper puppet: like individual flat moving parts tied together with string.  Conversely the low res sprites hide it much better, it's far less obvious which individual parts are being interpolated as a block.

Share this post


Link to post

Making good normal-res tweened sprites and then upscaling the final results would probably work better than the reverse.

Share this post


Link to post
8 minutes ago, Linguica said:

Making good normal-res tweened sprites and then upscaling the final results would probably work better than the reverse.

 

Oh yeah, definitely this. The pixel cleanup required is significant, and the more pixels you have to deal with, the more time it takes. Cleaning up a 2x or 4x scaled sprite sounds like a horrible task, which I wouldn't want to do at all.

 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×