Blend shapes

Discuss issues pertaining to the Creature Animation Editor here.
Post Reply
ashenk
Posts: 3
Joined: Wed Nov 16, 2016 4:35 pm

Blend shapes

Post by ashenk » Wed Mar 01, 2017 10:08 pm

I'm using creature with unity and I was wondering if there is a concept of blend shapes in creature? If not, what would be the easiest way to implement something like it? I wasn't sure if animation blending supported multiple blends or how the weights would work there. My other idea was to do some custom bone position logic that basically worked the same as a blend shape. It would just have to make the changes locally so it would still work with animations.

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

Re: Blend shapes

Post by chong » Thu Mar 02, 2017 3:30 am

Hello,

Are you talking about being able to blend between the current Creature pose and a pose of your choosing?

There isn't support for this right now, however you are free to modify and implement your own version.

I suggest you start off by looking at CreatureRenderer.cs:
https://github.com/kestrelm/Creature_Un ... enderer.cs

This is the indirect method which does not require you to understand how the core Creature runtime works. Take a look at CreatureRenderer.cs, you will notice it just processes a generic pool of points, indices and uvs. What you can do to achieve what you intend to do is to interpolate between these final set of render points and your own custom set of points to blend between them.

In particular, take a look at the method UpdateRenderingData() which retrieves from the Creature core runtime API the actual set of points, indices to be rendered. You can insert your functions there to blend between that final set and your own.

Cheers

ashenk
Posts: 3
Joined: Wed Nov 16, 2016 4:35 pm

Re: Blend shapes

Post by ashenk » Fri Mar 03, 2017 3:46 pm

Thanks for the reply. I think I'm going to stick with doing the custom bone position logic at runtime. I don't really want to mess around with modifying the source for creature. Basically what I'm doing is creating a static mesh, hair for instance, with a root and "motion" bone that has only one animation frame and at runtime I'm controlling those bones based off of spring physics to create motion. That way the motion is controlled by physics instead of animating.

This isn't related to my previous question. I'm curious as to why creature doesn't allow scaling bones? To do it now you need atleast 2-3 bones to scale a mesh properly. That adds to the animation data quite a bit.

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

Re: Blend shapes

Post by chong » Sat Mar 04, 2017 2:35 am

Hello,

That was a design decision taken from the beginning. This is because we are doing much higher quality Dual Quaternion Skinning which has certain limitations with respect to that ( you can get by with 2 phase skinning but there is a performance cost ) So in order to do scaling operations, the recommended way is to add an additional bone to accomplish the same thing. Yes there is a cost in terms of more bones but using DQ results in much higher quality shapes/results making for better poses.

Cheers

Post Reply