Fix FONT objects cannot use Object Font anymore

Mistake in {rB459974896228}.

To use Object Fonts, (vertex) instancing needs to be enabled.
So bring back the instancing panel and improve the instancing choice
(similar to rB6c0c766bcaa0) by just giving the 'Vertex' choice (or
'None') and explain this is only used for Object Fonts on characters.

Was reported in D11348 itself.

Differential Revision: https://developer.blender.org/D12438
This commit is contained in:
Philipp Oeser 2021-09-09 09:16:03 +02:00
parent 9bb99532a5
commit f8ead736a0
2 changed files with 11 additions and 1 deletions

View File

@ -267,7 +267,8 @@ class OBJECT_PT_instancing(ObjectButtonsPanel, Panel):
@classmethod
def poll(cls, context):
ob = context.object
return (ob.type in {'MESH', 'EMPTY', 'POINTCLOUD'})
# FONT objects need (vertex) instancing for the 'Object Font' feature
return (ob.type in {'MESH', 'EMPTY', 'POINTCLOUD', 'FONT'})
def draw(self, context):
layout = self.layout

View File

@ -224,6 +224,12 @@ static EnumPropertyItem instance_items_empty[] = {
INSTANCE_ITEM_COLLECTION,
{0, NULL, 0, NULL, NULL},
};
static EnumPropertyItem instance_items_font[] = {
{0, "NONE", 0, "None", ""},
{OB_DUPLIVERTS, "VERTS", 0, "Vertices", "Use Object Font on characters"},
{0, NULL, 0, NULL, NULL},
};
#endif
#undef INSTANCE_ITEMS_SHARED
#undef INSTANCE_ITEM_COLLECTION
@ -762,6 +768,9 @@ static const EnumPropertyItem *rna_Object_instance_type_itemf(bContext *UNUSED(C
else if (ob->type == OB_POINTCLOUD) {
item = instance_items_pointcloud;
}
else if (ob->type == OB_FONT) {
item = instance_items_font;
}
else {
item = instance_items_nogroup;
}