Timeline, Bones for Stretching, Sprite Switching

Discuss issues pertaining to the Creature Animation Editor here.
Post Reply
Psmith
Posts: 21
Joined: Fri Apr 17, 2015 6:13 pm

Timeline, Bones for Stretching, Sprite Switching

Post by Psmith » Tue Apr 21, 2015 4:41 pm

Would you consider providing a "dark grey theme" for your UI? Pure white is very hard to look at for many hours on end. Ask anyone who has been designing on computers for years - and they will all agree. Eyestrain can completely end your computer graphics career.

Can the Timeline be adjusted so that all keys can be seen at one time? (Scaled).

In the Standard Version you mentioned that bones can do the job of Control Points, since they act as local deformers. Can you elaborate on how to set up bones so that a "squash & stretch" effect could take place on, let's say, the dinosaur's body?

In an example of the dinosaur running - suppose you wished his head to turn and face the camera for a moment. I understand that this can be accomplished by sprite switching - but I don't understand the mechanics of making this happen in Creature - can you explain? Also - does this practice of switching sprites (a lot) create a significant resource drain on a game?

Thanks for answering so many questions,

Greg Smith

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

Re: Timeline, Bones for Stretching, Sprite Switching

Post by chong » Tue Apr 21, 2015 5:18 pm

Hello Greg,

No problem, it has been great answering your queries on Creature. I really appreciate your interest in the tool!

1) The Timeline can be scaled as in magnified/shrunk yes, the control is on the timeline bar itself.
A more in depth look at the controls available:
http://www.kestrelmoon.com/creaturedocs ... lines.html

2) For a squash & stretch look,

I have uploaded a simple video for illustration purposes. This was done in < 2 mins so it's very rough but it's meant to show you the idea:
https://youtu.be/WBbYIPzUtg8

First method: You could setup a linear chain of bones(horizontally or vertically, depending on what direction you are going for).

----> ----> ----> ----> (The arrows represent your bone network)

You use Creature's Auto Weighting tool to weigh the bones to the mesh appropriately. After that if your preference is to do
it all manually, the bones are already setup for FK (manual manipulation that is) by default so just go in and drag them around.
The vertices of your character mesh will be affected and transformed by the bones. Because they are weighted, the meshes will be
affected and pulled in a weighted fashion which means there should be a nice weighted gradient/feathering effect of the meshes going on.

Second method: Same thing a above but instead of a linear chain of bones, you can setup some thing like this below.

<---- ----->
<---- ----->
<---- ----->
<---- ----->

The arrows are your bone network overlayed on top of your mesh. As you can see, it looks like a rib cage which is is meant to be. Go in and again run autoweighting on the bones. Now you can also directly manipulate them if you want to. This bone network has more flexibility because rotating any one of the bones results in a nice "bending" effect on either side of the mesh. So you get more than just squash & stretch, you can get smooth shearing with curved shapes as well.

Again this is completely up to you but you can already see that just getting creative with your bone network overlayed on top of your character mesh allows you to achieve interesting deformation effects without deformation mesh motors. Of course the mesh motors give you even more power but doing it with bones alone can get you pretty far given the fact that everything in Creature is mesh based. This is the reason why Creature is built off a mesh posing engine; it gives you a lot more power than traditional sprite bone animation tools.

3) Sprite swapping in Creature currently is accomplished by going to the regions tab in Animation Mode and checking "Enable Image Swap".
A new button appears which when you click on pops up a window showing you the other image regions you can swap your current region with. This is of course keyable over time.

Keep in mind the method I highlighted above what is currently available and might not be ideal for large numbers of sprite swaps(say you had 100 frames of fire animation you want to swap in).

However, I am very pleased to say that a new module, called the Sprite Frame Manager will be added into Creature shortly. This brand new module is specifically designed to manage, swap and manipulate huge numbers of Sprite Swapping frames very easily.
I already got 80% of the Sprite Frame Manager working yesterday so the feature will be included into Creature soon. Also, this new feature will be included in both Standard and Pro versions.

Sprite swapping is not a significant resource drain on the game, the computation is mostly trivial. What it might be is a memory drain if you have lots of sprites to swap in but that is up to the user to decide.

4) A dark grey theme might be difficult to do right now since I have other priorities in the pipeline (windows port, UE4 support etc. ) However I will note that down and put that as a future todo item.

Cheers!
Chong

Psmith
Posts: 21
Joined: Fri Apr 17, 2015 6:13 pm

Re: Timeline, Bones for Stretching, Sprite Switching

Post by Psmith » Tue Apr 21, 2015 5:58 pm

Chong:

Thanks for these answers - very thorough, indeed.

A temporary fix, (which I have been using), to have a mostly dark interface is to use (on Mac) - the System Preferences/Usability - and check "Invert Colors". Granted, your artwork will be viewed in "negative" format - but all controls and functions are much easier on the eyes.

Construct 2 is a very streamlined Game authoring environment available on the Windows Platform - that accepts .scon (.json) formatted animations from 3rd party products (like Spriter and Spine). I have not used these export/import formats - and I am no technician.

How difficult will it be to import my animations produced with Creature into Construct 2, do you think? I don't know if the files will require special handling or packaging by me.

If I cannot get that format to work - does Creature export Sprite Sheets (.png with alpha) or just individual .png files (with alpha)?

Can you tell me just what resources are preserved when using the .json/.scon format? Why are the 2 extensions seemingly used synonymously with each other?

Thanks again for all your help,

Greg Smith

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

Re: Timeline, Bones for Stretching, Sprite Switching

Post by chong » Tue Apr 21, 2015 6:14 pm

Hello Greg,

Btw, the Squash & Stretch video finally finished processing:
https://youtu.be/WBbYIPzUtg8

1) Construct 2 support will be require me contacting the Construct 2 guys so that Creature can write out a JSON format compatible with their engine. I am already planning to chat with them on that issue once the Windows version is out. The Windows port btw is already 90% done so things are going rather well on that front.

2) Creature definitely supports exporting out to other file formats other than JSON.
You have a couple of choices:
- Raw PNG frames with alpha, all compatible with texturePacker since they are numbered accordingly

- A PNG spritesheet, all packed up for you. Though if you already have your own packing pipeline, you most probably should pick the first option instead since it is a lot more flexible

- GIF animation, if you just want to display it quickly for the web

- Quicktime movies encoded in high quality compression(almost not artifacts). Again this is probably useful for illustrators.

- FBX format. This works for animations authored using just Bone Motors which means the Standard version. It currently does not support the advanced deformation motors yet because the FBX format doesn't support the advanced warping operations Creature employs for the mesh motors. This does not affect Standard version users. FBX is the format you want to use if you want to import your Character into Maya/3DSMax/Cineme4D/Unity or any other Game Engine that supports this format.

3) What are the advantages of using the JSON vs regular image formats?
JSON writes out just bone keyframe positions and potentially mesh deformation data(for Pro edition users). The final character animation result is reconstructed on the fly in the game engine. The runtime game engine code for Creature to reconstruct and playback the animations are undergoing constant speedups and optimizations so playback speed is actually equivalent(and sometimes faster) than displaying recorded PNG alpha sprite frames.

The other big advantage of using JSON is memory. Notice there are no sprite frames outputed, just bone positions which consume a lot less memory.
One other cool thing possible with JSON is the ability to change character resolutions or even their look on the fly.
Imagine this scenario:
You have a dragon character authored in Creature and exported out using Creature's JSON format. The dragon has a red scale pattern on it.
Somewhere down the line you decide you would rather have a feathery dragon with different green scale patterns on it.
Intead of re-exporting, you just load the same JSON and then simply change the source dragon image to your new green dragon image and you are done. You can even provide a higher resolution image for the new dragon so your new animation gets high-resed automatically.

Cheers,
Jiayi

Post Reply