Page MenuHome

Fix extrude face not working with Correct face attributes
ClosedPublic

Authored by Germano Cavalcante (mano-wii) on Jul 13 2020, 2:08 PM.
Tags
  • Restricted Project
Subscribers
None
Tokens
"Love" token, awarded by Kickflipkid687."Love" token, awarded by franMarz.

Details

Summary

Part of T78671

A face must have area in order to be possible calculate interpolation weights.
The same to the reference UVs.
But the new faces created with the extrude operator, have no area (before moving).

The solution I found was to get the loop data from some neighbor face.

The concern in this patch is in the code described as "Hack" in the comments.
Not that it brings a problem, it's just not a usual solution.

Diff Detail

Repository
rB Blender
Branch
transform_customdata_extrude (branched from master)
Build Status
Buildable 8978
Build 8978: arc lint + arc unit

Event Timeline

Germano Cavalcante (mano-wii) requested review of this revision.Jul 13 2020, 2:08 PM
Germano Cavalcante (mano-wii) created this revision.
Germano Cavalcante (mano-wii) added a project: Restricted Project.Jul 13 2020, 2:14 PM
  • Reference the substitute face in the normal of the original face.

I've made a small update to the patch that makes some small changes that.

P1539

  • Use USE_FACE_SUBSTITUTE for the hack.
  • Keep the current lookup logic inline instead of moving them into a function just for this change.

Tested with D8279 and it works well.

This revision is now accepted and ready to land.Jul 21 2020, 11:02 AM
  • Improve the hack a little
  • Re inline code
  • Comments

I will commit as soon as I find a better solution for D8279