I freaking Love it! Now, how about something cool

Discuss issues pertaining to the various game/web runtimes of Creature here.
Post Reply
wermfood
Posts: 12
Joined: Sat May 25, 2019 5:27 pm

I freaking Love it! Now, how about something cool

Post by wermfood » Tue Jun 11, 2019 10:45 pm

Ok, I HAVE TO SAY -- the more I use Creature the more I like it. Every time I load it up I learn something new. Previously I used Spriter as my "animation engine", and as a passionate user of Spriter, there are so many things I am going back and doing over with Creature. Having said that, let me ask anyone if they have any special techniques to perform a combined kind of animation!

What I want!
Imagine I have a that I have two animations of a character body. The first is it doing jumping jacks and the next is it in a standard idle animation where it just breathes and the head "bobs" up and down. Keeping that in mind, I want to put some big ole bushy eyebrows on his face. Moreover, I want to control the eyebrows in my game engine so I can make those bad boys move up and down by pressing and releasing the space bar.

What I used to do
Previously in Spriter, I created two Spriter objects - one that was the eyebrows and one that was the body animation. The eyebrows Spriter object has animations called "raise" and "lower" which would just slide the same sprite down into another position. As mentioned earlier, the Body object has two animations, one called "Jumping Jacks" and the other called "Idle". In my engine, I positioned the eyebrows on top of the head area for the Body object. This made everything look like it was one image. I was then able to control the eyebrows by pressing the space bar for raise and letting it go for lower. I could also hit "A" and the body would do jumping jacks and hit "D" and it would be idle (both of these are looped). Now whenever the character would do jumping jacks, I could make the eyebrows raise or lower by holding down the space bar. I could do the same when they are Idle. Its pretty cool and lets me composite characters from different parts like "eyes","mouth" etc. Spriter has character maps which let me change the eyebrows from "bushy" to "fleek" or different colors.

What can I do now!!
I have always assumed I would need to do the same thing in Creature. I was messing around with Skins, which would allow me to replace the sprite with the high brow version which could be agnostic of the specific animation. This seems more of the character maps I am used to. But there is just so much more in Creature! Is there a way that I can have one single Creature object and be able to control different parts individually? If not, then I can continue with the old school way--but if so please share!

Wermfood

chong
Posts: 1178
Joined: Thu Feb 19, 2015 2:21 am

Re: I freaking Love it! Now, how about something cool

Post by chong » Wed Jun 12, 2019 1:17 am

Hello,

So one way you might be able to approach your problem is using Skin/Costume Swapping. You can look up Skin Swapping in Creature ( check Creature youtube channel, a couple of video tutorials on that topic(s) )
You can have a "super skeleton" which contains bones for a superset of the different rigs you want into a single character project. Then you create and bind various meshes to the different subsets of the skeletal rig based on what motion you want to achieve. You then create a skin set that associates a group of region meshes with that skin.
At runtime, you can swap out the various skins to only show the skin set you want. Hope that helps you out.

Btw, an added potentially useful tip to deal with large groups of bones is to create bone sets. This can be created in animation mode and allows you to put a collection of bones into a selection set to aid quick/easy selection of bones.

Cheers

wermfood
Posts: 12
Joined: Sat May 25, 2019 5:27 pm

Re: I freaking Love it! Now, how about something cool

Post by wermfood » Fri Jun 14, 2019 1:16 am

Just thought I would give you an update -- I done tons of examples of skins and performing that setup. I can see how that would indeed be "on top" of the other animations. My challenge is currently, I don't know how I can "tween" from the previous image to the new one when doing skins. As a matter of fact, I am currently trying to figure out how I can do this in the game engine.

So my robot character is looking sweet, he has some really awesome poses. I then have an eyebrow that is low on his face, and I can swap it with one that is high. I can do this while any animation is playing. The challenge is, when I have a low eyebrow and then a raised eyebrow, I am expecting for the eyebrow to "slide" on up instead of "blinking" into existence.

I even created a single creature called left_eyebrow that has a single frame animation called "low" and another frame animation called "high". When I switch from one animation to another, I don't see the animations tweening. So I am taking a deeper look at that as well.

Wermfood

wermfood
Posts: 12
Joined: Sat May 25, 2019 5:27 pm

Re: I freaking Love it! Now, how about something cool

Post by wermfood » Wed Jun 19, 2019 2:30 am

Quick Update -- I have not really been able to move things independently like I had hoped. So instead I went back to positioning one object over the other and "composite" the character dynamically. My challenge currently is that because I am positioning from vertexes the movement of the components on my characters face will "float" around some. in the updateStep routine I am finding the renderer for just the eye and then placing it at the vertex position.

Do you have any guidance on how to make things less floaty?

Post Reply