diff --git a/source/blender/bmesh/tools/bmesh_bevel.cc b/source/blender/bmesh/tools/bmesh_bevel.cc index ee45d3fce46..3255759f8a7 100644 --- a/source/blender/bmesh/tools/bmesh_bevel.cc +++ b/source/blender/bmesh/tools/bmesh_bevel.cc @@ -814,24 +814,19 @@ static void bevel_merge_uvs(BevelParams *bp, BMesh *bm) int uv_data_offset = CustomData_get_n_offset(&bm->ldata, CD_PROP_FLOAT2, i); for (Vector &uv_vert_buckets : bp->uv_vert_maps[i].values()) { for (UVVertBucket &uv_vert_bucket : uv_vert_buckets) { - /* Using face weights instead of mean average because it produces slightly better results, - * although this is purely empirical and subjective. */ - float weight_sum = 0.0f; + int num_uv_verts = uv_vert_bucket.size(); + if (num_uv_verts <= 1) { + continue; + } float uv[2] = {0.0f, 0.0f}; for (BMLoop *l : uv_vert_bucket) { float *luv = BM_ELEM_CD_GET_FLOAT_P(l, uv_data_offset); - float weighted_luv[2] = {0.0f, 0.0f}; - float face_area = BM_face_calc_area(l->f); - mul_v2_v2fl(weighted_luv, luv, face_area); - add_v2_v2(uv, weighted_luv); - weight_sum += face_area; + add_v2_v2(uv, luv); } - if (uv_vert_bucket.size() > 1 && weight_sum > 0.0f) { - mul_v2_fl(uv, 1.0f / weight_sum); - for (BMLoop *l : uv_vert_bucket) { - float *luv = BM_ELEM_CD_GET_FLOAT_P(l, uv_data_offset); - copy_v2_v2(luv, uv); - } + mul_v2_fl(uv, 1.0f / (float)num_uv_verts); + for (BMLoop *l : uv_vert_bucket) { + float *luv = BM_ELEM_CD_GET_FLOAT_P(l, uv_data_offset); + copy_v2_v2(luv, uv); } } } diff --git a/tests/files/modeling/bevel_regression.blend b/tests/files/modeling/bevel_regression.blend index d67c23e2976..29a655cf6ae 100644 --- a/tests/files/modeling/bevel_regression.blend +++ b/tests/files/modeling/bevel_regression.blend @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:84c67236facdbf8d387f4f7f8013da452ce9734f119dc027ea44c70ccb5f9ecd -size 1857148 +oid sha256:c99fb440ca7539b5af8572feb66a0ee1d78d144aee13e8e12d6250eaae8d9149 +size 1908499 diff --git a/tests/files/modeling/modifiers.blend b/tests/files/modeling/modifiers.blend index a8c3b5b7358..b104e8e8f43 100644 --- a/tests/files/modeling/modifiers.blend +++ b/tests/files/modeling/modifiers.blend @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f6efef2004ac186610b7fd615e9fb4c56afc144a774d10beeafa9d051ace280d -size 11622132 +oid sha256:cbbcc3fb806d0ff1212bdf8d83228cb1da0d5963096c2a78124e8970fe46635f +size 11727105