Skip to content
Snippets Groups Projects
Commit f0986bee authored by Bastien Montagne's avatar Bastien Montagne
Browse files

Update to OBJ exporter: now you can choose wether to export smooth groups IDs...

Update to OBJ exporter: now you can choose wether to export smooth groups IDs as simple values or as bitflags.
parent 9a980567
Branches
Tags
No related merge requests found
......@@ -242,6 +242,12 @@ class ExportOBJ(bpy.types.Operator, ExportHelper):
description="Write sharp edges as smooth groups",
default=False,
)
use_smooth_groups_bitflags = BoolProperty(
name="Bitflag Smooth Groups",
description="Same as 'Smooth Groups', but generate smooth groups IDs as bitflags "
"(produces at most 32 different smooth groups, usually much less)",
default=False,
)
use_normals = BoolProperty(
name="Include Normals",
description="",
......
......@@ -246,6 +246,7 @@ def write_file(filepath, objects, scene,
EXPORT_TRI=False,
EXPORT_EDGES=False,
EXPORT_SMOOTH_GROUPS=False,
EXPORT_SMOOTH_GROUPS_BITFLAGS=False,
EXPORT_NORMALS=False,
EXPORT_UV=True,
EXPORT_MTL=True,
......@@ -402,8 +403,8 @@ def write_file(filepath, objects, scene,
if EXPORT_NORMALS and face_index_pairs:
me.calc_normals()
if EXPORT_SMOOTH_GROUPS and face_index_pairs:
smooth_groups, smooth_groups_tot = me.calc_smooth_groups()
if (EXPORT_SMOOTH_GROUPS or EXPORT_SMOOTH_GROUPS_BITFLAGS) and face_index_pairs:
smooth_groups, smooth_groups_tot = me.calc_smooth_groups(EXPORT_SMOOTH_GROUPS_BITFLAGS)
if smooth_groups_tot <= 1:
smooth_groups, smooth_groups_tot = (), 0
else:
......@@ -690,6 +691,7 @@ def _write(context, filepath,
EXPORT_TRI, # ok
EXPORT_EDGES,
EXPORT_SMOOTH_GROUPS,
EXPORT_SMOOTH_GROUPS_BITFLAGS,
EXPORT_NORMALS, # not yet
EXPORT_UV, # ok
EXPORT_MTL,
......@@ -742,6 +744,7 @@ def _write(context, filepath,
EXPORT_TRI,
EXPORT_EDGES,
EXPORT_SMOOTH_GROUPS,
EXPORT_SMOOTH_GROUPS_BITFLAGS,
EXPORT_NORMALS,
EXPORT_UV,
EXPORT_MTL,
......@@ -775,6 +778,7 @@ def save(operator, context, filepath="",
use_edges=True,
use_normals=False,
use_smooth_groups=False,
use_smooth_groups_bitflags=False,
use_uvs=True,
use_materials=True,
use_mesh_modifiers=True,
......@@ -794,6 +798,7 @@ def save(operator, context, filepath="",
EXPORT_TRI=use_triangles,
EXPORT_EDGES=use_edges,
EXPORT_SMOOTH_GROUPS=use_smooth_groups,
EXPORT_SMOOTH_GROUPS_BITFLAGS=use_smooth_groups_bitflags,
EXPORT_NORMALS=use_normals,
EXPORT_UV=use_uvs,
EXPORT_MTL=use_materials,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment