From 9473970c1bd4126623e20e18b46ba0735713cf7c Mon Sep 17 00:00:00 2001 From: Thomas Harrison Date: Wed, 18 Feb 2026 06:49:04 -0500 Subject: [PATCH] Add properties for uv name and toggle unwrap --- README.md | 16 +++++++++------- docs/panel.png | Bin 22423 -> 25560 bytes quickbake/op.py | 13 +++++++------ quickbake/panel.py | 4 +++- quickbake/properties.py | 15 +++++++++++++++ 5 files changed, 34 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 8f66427..a30911b 100644 --- a/README.md +++ b/README.md @@ -21,13 +21,15 @@ Download this repo as a zip file and install through the Blender addons. ### Inputs -| Field | Description | -| ----------- | ------------------------------------------------------ | -| Name | Name used for baked images and material | -| Mode | What to do with images after bake | -| Size | Bake image size in pixels | -| Save Images | Save images to external directory | -| Layers | Enable baking of different layers, one image per layer | +| Field | Description | +| ------------- | ------------------------------------------------------ | +| Name | Name used for baked images and material | +| Mode | What to do with images after bake | +| Size | Bake image size in pixels | +| Bake UV | UV layer name used for baking | +| Unwrap Object | Unwrap the object using smart project before baking | +| Save Images | Save images to external directory | +| Layers | Enable baking of different layers, one image per layer | Mode has the following options diff --git a/docs/panel.png b/docs/panel.png index d4140adf274e1b00b5c40ef26c1b8aee40455cea..6e8fd7f2bef43fbb8dd0debb0285897cab9ed315 100644 GIT binary patch literal 25560 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 ZHZ%I^em~=P5GNYf=CJ literal 22423 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 p)%Iun^@4QY5K#{A bpy.types.MeshUVLoopLayer: - uv_name = "bake_uv" - _log.debug("Unwrapping mesh %s with uv layer %s", mesh.name, uv_name) + _log.debug("Unwrapping mesh %s with uv layer %s", mesh.name, self.props.uv_name) # Use existing or create new uv layer for baking - bake_uv = mesh.uv_layers.get(uv_name) + bake_uv = mesh.uv_layers.get(self.props.uv_name) if bake_uv is None: - _log.info("Creating new uv layer %s", uv_name) - bake_uv = mesh.uv_layers.new(name=uv_name) + _log.info("Creating new uv layer %s", self.props.uv_name) + bake_uv = mesh.uv_layers.new(name=self.props.uv_name) else: - _log.debug("Reusing existing uv layer %s", uv_name) + _log.debug("Reusing existing uv layer %s", self.props.uv_name) + if not self.props.unwrap_object: + return bake_uv # Store currently active layer active_layer = None diff --git a/quickbake/panel.py b/quickbake/panel.py index 1b0f014..ac5e352 100644 --- a/quickbake/panel.py +++ b/quickbake/panel.py @@ -25,8 +25,10 @@ def draw(self, context): props = scene.QuickBakeToolPropertyGroup # type: ignore layout.prop(props, "bake_name") - layout.prop(props, "mat_mode") layout.prop(props, "bake_size") + layout.prop(props, "uv_name") + layout.prop(props, "unwrap_object") + layout.prop(props, "mat_mode") layout.prop(props, "save_img") row = layout.row() diff --git a/quickbake/properties.py b/quickbake/properties.py index 93a8f2e..6468f60 100644 --- a/quickbake/properties.py +++ b/quickbake/properties.py @@ -28,6 +28,21 @@ class QuickBakeToolPropertyGroup(bpy.types.PropertyGroup): step=1024, # not yet implemented ) + uv_name: bpy.props.StringProperty( + name="Bake UV", + description="UV layer name used for bake texture", + default="bake_uv", + ) + + unwrap_object: bpy.props.BoolProperty( + name="Unwrap Object", + description=( + "Unwrap object using smart project before baking. " + "If the uv layer does not exist, the object will be unwrapped regardless of this option." + ), + default=True, + ) + mat_mode: bpy.props.EnumProperty( name="Mode", description="What to do with images after baking",