Maniphest T46761

Add support to tessellate 'ngons with holes' in mesh's validate() func? Much useful for importers (FBX, OBJ...)
Confirmed, NormalTO DO

Assigned To
Bastien Montagne (mont29)
Authored By
paul geraskin (mifth)
Nov 13 2015, 4:25 PM
Tags
  • BF Blender
  • Modeling
  • Papercut
Subscribers
Bastien Montagne (mont29)
Campbell Barton (campbellbarton)
paul geraskin (mifth)

Description

System Information

Blender Version
2.76

Short description of error
fbx does not import NGON. But it imports into Modo.
Blender:

Modo:

File:

Exact steps for others to reproduce the error
import fbx

Event Timeline

paul geraskin (mifth) created this task.Nov 13 2015, 4:25 PM
paul geraskin (mifth) raised the priority of this task from to 90.
paul geraskin (mifth) updated the task description.
paul geraskin (mifth) added a project: BF Blender.
paul geraskin (mifth) edited a custom field.
paul geraskin (mifth) added a subscriber: paul geraskin (mifth).
Bastien Montagne (mont29) lowered the priority of this task from 90 to Normal.Nov 13 2015, 5:12 PM
Bastien Montagne (mont29) added subscribers: Campbell Barton (campbellbarton), Bastien Montagne (mont29).

Well… FBX does import ngons, the problem is that Blender does not supports ngons with holes (nor ngons using same edge more than once, which is how ngons with holes are represented in formats like FBX or OBJ).

OBJ importer does handle that situation, but the issue here is that doing the same thing with a format as complex as FBX is not really possible (would be a nightmare to correctly map newly generated geometry to old one for all the datalayers). It’s already really complex code in OBJ, btw.

Think the solution here would rather be to add an additional step to our (C-coded) mesh.validate() func, which would check for those blender-invalid specific cases and modify the geometry accordingly. Would also be much more efficient than doing this in py.

@Campbell Barton (campbellbarton) if you agree, I can try to make a patch?

Bastien Montagne (mont29) renamed this task from FBX: fbx does not import NGON to Add support to tessellate 'ngons with holes' in mesh's validate() func? Much useful for importers (FBX, OBJ...).Nov 13 2015, 5:15 PM
Bastien Montagne (mont29) claimed this task.
Bastien Montagne (mont29) added a project: Modeling.
Campbell Barton (campbellbarton) added a comment.Nov 14 2015, 2:30 PM

@Bastien Montagne (mont29), hi, yes - this can be added to validate. (port from OBJ's Python code).

However I'd like it to be optional, since this _is_ an invalid face for Blender.

Bastien Montagne (mont29) added a comment.Nov 14 2015, 2:31 PM

Yes of course, this has to be an option, we do not want that to validate internally-generated meshes ;)

Bastien Montagne (mont29) edited a custom field.Nov 16 2015, 3:01 PM
Bastien Montagne (mont29) mentioned this in T68888: Mesh support for n-gons with holes.Aug 21 2019, 12:17 PM
Campbell Barton (campbellbarton) moved this task from Backlog to Papercuts on the Modeling board.Jun 17 2020, 3:12 PM
Campbell Barton (campbellbarton) added a project: Papercut.