Closed blurymind closed 8 years ago
Pity there is no Linux versions of that software. :( In contrast Spine works on Windows, OSX, Linux 32 and 64 bit. Spriter? The same.
it might be possible to run the editor in wine? :) I agree its a pitty
Runtime wil not be added, but Godot supports most of that stuff (except bone deforms for now). Might work eventually on an importer that converts stuff
On Wed, Feb 24, 2016 at 9:02 PM, Todor Imreorov notifications@github.com wrote:
it might be possible to run the editor in wine? :) I agree its a pitty
— Reply to this email directly or view it on GitHub https://github.com/godotengine/godot/issues/3823#issuecomment-188526861.
the animation editor there is way more powerful than anything else atm. They have a motor system that cuts production time by a huge margin.
Don't care about that, we'll focus on improving ours instead and also add enough features so we can import from existing tools On Feb 24, 2016 22:15, "Todor Imreorov" notifications@github.com wrote:
the animation editor there is way more powerful than anything else atm. They have a motor system that cuts production time by a huge margin.
— Reply to this email directly or view it on GitHub https://github.com/godotengine/godot/issues/3823#issuecomment-188545170.
Have you used this program, blurymind? Is it really that good?
I used it. It really is.check their yt channel. Juan- how come you put spine2d on the roadmap, but flat out refuse to give this a chance?
Have you used this program, blurymind? Is it really that good?
— Reply to this email directly or view it on GitHub https://github.com/godotengine/godot/issues/3823#issuecomment-188556548.
@blurymind I don't think @reduz will put spine2d in godot. He means importer as same as you provided for creature2d. He would add importers for spine2d or creature2d, after godot has enough features.
But again, it's not working on Linux so something like a 50% of Godot users will have no use of it. Besides, reduz want to add these features to Godot instead, it sounds better, don't you think?
The developer has expressed interest in porting it. Would a linux editor increase its chances for a godot runtime? On 25 Feb 2016 09:10, "kubecz3k" notifications@github.com wrote:
But again, it's not working on Linux so something like a 50% of Godot users will have no use of it.
— Reply to this email directly or view it on GitHub https://github.com/godotengine/godot/issues/3823#issuecomment-188679313.
@blurymind Well I think it would definitely increase the chances in the long term, since many contributors are on Linux machines. But I assume not as much as you would like, since the person who will eventually contribute this to Godot is probably using Creature right now.. When it comes to core devs I don't think they will be able to find time for this no matter what, there are many features that they have on their roadmap that are very awaited by most of us... and their resources are very limited.
@blurymind No, there is absolutely zero chances of runtime support for this or Spine in Godot, ever. It will never be natively supported officially. Don't insist as it won't happen.
What will happen is:
1) Godot will improve internal 2D animation support to match this, which is not too difficult 2) Somebody will write Spine or Creature importers for Godot, that use Godot runtime 3) Somebody will write a module that does run-time support but it will not be suported internally, you'll have to add it and compile your on Godot (which is easy anyway)
I see. That is understandable :) Hope that Godot one day supports these features as well.
On Thu, Feb 25, 2016 at 3:09 PM, Juan Linietsky notifications@github.com wrote:
@blurymind https://github.com/blurymind No, there is absolutely zero chances of runtime support for this or Spine in Godot, ever. It will never be natively supported officially. Don't insist as it won't happen.
What will happen is:
1) Godot will improve internal 2D animation support to match this, which is not too difficult 2) Somebody will write Spine or Creature importers for Godot, that use Godot runtime 3) Somebody will write a module that does run-time support but it will not be suported internally, you'll have to add it and compile your on Godot (which is easy anyway)
— Reply to this email directly or view it on GitHub https://github.com/godotengine/godot/issues/3823#issuecomment-188827929.
Hello all,
One last update for tonight. I have an initial version built through for Godot: https://github.com/kestrelm/Creature_Godot/tree/master/creaturegodot
This is completely untested but it compiles and links just fine. I can also add it into the editor in Godot Engine. I haven’t tested the display yet of course, will do so soon.
Can you please have a look, the relevant files are:
creaturegodot.cpp creaturegodot.h
Can you tell me if what I am doing makes sense?
Cheers
@kestrelm I will try this out later. Posted it at the godot facebook group. https://www.facebook.com/groups/godotengine/permalink/760026870800576/
Btw how do you use it? Do you copy these files in godot's source code and compile godot? A readme would be amazing!
@reduz has been planning to add this in godot 1.2, then 2, and now 3 (in another year?), but now that you have made an implementation I am sure that at least creature users will find it awesome and find damn good use for it. Having something working is better than waiting.
I still hope to see something like this become a part of godot trunk. I think that something like this will get merged into godot only if it benefits its 2d animation system directly - so godot users can edit imported creature animations with godot's internal animation editor as well.
A year ago another user implemented support for spine2d, but it never got merged because godot developers want to implement it in a way that benefits the whole game engine. Here is the pull request: https://github.com/godotengine/godot/pull/1734
and then have an importer as an addon that imports the animation data. But godot cant do sprite deformation animation yet.
Perhaps your changes could help add the ability to properly mesh and deform sprites in godot and thus enable an importer for creature2d to be implemented. If such a thing gets merged to godot trunk it will make it easier to import creature animations - since the user wont have to compile godot in order to use it with creature files. I hope you get some feedback from @reduz or some of the other experienced godot devs,
@blurymind Hello, a README is coming. I just literally got these compiling and loading last night :) Will be doing more testing today.
Also, regarding your posting on Facebook, can you please respond and tell that person that Everything is a mesh in Creature. Which means mesh deformation comes by default for the Basic Version. He sounds kind of confused. Mesh Deformation Motors are an advanced feature that allow you to do very complex mesh deforms. You can do regular mesh deforms already with the bone motors. Can you please correct the poster. Thanks.
@kestrelm this is attracting a lot of attention on facebook atm. The person asking the question got the answer quoted from here already. :)
Yes I noticed and thanks for replying for me :) I think he really sounds confused. There have been absolutely NO CHANGES regarding motor features for Standard and Pro since Creature started. I have no idea where he is getting his information from.
@blurymind Essentially, EVERYTHING in Creature is a mesh. If I didn’t support mesh deformation in the basic version, nothing would work! Also, you can already do very fancy cloth with bend physics motors in the basic version. I am trying to get added to the facebook group but it is still pending. Would love to clear up his confusion. He really sounds confused. I hope you can help answer his misconceptions in the meantime.
Cheers
@kestrelm Well as @TheoXD mentioned, he's referring to your website:
Then it could very well be that it's a misunderstanding on what "Mesh Deformation Motors" mean in the context of the Pro version I guess.
@akien-mga Hello, so here's how it works for Creature which is quite different from your regular 2D puppet type animation tools. Everything comes in as a mesh, you have bones with weights that influence various parts of the mesh, just like in a normal 3D tool like Maya/Houdini etc. You can move those bones and they will then deform the mesh in various ways.
In other words, by simply putting a bunch of bones all laid out over the mesh, you can already deform the mesh in many different ways. The bone motors operate on top of the bones to give you different types of fancy behaviour ( physics, cloth, walking, IK etc. )
How about mesh deformation motors then? Well they operate at a much deeper level, give you much finer grained control over the mesh. For example, you can do even more intricate stuff like finite element/soft body physics on the actual mesh itself. This is pretty sophisticated stuff used typically in high end movie production. They also allow you to warp the mesh almost in a 3D fashion for wing flapping for instance. So bone motors already operates on meshes, as do mesh deformation motors. Except mesh deformation motors go a lot further ( think of them as advanced maya deformers )
Here is an example all done with the Basic Version running live in WebGL: http://creature.kestrelmoon.com/more_info_3.html
The entire ice demon is running with a various bone motors deforming the mesh and fire. No advanced features were used.
Cheers
Thanks for the details, it sounds (and looks) very interesting. I'm glad you're working on this plugin as I can imagine that many users would benefit from using your tool together with Godot.
To clarify, I did not mean to play the devil's advocate, I just wanted to point out where the confusion might have been coming from for this specific user checking your website.
Hello no worries, I am going to be doing more development and testing today on the plugin. Once that is all done I will push out official docs.
Cheers
@kestrelm I think you can avoid future misconception by renaming 'mesh deformation motors' at the website to something that doesnt use the words 'mesh deformation', as a lot of people looking at it for the first time might not know the meaning of the word 'motors' in the context of the application - motors are absolutely awesome btw. They put creature2d miles ahead of the other tools imo.
The problem also partially comes from people's set expectation from spine 2d - where actual mesh deformation is not available for their basic version. As I noted this makes creature2d a much better option for an indie developer.
@blurymind @akien-mga Ok first implementation is up and running, doing more testing and will get to docs soon.
Check out the initial video of the raptor running in Godot: https://youtu.be/wJscyoq1mkc
Cheers
@kestrelm This is absolutely fantastic progress! Posted the video at godot's fb group. Really looking forward to trying this out myself once the instructions are up.
And really really hope this type of 2d bone deformation becomes an internal part of godot - so everyone would be able to use creature2d files in Godot's official release - without the need to recompile godot.
I am not sure if it will make its way into the main trunk due to my different plugin license restrictions. Having said that, the license is very liberal actually, you just need to be a licensed owner of Creature to use the plugin and that's it. However it's not a MIT license.
Compiling the plugin into Godot is literally a drag and drop operation. It's really not that difficult. I will be working on the docs soon.
Cheers
Ok good news, the documentation is up: https://github.com/kestrelm/Creature_Godot
This also includes a video tutorial and sample project containing the UtahRaptor. Enjoy!
@kestrelm is it possible to change the texture that a creature object is using during runtime? This would be very useful for things like changing the armor of a character or applying the same animation to different looking characters. Does the current implementation support all of creature's runtime functions?
Hello, Swapping texture uvs/items from the texture atlas manually is supported in the core runtimes but has not been exposed yet. I am going to be exposing a lot more functions from the core runtime soon.
Cheers
Ok item swapping, anchor points and point caching functionality are now exposed in Godot runtime. This also includes the ability to retrieve world positions of bones in game for object attachments etc. More to follow...
https://github.com/kestrelm/Creature_Godot
Cheers
Another quick update, under the very helpful guidance of Ariel, I have integrated the runtime to expose animation frame and animation name as properties. This means it is now possible to scrub/key animation frame values directly within the Godot AnimationPlayer node itself, allowing a tech artist to easily step through the animation with the gui: https://youtu.be/afSObHcj9O8
Cheers
@kestrelm The godot implementation would benefit from having the ability to control the bones via code - that would allow for some dynamic gameplay.
I filed a feature request here: https://github.com/kestrelm/Creature_Godot/issues/4
So basically ability to set_bone_pos, set_bone_rot and set_bone_scale
Yes I will take a look at it once I get the other tasks off my list of TODOs. This sounds like a good feature to have.
Cheers
Since the module was created and is available at https://github.com/kestrelm/Creature_Godot, this issue is not really needed anymore. The runtime support won't be added in Godot. A possible import plugin can be created when Godot support more animation features.
Creature2d is a cheap, but much more powerful alternative to Spine2d and Spriter. http://creature.kestrelmoon.com/ It offers procedural animation, smooth deformations and many other features. What is better - the author of the application has shown big initiative in helping game engines implement it in the past. He has stated if somebody helps him out, he will add the runtime: http://www.kestrelmoon.com/creatureforum/viewtopic.php?f=3&t=244
There is also already a c++ implementation: http://www.kestrelmoon.com/creaturedocs/Game_Engine_Runtimes_And_Integration/Custom_Engine_C++_Runtimes.html
I hope to see this available in godot for a number of reasons: