NIMA web-based 2D bone and mesh animation app

0 favourites
From the Asset Store
Easily integrate Telegram Mini Apps SDK into your Construct 3 projects for building interactive apps and games.
  • Hey guys,

    I've been using C2 on and off for a few years now. I've lurked on the forums since I started using C2 but have never had anything to say. So for my first post, I wanted to share with you all my experiences with NIMA, a web-based bone and mesh animation app.

    I only recently discovered it and have been using it everyday for the past two weeks. There's two reasons I wanted to share this with you; Firstly, I know there are a lot of people that are very skeptical about C3 being on a web-based platform and all the perceived performance limitations of it. After playing around with NIMA, I was very much reassured of how powerful browsers have become, and I'm hoping that by having a look at NIMA yourself, you too well come around to the idea of working from a web browser. Secondly, I was hoping in getting some support from other C2 users in convincing the NIMA developers to create a runtime for C2/3 - it's currently in open Beta so I'm sure with enough voices asking for it, they could add it to their to-do list. Or perhaps there's a C2 plugin creator that wanted to take on the task!

    So why bother with all of this? Once you see what it can do you'll want to use it for your game animations, too. Sure you could use Spriter, which I've been using since it became available to buy, but they still AFAIK haven't added mesh deformation. Spine already has runtime support and mesh deformation, sure, but it's super expensive for a hobbyist, and maybe even for a lot of indie of developers. Also, both of those apps require an install, so doing some animation work during your lunch break is out of the question - fortunately C3 will also address that issue, too. So excited for the Beta tomorrow!

    I won't bore you by gushing about its features, you can check out their site for that.

    Here are the animations that I've so far created in this web-based app:

    The psd file for this was HUGE and I used A LOT of bones and mesh deformation to achieve this, but NIMA didn't even slow down

    https://www.2dimensions.com/s/144-nima-the-dragon

    I'm sure you've all seen this Spine raptor animation. I figured if NIMA could recreate it I'd marry it!

    https://www.2dimensions.com/s/141-spine-raptor-test

    I made this for those that want to hit the ground running and have something to work with right our of the gates

    https://www.2dimensions.com/s/148-nima- ... acter-file

    I've you're already using NIMA, please make it be known and help us get a runtime for C2/3!

    *** Reposted here in Tools and Resources and removed from Open Topic ***

  • I started animating in programs like EasyToon and TISFAT over 10 years ago, and since then I've used every commercial, hobbyist and niche animation software, both 2D and 3D, I could get my hands on.

    That editor has the best UI I've ever seen. Please for the love of God someone make this work with C3.

  • They have a JavaScript runtime they are working on here:

    https://github.com/2d-inc/Nima-WebGLAnd here is the example they provide:

    http://htmlpreview.github.io/?https://g ... rcher.html

    It's by no means a simple example to learn their api from. The only docs are the source code.

    Now, I don't actually have any interest in making a plugin for this. A good plugin would first require a good understanding of all you can do with the api and how to do it. Then from that something would need to be designed to make it easy to use from the event sheet. I simply don't have the patience to do all that, but here's an example that may be useful to someone who wants to actually make a plugin. Apart from the boilerplate stuff the example itself is simpler than the one on github.

    https://www.dropbox.com/s/r3my2jkzjf12j ... .capx?dl=0

    It loads the js files needed, loads a nima file and some animations, animates it and puts the rendered image on a sprite.

  • That's amazing work R0J0hound - you managed to figure out their runtime just by reading the source code

    Your .capx makes it look so easy and straight forward - which I know it's not

    Thanks for getting the ball rolling with this! Hopefully someone can pickup where you've left off and run with it...

  • I started animating in programs like EasyToon and TISFAT over 10 years ago, and since then I've used every commercial, hobbyist and niche animation software, both 2D and 3D, I could get my hands on.

    That editor has the best UI I've ever seen. Please for the love of God someone make this work with C3.

    I went and tried this because of what you said, but I found it really difficult to use. There are a lot of things with the UI that don't work that well for me. Also, the animating is very confusing. Someone like me that has never done this sort of thing will be lost, because a lot of it isn't self-explanatory.

    The examples look cool anyways.

  • Hey!

    I'm loving all the NIMA samples, I've just created an account but I'm not sure where/ how to launch the app.

    Can anyone send me a link, I'll try and look around the site in the meantime.

    I would love to have this work in Construct 3, the "Simple Weight Painting" feature that can be added to bones is awesome!

    Td

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Hey Totally2d!

    Once you've signed in, just click "YOUR FILES" in the top right, where the "LOGIN" would be!

    Here's the link anyway, just in case https://www.2dimensions.com/my/characters

  • dante thank you,

    So it was right in front of me all this time!

  • Hi All,

    I'm the developer over at 2dimensions.com. I'm very new to Construct but I love the concept and am excited to see another team with similar vision. dante, thanks for bringing our attention to Construct!

    As a lot of you have noticed, we're missing documentation. That's part of why we're still in beta. We're working on that! Our tool is a high quality professional grade tool which will have a little bit of a learning curve as it offers a wealth of features (with many more planned) behind a minimalist and clean UI.

    R0J0hound thanks for already taking a look at our runtimes! We will get to supporting Construct as soon as we are more familiar with the product. We'd love to provide a fully integrated plugin. If anyone is interested in speeding this along, we'd like to work closely with those individuals and provide them all the feedback and information they need on how our runtimes work. If Construct exposes the WebGL context, then we shouldn't have much trouble at all.

    Alternatively, if someone wants to point us in the right direction in regards to what features and integrations are necessary for a good plugin, we'd be very receptive to that as well.

    Looking forward to working with Construct!

  • castor2d

    Here's the sdk documentation if you're curious to take a look:

    https://www.scirra.com/manual/15/sdk

    You can get the webgl context in the drawgl function of a plugin. C2's renderer assumes it's the only thing changing the state of the context so if a plugin changes something it should be changed back when it's done or it will break things. Also c2's renderer is batched so the current batch should be ended before drawing directly with webgl.

    Also, c2 uses an old version of gl-matrix which isn't compatible with the new one used by your library. I ended up renaming everything in the new version to avoid conflicts. I was unable to find a cleaner solution.

    As far as making a plugin the only types available are numbers, text and object types, which can make it tricky to access other kinds of types. I guess you could look in the plugin's section and look at the spine, spriter, and creature2d plugins to see how similar things were done. I think there was another plugin that I can't think of.

  • That actually makes sense, we do need to compartmentalize a little better, that'd help with the gl-matrix issue. I'll take a better look at the documentation...it would be nice if we could play nice with the internal batching but the render order requirements may not allow for that. Having to restore the state after each Nima character renders is a shame (especially if the next render is another Nima character) but we can at least start there and see what can be done better later. For example, is there an abstracted render pipeline we could plug into? We might have to lose our hardware skinning, but it might provide better performance for simple characters and would probably allow for custom shaders (which I think I saw Construct allows).

    Thanks for the feedback!

  • I don't think there is an abstracted render pipeline if I understand that right. C2's renderer mainly just deals with quads and sometimes points for particles. Most plugins then just use functions like setTexture and quad to draw stuff. If you look at the glwrap.js file in construct's install you can see all the rendering functions. It's not too deluxe but as it is to be friendly with c2's batching you'd be limited to just drawing with quads.

    The effects system c2 has is pretty much just useable from the editor. It doesn't look like it was designed to be manipulated from a plugin.

    It just seems more straightforward to end the batch, use any webgl you want, and be sure to restore the relevant states used by c2 back to what they were.

  • Sounds good, thanks for all the info. Hoping to get a chance to dive into this soon!

  • I would LOVE for Nima to work with construct 2.

  • Hi justifun, I got your PM but cannot reply as my rep is below 500. Thanks for the really nice message. We can't dedicate more resources to this immediately but we are putting it on our roadmap and we hope to have it in the next couple months. I'll update here when we have more info on this.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)