-
-
Notifications
You must be signed in to change notification settings - Fork 21.4k
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
Polygon2d editor- Ability to Add/remove/move internal vertices - edit topology #20601
Comments
I think this is solved by the 2D skeletal deform (which is a 3.1 feature): https://godotengine.org/article/godot-gets-2d-skeletal-deform |
@vnen what do you do if you want to animate the robot's eyebrows with an extra bone then? :/ Right now you can only add them to the silhouette , which sucks a lot for animators - its a huge limitation on creativity. ..or am I missing something? |
I ask for this in every patreon poll after Skeleton2D commit. I hope it will be considerated. It´s a must have to bone animation. Thing that are not hard (Actually exist but are hidden):
Things that can be hard:
https://www.youtube.com/watch?v=Sul-lc9D-8I (Sec 0:24) https://www.youtube.com/watch?v=3mC9suxK6zM (Sec 0:42) This is very clear (min 1:46): |
I wonder why @reduz decided to hide internal triangulation by default To me just creating internal vertices (inside the silhouette's volume) and binding them to a controller bone would be good enough Hiding the triangulation, and not allowing internal vertices to be controlled seems like a huge problem |
This'd be great for just vector art as well, color-per face and much better vertex coloring! (particularly with an actual vertex painter) I mean a faceted style currently is possible but you need to use multiple polygons (and likely more vertices), using partial transparency can make things a bit easier in some cases (but that brings its own issues as well). Meshes would make creation of anything complex much easier and faster, as well as being actually viable to edit later. I talk about this (and Godot's polygon AA+expansion of polygon features) in this post that I made on r/godot. Including a test project with different experiments with Godot's polygons (vertex colors, animations/movement, scaling, textures+texture warps, 1 animated collision mesh, etc). |
To me the biggest problem with this is that the artist using it is always forced to produce subpar results with ugly skin deformations. Vertex colors and turning svg files into polygon meshes is a whole other thing, that is just a pie in the sky atm. This is what Unity3d is doing atm btw. If you look at games like Night in the woods - cartoony 2d game made in unity- its all polygons moved by armatures |
@blurymind Will make this my next suggestion / vote for the upcoming Patron polling. Skeletal2D is something we really want to make use of, but so far it hasn't been functioning at all, and seems to lack basic features. |
@blurymind It's not a problem. X) I am glad someone else here is interested in this feature and vocal about what it needs. When it comes to 2D, I feel like this an area where Godot unfortunately lags very far behind many of the other engines and tools. That said, I am more than eager to see it take shape, because of how powerful it will be coupled with the AnimationPlayer and GDScript. I don't know a whole lot about it yet, so thanks for sharing these examples. The second one is something that looks very practical for a game. This is sort of effects we're aiming for in our game right now, but we're currently blocked until 3.1 stabilizes. :( |
@blurymind I don't think I saw your edit before
Me mentioning svg importing was only a note about the only situation I could see neglecting a dedicated (vector-focused) 2D asset editor (or having it as an add-on/plugin/whatchamacallit) as being acceptable, I wasn't suggesting svg conversion. That likely wouldn't be super useful anyways without curve support, at which point conversion isn't really needed. I don't think it's too much work, particularly sharing a lot with standard polygons that just needs some adaption/new cases. Though you're right, it's a few steps past being used only for a texture-deform skeleton... however, a mesh+vertex colors can produce some pretty neat things (see also Spyro's skyboxes back during the PS1 days, back when something that clean/smooth wouldn't have been viable with a skybox texture) for a low resource impact. Animation of a polygon character would also be significantly easier using a mesh just like a texture would, rather than having a 'body' polygon and then needing other elements as their own polygons that are animated separately. Vertex coloring would also be much more viable with internal vertices. But I agree, it is likely "pie in the sky". Not because it's unrealistic technically, but because someone needs to work on it and that's unlikely unless someone both WANTS said feature and has the ability+time to implement it. Many people are fine with raster (even though it doesn't play nice both with high and low resolutions), and you can see the lack of care when it comes to Google/Mozilla trying to replace Flash without recreating the vector side of it (like the replacement for animations is just the HTML5 raster video player) despite the jump we've had in average screen resolutions AND 1440p/4K/8K looming in the future.
Not sure what you're trying to say with this, but I'd probably be interested in reading/hearing about it if you have devlogs/videos etc on any of it. Last time I checked with Unity, most vector support seemed like it required 3rd-party stuff, sometimes even paid. Though I'm not sure about polygons only. I couldn't find anything on NitW, the main thing that pops up is their dialogue system (Yarn). I'd look at the game myself to make sure it wasn't pre-rendered, but I don't have money and I likely wouldn't buy it simply due to lack of replayability (even though I like adventure games). |
@insomniac_lemon here is a link Unity converts svg files to meshes and the color data seems to be transferred to the vertex colors data - resulting in this crisp resolution independent look. The idea about svg from my perspective is binding the svg generated mesh to a skeleton :) But in this issue, my request is not for that at all. It is to improve the authoring tools in godot and allow authoring the tessellation of polygon2d - to allow internal vertices. Polygon2d is strange imo, because its not really a polygon - doesnt have 4 vertices - its not one face. Its just a very limited mesh. Should be called mesh2d? |
Neat, that's refreshing to see! Seems like it's from early this year. I don't think NitW used that considering it came out in early 2017, and the kickstarter was from 2013 (where you can see a 3D view of the scene and a sprite tree)... but I guess the final game could use plane meshes imported from SVGs, maybe even with a custom importer. Still no curves as I mentioned... though maybe it won't make too much difference performance wise, unless maybe compared to the stuff that need 20+ vertices to be smooth vs 1 curve. That is, particularly in cases where smoothness is wanted. I mean I don't mind a stylized 'cutout' look, but I like the super-smooth yet simpler look too (like an outline of a leaf made with only 2 vertices... which with 2 handles per vertex still offers a few possible shapes).
Well, internal vertices could do both. You could use it not only for better deforms and internal deforms as you've mentioned (tentacle and eyebrows respectively) but also for vertex weights. Plus you could animate the vertices directly (mouth and eye animations would not work very well with bones, or if possible it'd be really awkward both with the skeleton setup and with a cartoon-y/simple result). Like I said in my last comment... pure mesh shares many features as what you're asking for, only it requires a bit more work (deform only vs actually renders). Much like polygon2D already shares usage for polygon art and texture deformation, so internal vertices could be a step up for both. It would be incredibly useful for creating static art yes, but it'd also be useful for making animated characters (or other animated things) that don't rely on textures. So in the case of animation we both want the same thing, only I want it expanded a little further to work with meshes on their own.
The prefix poly- just means 'many'. So Godot's usage is perfectly fine. I don't think 'face' implies 4 vertices either, you're likely thinking of quads. Mesh2d should be reserved for when the mesh is controllable, like for this issue and for what I want. Internal vertices should not be done through polygon2d nodes, unless maybe they just get renamed to mesh2d assuming it gets fully upgraded. |
Let me sum up everything from this thread so that if someone wants to work on it, he/she won't have to read it through.
And improvements to the skeletal deforms. Not mentioned here but from my perspective they will be needed to make work with the internal vertices better. Lastly the SVG importer improvements by adding tessalation to turn it into a mesh might also be a good idea if someone is up for it. |
@swarnimarun cage transform should not be regarded as a replacement for weight painting. Cage transformation should be seen as an extra feature, not an 'instead of weight painting'. Here is another example where you need to very specifically set the topology of your 2d mesh: Godot's implementation is not a viable option at the moment. It won't ever be with this limitation. The sad thing is that all the options out there are proprietary. Dragonbones claim to be open source on their website, but their editor is not open source, nor is it free. They have imposed some terrible DRM requirements in the latest versions - you cant use their app unless you are logged into an online account at a chinese website. The only easily accessible drm free option at the moment- that is even a part of a game engine is sadly the one in unity3d. Unity3d atm has the best implementation of this. These are imo for another issue request. This request's focus is solely the ability to create internal vertices and set weight on them.When that is out of the way, I can post a separate issue about the weight painting tools if nobody else does :) |
@blurymind Another informative post. As it stands I don't think the results can ever get much better than the purple tentacle example from earlier posts. We've been trying to see what we can at least use out of it, but for the very issues here, the results have been very undesirable. Though it looks like it would be quite the effort to make the tools and features on par with the others. |
@avencherus thank you. It is indeed unusable at the moment. Even basic deformations dont look good. Btw I really like gun-toting cats. Well done! |
@blurymind I hope so, we will have to see how many people are actually aiming to use it. If it hits the floor as is, oh my. The downsides about Dragonbones are very much deal breakers. If Spine delivers a run-time for Godot by the end of the year as has been suggested, we'll probably invest in that. Though we're just starting to evaluate the animation needs, it may turn out that we can make do with cut-out puppets. Thanks. X) Now that we've decided to take the game on seriously, there will be some very ambitious improvements made to it. |
Guys, if you want to add internal vertices, this work should be focused on the Polygon2D editor. As I mentioned before, importing SVG as mesh is nice and it should not be too difficult, but this is not a good enough solution for this. |
@reduz thank you, I renamed the title of the issue. The svg stuff is not a suggested solution, just an off topic mention - related to 2d animation in godot in general |
As I mentioned, importing SVGs as Meshes is not too much work, but having to add internal vertices to them is a huge amount of work in comparison to just add internal vertices to Polygon2D |
@reduz for this issue lets focus on the lower hanging fruit- ability to add internal vertices in polygon2d editor :) I think most people will use bitmap sprites anyways Svg import and tessellation is for a separate feature request imo. We now have this feature, but it is still missing a key ingredient to be complete |
Really godot node system has now all features that spine/dragonbones has except internal animation vertices... you can do re-skinning, you can change z position, add/delete parts of the body, triggers, etc... you can do more things that integrated editors in spriter/spine/dragonbones.... but the internal vertices (a.k.a mesh deformation in 2d slang) is dead end to 2d animations "darkest dungeons" like (spine).... we try to maintain dragonbones runtime compatibility jet (module compiles in 3.1, but original module developer don't seems to interested), spine runtime is now outdated and think doesn't compiles because COW changes and math2d split (i'm spine customer but i don't want to do the job, i'm not programmer and spine has programmers), spriter now is worst that godot animation system... in the future this can be a top feature for 2d godot so please don't lost focus on that. |
@Ranoller I agree that it would be great if we don't have to rely on third party devs/software. Unfortunately without internal vertices it is really unusable for production. Until godot catches up with dragonbones on the most basic of features- we will have to use it instead. So thank you for maintaining it btw |
Everyone who wants this feature- dont forget to vote for it here |
@blurymind isn't that for patreons only? |
@swarnimarun everyone can vote, however if you are a patreon your vote counts as more than one vote..at least thats how I understand it |
This wad added some days ago, so closing. |
Thank you for the fantastic work!
…On Fri, Jan 18, 2019, 2:34 PM Juan Linietsky ***@***.*** wrote:
Closed #20601 <#20601>.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#20601 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AGMbVW2Oukpmhl9n_ifRk0amrsTEwV_0ks5vEdtlgaJpZM4VmRjT>
.
|
To clarify, it was just internal vertices that were added right? We're tools like cage transforms to animate internal vertices added? |
@JWBWork I don't think cage transform tools are implemented yet. If you need this feature in a project you're working on, please open a proposal on the godot-proposals repository. |
Godot version:
3.0.6
Request description:
This is a request to add the ability to have internal vertices on polygon2d shapes. The feature is required for a 2d skeleton deformation workflow - specifically for animations that fake head/torso turning.
It can also be used for facial animations.
here is an example of that in spine2d:
https://youtu.be/0Dd2M8XBTo0?t=8m56s
and
https://www.youtube.com/watch?v=Whe2qvEiZds
In general, Godot currently can only do very simple mesh deformation animations. The end result will always feel a bit stiff without the ability to have deformation inside the mesh - internal vertices
It's a huge limitation
The text was updated successfully, but these errors were encountered: