ModelTranslator: 计划 Task2 baked in UVPM 探针结论(heuristic 为主杆,rotation_step 调细)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
ud18010
2026-07-21 15:19:48 +08:00
co-authored by Claude Opus 4.8
parent 09861faced
commit 82db63d195
@@ -133,13 +133,15 @@ cd "d:/UD/AI/AIC#Project/Tools/ModelTranslator" && rm tests/bl_probe_uvpm.py
**Files:** **Files:**
- Modify: `Tools/ModelTranslator/bl_decimate.py`(常量区 + `_uvpm_repack` 之前新增 `_uvpm_set` + `_uvpm_repack` 内部) - Modify: `Tools/ModelTranslator/bl_decimate.py`(常量区 + `_uvpm_repack` 之前新增 `_uvpm_set` + `_uvpm_repack` 内部)
**Task 1 探针结论(已确认,用于本任务)**`default_main_props``rotation_enable`(bool, 默认 True)、`rotation_step`(int 度, 默认 90)、`heuristic_enable`(bool, 默认 False)、`heuristic_search_time`(int 秒, 默认 0=无限) 均存在且可设;旋转默认已开、pre-rotation 默认开(`pre_rotation_disable=False`);`pack` 返回 `{'FINISHED','PASS_THROUGH'}`,现有 `if 'FINISHED' not in ret` 判定已兼容;无需改 `pack_op_type`。真正需显式开的是 **heuristic**,并把 rotation_step 调细以利薄斜条对齐。
- [ ] **Step 1: 新增常量** - [ ] **Step 1: 新增常量**
`bl_decimate.py` 常量区 `UVPM_TEX_SIZE = 2048` 那一行之后追加(取值以探针结论校正) `bl_decimate.py` 常量区 `UVPM_TEX_SIZE = 2048` 那一行之后追加:
```python ```python
UVPM_ROTATION_STEP = 90 # UVPM 旋转步进(度);探针确认类型/范围后校正 UVPM_ROTATION_STEP = 15 # UVPM 旋转步进(度);比默认 90 更细,利于薄斜条对齐
UVPM_HEURISTIC_TIME = 5 # UVPM 启发式搜索秒数上限 UVPM_HEURISTIC_TIME = 10 # UVPM 启发式搜索秒数上限(默认 0=无限,必须给正值上限)
``` ```
- [ ] **Step 2: 新增 `_uvpm_set` 辅助** - [ ] **Step 2: 新增 `_uvpm_set` 辅助**
@@ -171,8 +173,8 @@ def _uvpm_set(p, name, value, warnings):
``` ```
注意: 注意:
- Task 1 发现时间上限属性名是 `heuristic_max_wait_time`(而非 `heuristic_search_time`),把最后一行的名字换成实测的;`hasattr` 守卫使写错的名字只被跳过、不报错,但**为让功能真正生效,必须用探针确认的正确名字** - 属性名已由 Task 1 探针确认全部存在(`rotation_enable`/`rotation_step`/`heuristic_enable`/`heuristic_search_time`)——用上面这四行即可,无需改名
- 若 Task 1 发现启发式需要非 `'0'``pack_op_type`,同时修改 `_uvpm_repack``bpy.ops.uvpackmaster4.pack(...)``pack_op_type` 实参,并在 commit 正文说明 - `pack_op_type` 保持 `'0'`(探针确认启发式开启下 `'0'` 正常返回 FINISHED,无需改)
- 这些设置在现有 `_uvpm_repack``try/except Exception` 内;`_uvpm_set``hasattr` 守卫确保单属性问题不触发整体回退。 - 这些设置在现有 `_uvpm_repack``try/except Exception` 内;`_uvpm_set``hasattr` 守卫确保单属性问题不触发整体回退。
- [ ] **Step 4: 语法自检 + 单测不回归** - [ ] **Step 4: 语法自检 + 单测不回归**