The big Blender Sculpt Mode thread (Part 2)

Blender’s FBX exporter is the problem here, from what I can tell. It can’t export attributes, so material slots have to be used as a workaround. Admitedly, the quadremesher addon could be more user friendly by performing the workaround under the hood, and just having a “Use Face Sets” checkbox.

5 Likes

I doubt we’ll see another Quad Remesher update any time soon, but yes, a “Use Face Sets” option would be greatly appreciated.

Didn’t know that… damn what a bummer though.

Yeah, Blender’s FBX exporter is a bit… special. FBX is closed source, but there is an official FBX SDK that is used by all other programs to provide import/export capabilities. Blender can’t (won’t?) use the SDK due to reasons I’m not clear on (conflict with license? Refusal to use closed source?). So they had to reverse engineer the whole FBX format and write a custom exporter in python :open_mouth:

3 Likes

There’s a developer actively working on FBX I/O add-on recently. (He did lots of speed-ups, fixes, and updates to support new formats for the existing attributes.)

There’s also active development for generic attribute support in USD I/O.

Maybe either of these developments can help solve the problem (either asking the FBX dev for generic attribute support or asking the QuadRemesher dev to consider use of USD? Not sure if they are feasible though.)

4 Likes

I vaguely remember zbrush or mudbox or something else that allowed you to “paint with different materials” not just painting with colors. Am I remembering correctly?


In Maya back in the day when cleaning up a very heavy object I’d often need to save selection sets of faces separately from selection sets of vertices. Vertex Groups in Blender often don’t re-select the exact faces you wanted to save a selection of. I keep seeing blender devs saying nobody was using the face maps feature but I was definitely using it to save complex face selections that I wanted to re-select at a later date. It would be annoying to have to keep going to Sculpt Mode to make a selection via face sets and then convert that to something else and then go into edit mode to use it.

4 Likes

I’ll collect the use cases. I’ll see if this can be worked on sooner than later :+1:

The need for easier material assigning on complex and high density meshes is also very convincing! I could imagine for example a variation of the Draw Face Sets brush to assign new or extend existing materials.

9 Likes

ZBrush has a setting in the toolbar for brushes to enable material painting along with others such as colour, so yeah, you’re correct on that.

Yeah, I am a bit bummed that face selections were removed. I was hoping for edge groups to be added as well as to complete the feature set, but alas.

1 Like

Great! A material brush is a very good idea. :+1:

1 Like

@Julien_Kaspar Any chance you could pls ask the fbx developer if Use object origin when exporting from Blender to fbx is possible?
Would be very benefical for those of us exporting to game engines like UE5 or Unity.

3 Likes

Sure I can send it over to the Pipeline I/O team. Can you elaborate on what that option would do?

2 Likes

Man that would be awesome!

fbx export puts the objects origin to the Blender world center which is somewhat fine for objects directly centered but not if the object is off center.



Default cube placed off center in Blender, fbx exported and imported to Unreal Engine.

4 Likes

Thanks. Yeah, Harti explains it perfectly. With ‘‘use Object origin or pivot’’ when exporting, it allows you to export your assets without having to always place it at 0,0,0 or world origin in order to have the pivot at the correct position the same way you have it in Blender. :slightly_smiling_face:

2 Likes

Man latest module meeting notes are most promising thing I’ve seen so far. Thanks to Julien for commiting to it this much.

Finally painting is being worked on with finishing 3D Brush as a target, my bitching finally paid off. I used to say it would be done once Studio people will need it and turns out I was right. I knew this was coming as soon as they announced an impressionistic movie. So exciting.

I’m also very intrigued by Attribute Paint mode mentioned, didn’t know about that idea before.

As for our darling Face Maps, @Julien_Kaspar I don’t know if geonodes operators will be able to create material slots for face sets. And seems like exposing sculpt_face_sets is still debated, so I thought why not ship this little add-on with Blender, since users seem to need it (it’s definately better than waiting for Exoside to update Quad Remesher). I don’t think script can get any simpler than it already is, it basically converts one attribute to another (material slots, vertex groups or generic attribute) and saves the user hassle of doing it from python manually. If you’d want that and point me to the right direction I can maintain that script for as long it can’t be replaced by geonodes operators.

2 Likes

Please excuse my ignorance, I’m still learning. But by that, would face sets be just a collection of faces, and ‘creating material slots’ in GN mean assigning a given material to those (and only those) faces? In which case, that’s already doable, as I’ve done that a number of times in my explorations.

I think what you’re describing is assigning material to one group of faces. What we’re doing/trying to do is to do that for ALL face sets. You have face sets for hands, face, boots, etc. and with one click all those groups of faces are assigned a dummy material which you can replace with your own. Basically saves you trouble of selecting and clicking assign over and over.

And Geometry nodes operator will be just operator, an item in the menu that you’ll click and get the result. But it will do that by making geonodes setup and executing it, instead of executing script. As far as I know that node setup won’t be exposed to user after execution. You just click and get the result

1 Like

thank you for the explanation. :slight_smile:

1 Like

That is just from the import settings in unreal isn’t it? Because it creates an empty parent for it. It works fine in blender and in unity
image

1 Like

Another thing to bring up: exporting 3d curves from Blender is hard, as FBX, OBJ and GLTF export them simply as poly edges. These formats technically support curves, but the exporter doesn’t.

I forget whether attributes are automatically converted to actual UV’s in FBX now? If not, that’d be something to bring up :smiley:

@Omer_Almadani That’s interesting! Can anyone else confirm that this might be an import issue from the engines?
Also how should or does this behave when exporting multiple objects?

Can you create a bug report for this. That would be an easy way of getting a developer to look into this.

2 Likes

There is an option in the import settings in Unreal Engine when you import the file which will use your origin instead of the world center.