From 8700071ffff6d06b819bd74cd4761a9ce09d5759 Mon Sep 17 00:00:00 2001 From: Carson Katri Date: Thu, 15 Dec 2022 10:11:36 -0500 Subject: [PATCH] Release v0.0.9 (#418) * Update workflow * Fix README link * Handle None location_3d_to_region_2d --- .github/workflows/package-release.yml | 1 + README.md | 2 +- operators/project.py | 7 ++++++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/package-release.yml b/.github/workflows/package-release.yml index 11db462d..b9098b7c 100644 --- a/.github/workflows/package-release.yml +++ b/.github/workflows/package-release.yml @@ -41,6 +41,7 @@ jobs: - name: Install dependencies into target shell: bash run: 'python -m pip install -r requirements/win-linux-cuda.txt --no-cache-dir --target .python_dependencies' + working-directory: dream_textures - name: Archive Release uses: thedoctor0/zip-release@main with: diff --git a/README.md b/README.md index 33d48029..764a8ae3 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ Create textures, concept art, and more with text prompts. Learn how to use the v ![A graphic showing each step of the image generation process](docs/assets/image_generation.png) -## [Texture Projection](docs/TEXTURE_PROJECT.md) +## [Texture Projection](docs/TEXTURE_PROJECTION.md) Texture entire models and scenes with depth to image. ![A graphic showing each step of the texture projection process](docs/assets/texture_projection.png) diff --git a/operators/project.py b/operators/project.py index 61b93420..e26bff85 100644 --- a/operators/project.py +++ b/operators/project.py @@ -250,13 +250,18 @@ def step_progress_update(self, context): mesh.verts.index_update() def vert_to_uv(v): screen_space = view3d_utils.location_3d_to_region_2d(context.region, context.space_data.region_3d, obj.matrix_world @ v.co) + if screen_space is None: + return None return (screen_space[0] / context.region.width, screen_space[1] / context.region.height) uv_layer = mesh.loops.layers.uv[0] if len(mesh.loops.layers.uv) > 0 else mesh.loops.layers.uv.new("Projected UVs") mesh.faces.ensure_lookup_table() for face in mesh.faces: if face.select: for loop in face.loops: - loop[uv_layer].uv = vert_to_uv(mesh.verts[loop.vert.index]) + uv = vert_to_uv(mesh.verts[loop.vert.index]) + if uv is None: + continue + loop[uv_layer].uv = uv face.material_index = material_index bmesh.update_edit_mesh(obj.data)