6
$\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, 2014 at 20:29
  • 1
    $\begingroup$ Also, the decimate modifier will change the vertex order. $\endgroup$
    – gandalf3
    Oct 13, 2014 at 20:45

3 Answers 3

5
$\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$
1
  • $\begingroup$ still relevant in 2024 $\endgroup$ Jan 31 at 20:07
5
$\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$
3
  • 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, 2021 at 8:20
  • $\begingroup$ It's not an opinion, it's a simple fact sliding into disuse. Thanks to literally decades of algorithm evolutions, yes, you are less likely to completely break your shapekeys, UVs, skinning, vertex groups/colors at the slightest vertex addition/removal. But this used to be very different years ago. But there was a day when doing any of the above was dangerous. Not just for your work actually, some operations were famous to often crash the software, sometimes even the computer itself! $\endgroup$
    – L0Lock
    Sep 16, 2022 at 9:03
  • $\begingroup$ So softwares back in those days would try to prevent you from doing that at many costs. And to this day, some operations are still risky, and not allowed (or somewhat limited) by some tools/softwares for extra caution. And anyone who have known these days or have been taught by those who did: they kept some knowledge and habits out of this. $\endgroup$
    – L0Lock
    Sep 16, 2022 at 9:03
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, 2017 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, 2020 at 9:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .