Strange Morph deformation when converting to shape key.

Issue #292 closed
elrohir created an issue

Hi,

I´ve found a strange bug when importing some custom morphs (NSFW) particularly from this pack https://www.renderotica.com/store/sku/57790_Easy-Control-For-Genesis-8-Male-Genital

although I suspect it might happen with other custom morphs.

I’ll try to keep the screenshots as SFW as possible:

When importing the morph it works ok:

(this is correct)

And when controlled from the driver it behaves as expected.

However, If I convert it to a shapekey and put it with the same value (0.5) this happens:

Any idea on what can be causing this,?

Am I missing some options?

I’ve tested this both in a custom figure and in a basic G8M and also in version 1.4 and 1.5 of the importer.

Regards,

Comments (7)

  1. Thomas Larsson repo owner

    This is the normal behaviour, I think. A shapekey interpolates vertex positions linearly between the two extremes, whereas a driven bone can rotate vertices. The extreme shapes should be the same, but half-way inbetween things can look strange. If you trace a given vertex when you change the shapekey value, you should find that it moves along a straight line, but it moves along an arc if the bone is rotated. Therefore, converting to shapekeys is not a good idea if rotation is important. The classical example is that the eyelid may penetrate the eye when it is half closed.

  2. elrohir reporter

    I see, so if you wanted to export that morph to another engine (unity or unreal) for animation, is there any workaround to be able to use it?

  3. Xin

    elrohir, what you do in that case is to create in Blender an Action which contains the animation you want (and which can include keyframed shape keys too) and then export them. Both unreal and unity can deal with shape keys as part of animations, on top of bones' transformations.

    You can, of course, export raw shape keys to unreal or unity, but the sliders in those game engines wouldn’t be set up to affect bone rotations like in daz or Blender with this addon, so the deformations would look weird. That’s why you need to create proper animations in Blender before exporting them, instead of trying to export the raw shape keys. In your case they aren’t shape keys, but sliders that pose bones and might in turn affect some shape keys. Recreating in Unreal or Unity the complex drivers that affect bones/shape keys like in Blender (or daz) is not the correct way, if not impossible (it would also be bad for the game engine in terms of performance). These drivers are there to make it easier to animate inside Blender or daz. What you end up exporting are so called “baked animations” where the drivers are “cleared” and the final transformations of bones/shape keys are recorded each frame and put into the animation data (you don’t do this yourself, the exporter to .fbx does it).

    Also, directly using the slider of a shape key is a very crude approach to creating animations, you need proper keyframes to make them look decent anyway. The correct approach is to export animations which you create inside Blender by keyframing bone rotations, shape keys, and whatever else you might want to keyframe. The addon has buttons in its panel to make this easier, they are the ones with key icons above the sliders' lists.

    If instead of using those buttons you want to manually add shape keys transformations on top of bones transformations, here are some videos explaining such process (again, this addon has buttons to keyframe stuff, you don’t necessarily need to keyframe shape keys the same way these videos do):

    https://www.youtube.com/watch?v=1Zqy5GhUV-Q

    https://www.youtube.com/watch?v=UQ73eMJfF-Q

    What both daz and this addon do is to automatically create sliders (implemented with Drivers in Blender) which affect both shape keys and bones at the same time, and also shape keys that follow bones' transformations. These can be non-trivial, they are not necessarily simple linear relationships.

    With these drivers set up, you only need to pose the character and possibly dial a few sliders to get the correct transformation from which you keyframe the relevant parameters to create the animations. Again, the buttons on this addon’s panel make that easier, you don’t need to convert to shape keys. Without drivers, you would need to manually set up a lot of parameters for each pose (lots of shape keys are driven by specific conditions). That’s what the addon (and daz) ultimately do: make posing/animating easier. You export poses/animations, you don’t try to export all the complex drivers since these aren’t really portable at all.

  4. Log in to comment