Fix #22487: Shrinkwrap ignores preceding deform modifiers
ShrinkwrapCalcData->vert contains verts from derivedMesh this coordinated are deformed by vertexCos only for normal projection (to get correct normals) for other cases this field contains undeformed dm's coordinates and vertexCos should be used
This commit is contained in:
parent
f8346b1bcd
commit
e012fc8107
@ -355,12 +355,17 @@ static void shrinkwrap_calc_normal_projection(ShrinkwrapCalcData *calc, struct S
|
||||
|
||||
if(calc->vert)
|
||||
{
|
||||
/* calc->vert contains verts from derivedMesh */
|
||||
/* this coordinated are deformed by vertexCos only for normal projection (to get correct normals) */
|
||||
/* for other cases calc->varts contains undeformed coordinates and vertexCos should be used */
|
||||
if(calc->smd->projAxis == MOD_SHRINKWRAP_PROJECT_OVER_NORMAL) {
|
||||
VECCOPY(tmp_co, calc->vert[i].co);
|
||||
if(calc->smd->projAxis == MOD_SHRINKWRAP_PROJECT_OVER_NORMAL)
|
||||
normal_short_to_float_v3(tmp_no, calc->vert[i].no);
|
||||
else
|
||||
} else {
|
||||
VECCOPY(tmp_co, co);
|
||||
VECCOPY(tmp_no, proj_axis);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
VECCOPY(tmp_co, co);
|
||||
|
Loading…
Reference in New Issue
Block a user