5
$\begingroup$

I want to use the decimate modifier to make some LODs of a mesh, and this mesh has a very huge number of shapekeys which I must preserve. I can't apply the decimate modifier with a mesh with shapekeys.

$\endgroup$
2
  • 1
    $\begingroup$ This might not be possible as shapekeys depend on the actual geometry, which is partially "deleted" with the Decimate modifier. $\endgroup$ Oct 13 '14 at 20:29
  • 1
    $\begingroup$ Also, the decimate modifier will change the vertex order. $\endgroup$
    – gandalf3
    Oct 13 '14 at 20:45
4
$\begingroup$

For this you must re-create all shape keys for each LOD-version of your mesh. You can try to do this. First making LOD-version by applying Decimate modifier to copy of your high-poly mesh with all shape keys deleted.

Then, sequentially turn on each shape key on your original high-poly mesh and apply Shrinkwrap modifier to previously made LOD-version as a shape key targeting that high-poly mesh with shape key turned on.

That is, add Shrinkwrap modifier to low-poly ('decimated') mesh. In your high-poly mesh turn on particular shape key by set it value to 1. Select your high-poly mesh as a target in Shrinkwrap modifier. Click 'Apply as Shape Key' on Shrinkwrap modifier. If all went good you would had particular shape key transferred from high-poly to low-poly model.

$\endgroup$
0
3
$\begingroup$

What you want to do is not possible. Shapekeys require the geometry of a object, and modify it; However when a Decimate modifier is added, some vertices are decimated, and just stop doing the general existing thing; Also, the vertex order is modified.

Think of it like this: you have a list which stores the position a vertex, associated with an index, for each vertex; Imagine you are trying to define some specific info about the mesh, by referring to the vertices by their index, what would happen if suddenly one vertex was deleted and the following indexes where shifted in order to maintain continuity? You'd end up trying to refer to the wrong vertex, so it was removed altogether.

$\endgroup$
2
  • 2
    $\begingroup$ I don't see how this is an issue, if you remove vertex you can also remove data for that vertex inside shapekey. $\endgroup$
    – aeroson
    Oct 22 '17 at 15:15
  • 1
    $\begingroup$ Then why can't the decimate modifier adjust the shape keys such that each new vertex uses its closest old vertex? Also, why does using the decimate modifier on one body part break shape keys that only exist to change other body parts? $\endgroup$ Feb 16 '20 at 9:43
3
$\begingroup$

You can use the decimate command instead of modifier.

enter image description here

You can set up the same amount of decimation and symmetry option as in the modifier.

To get better result, select one of the shape keys before decimate (not the basic one). I don't know why, but it works better.

$\endgroup$
1
  • 2
    $\begingroup$ Thank you! This approach really works better than the Modifier, go figure why. The other opinions that it's impossible to keep the shape-keys are plain wrong. Of course, you won't be able to approach the original form on 100%, but depending on the decimation, Blender should be able to keep quite good approximation - that operator, proves it. $\endgroup$
    – Rado
    Jan 23 at 8:20
0
$\begingroup$

As stated above, this CAN be done. You can use go into Edit Mode, go to the menu for Mesh, Mesh Cleanup, Decimate. I just did this and it DOES work, turning my high res Ps5 style models into deliciously terrible, yet facially animated, Half Life 1 style models. The shape keys ARE preserved by this, but not by the modifier, weirdly.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.