- Modifié
Use-case Question about Spine
- Modifié
Hi,
Hoping someone from esoteric can answer my questions, but someone with similar experience to what I'm thinking about is welcome to chip in!
So... I have a couple of questions about Spine that covers runtimes and maybe the editor for my specific use case. So this is slightly embarrassing, but I'm thinking of using spine for NSFW animations.
So the animations I'm thinking of is going to be covering the entire screen, I'm looking at resolutions of 1280 x 720 to 1920 x 1080, given this, my graphic parts will be larger than normal as compared to doing animations for sidescroller games and such. I'm looking at doing loops, and animations that simulate 2.5D movement, like those found in XXX scenes with varying angles and varying 2.5 "depth" angles. Think of a hydraulic pump moving in a 2.5D looking way. So my questions are:
- Is this doable with Spine (or any other game-2D animation package in fact)
- If I'm working with several moving parts that are generally bigger than normal, how will this affect performance? Specifically on HTML5 because my target is getting this to work with a HTML5 game engine and exported with Intel's XDK. My ideal target is the mobile platform (minimum target device: recent MediaTek quad-core Android phones), but I'm also covering normal computers - so there should be no problem with performance here.
- How is the performance of Spine-TS on Canvas vs. WebGL? Any limitations I should know of between the two?
- In case an atlas can't be used because there's a size limit I'm not aware of and the total size of image parts is pretty big, can I individually use graphic parts independently (ex: arm.png, leg-thigh.png, upper-torso.png, lower-torso.png, head.png, etc...)?
- If I use something like Phaser game framework, can I use Phaser's image asset preloader to load these images up?
Hope someone can answer my questions. In the meantime, I'll play around with the software trial. Maybe I'll find some answers there too.
Thanks!
(1) Some forms of "2.5D" are very doable in Spine, though how hard it is to do depends on what you are planning to do.
You can check the showcase forum: viewforum.php?f=5
This spine-users blog: http://spine-users.tumblr.com/
And the showcase hashtag page: #madewithspine
You'll see samples of some people doing that.
Particularly:
Zodiac Orcanon Odyssey, Spine showreel. - YouTube
Zodiac Orcanon Odyssey, making of Temple Statue Boss on Spine. - YouTube
girl - YouTube
stb - YouTube
To quickly try it out yourself just in the editor, you may want to try rigging something simple. Note that the trial version can't save so I don't recommend spending time making anything you'll get attached to.
(2) Regarding size on screen: Not specific to Spine. Look up "GPU texture fill rate". The more area of the screen your images or meshes take up, the more of the fill rate it consumes.
Regarding number of parts: that may be something you need to test yourself, especially with the unusual build pipeline. The intervening translation from js to various target platforms may incur a performance cost that's possibly not ideal for graphics-intensive games. If that's been shown to not be a problem, then you should have no problem using Spine either.
(4) I don't think we've done benchmarks yet. But between the two, Canvas is not ideal if you're looking for performance and full features. WebGL is the way to go if those are your only two options. Canvas is probably best for simple animated elements on webpages, even then, some cases are better handled with WebGL.
(5) Not specific to Spine. Look up "GPU maximum texture size". Particularly, look up the ideal/maximum texture dimensions for the devices you're targeting.
Nothing about this seems to be NSFW. I'm not sure why it was even relevant to mention what you were planning to make.
Just don't post any images though. You may get banned.
All right, thanks! Just wanted to be more accurate with the use-case, maybe that'd help others give me a better idea of the possibilities of the tool.
Ok, so regarding the texture atlas. Is there a way to load up multiple images to work around the limit of the texture size? And, is it possible to use multiple textures in case one texture is not enough?
You can cut up your images into smaller ones and attach them as needed to your skeleton. You can then instruct Spine to stitch them back together in an texture atlas, with multiple pages if required. From what i gather, you won't render much more than the animations, so texture switching due to atlas page "faults" should be OK performance wise.
Ah ok. I'm not exactly sure what this means right now, but I'll get it in time. Another question. In case I purchase the basic version for now and upgrade later on, will it be difficult to "upgrade" my animations based on the restrictions I played around with to support pro features? For example, if I animate without the bone restraints in the basic version, will I have a hard time "upgrading" these by hand?
It's relatively simple to go add IK Constraints to an animation that already has FK animation.
When you add an IK Constraint to a leg for example the FK animation keys will still be there, but if you set the weight of the IK Constraint to 100% it will ignore the FK keys.
Image supprimée en raison de l'absence de support de HTTPS. | Afficher quand même
In this screenshot I've added an IK Constraint to the version of Spineboy that doesn't use IK. By clicking the visibility dot next to the IK Constraint (IK1) I can see both the IK value (thin green line) and the IK bones (the green bones). So this means I can quickly key the IK position using the FK positions as my guide.
I hope it helps.
Hey Shiu,
Thanks for the demo! Ok, that sounds pretty neat!
Can I add parts that will use FK animations to an existing one that uses IK already? For example, a floating orb.
And does the FK bone need to be attached to a parent bone, or can it "float" nearby, something like an offset?
Everything is FK by default.
IK is an additional formula that gets applied on top to pose specific bones. And you can animate the IK on and off in animations.
Bones subject to IK can have child bones. They will also be FK by default unless you apply IK to them too.
Except for the Skeleton's root bone, all bones are a child of another bone.
If you want to find out certain setups, you should download and try them in Spine Trial.
Cool! I've got it installed. Just making my test graphic to see what I can come up with (feasibility test). If I have different faces for my animation, how do I swap them out? And can I do this programmatically on the fly?
You can attach multiple images to the same slot, then key which image should be visible at a specific time in an animation. See the Alien and Dragon examples that come with Spine.