Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Onion skinning for AnimationPlayer #10425

Closed
genaside opened this issue Aug 18, 2017 · 14 comments
Closed

Onion skinning for AnimationPlayer #10425

genaside opened this issue Aug 18, 2017 · 14 comments

Comments

@genaside
Copy link

I want to propose a feature for animation player that allows onion skinning.
The reason for this is to properly position my 2d sprites to get that flawless animation.

@RandomShaper
Copy link
Member

I'm not familiar with that concept. Could you elaborate, please?

@YeldhamDev
Copy link
Member

@RandomShaper

@genaside
Copy link
Author

thanks @YeldhamDev , that's it.
I want this cause my sprites are not all in the right position, so trying to fix them by switching between keyframes gets tedious. At times I put put my finger on the screen to find where the next sprite should be,
Having a "ghost" of the last keyframe will help greatly.

@reduz
Copy link
Member

reduz commented Aug 19, 2017 via email

@reduz
Copy link
Member

reduz commented Aug 19, 2017 via email

@RebelliousX
Copy link
Contributor

It would be cool when this gets implemented, to have an option to allow for the faded frames to remain in the same position where the main sprite was. Words may betray me to describe this, but the closest thing I can remember right now would be Ryu from Street Fighter series, when he is doing his combos, a silhouette of him is shown in different frames while moving, his silhouette remains in the old position.

sfa3metsushoryuken

@genaside
Copy link
Author

genaside commented Aug 19, 2017

If you use Krita for animations, you'll know what I am taking about. You can set how far the "skinning" goes and what color+opacity of the layers.

To be honest just one layer(previous) with a 50% opacity under the current keyframe will do. :)
but, if you want to take it far, by all means

@hpvb
Copy link
Member

hpvb commented Aug 20, 2017

Ah yeah, krita's onion skinning system is fantastic, getting that in godot would be great!

@RandomShaper
Copy link
Member

I'm working on this. The first implementation will be simple yet useful.

@RandomShaper
Copy link
Member

Just an update. I've been doing a log of R&D and now I believe I'm on the right track. I expect to be releasing some results very soon!

I'll submit a WIP PR as soon as possible so @reduz and others can assess.

@volzhs
Copy link
Contributor

volzhs commented Oct 31, 2017

https://docs.krita.org/Animation#Expanding_upon_your_rough_walkcycle
krita has nice onion skinning shows previous and next frames.

image

@reduz
Copy link
Member

reduz commented Oct 31, 2017 via email

@RandomShaper
Copy link
Member

That's what I'm trying, but I can't find a good way to capture frames. I can create a copy of the ViewportTexture, but I'm doing so by getting the image data and creating a new texture from it. Needless to say that's painfully slow.

How can I copy a texture from VRAM to VRAM?

Regarding overlaying, I've extended the EditorPlugin API to allow overlaying on top of 3D viewports as well.

I think I'm pretty close to success! :)

@RandomShaper
Copy link
Member

I've submit a WIP PR for this: #12572.

@akien-mga akien-mga modified the milestones: 3.1, 3.0 Nov 26, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants