From c1a1a0e490bfb6ffe2f6e6e78c158aa2ad9aa8ea Mon Sep 17 00:00:00 2001 From: ud18010 Date: Tue, 21 Jul 2026 11:44:37 +0800 Subject: [PATCH] =?UTF-8?q?ModelTranslator:=20model=5Fdecimate=20=E6=B8=B2?= =?UTF-8?q?=E6=9F=93=20UV=20=E8=A7=82=E5=AF=9F=E5=9B=BE=20PNG=20=E5=B9=B6?= =?UTF-8?q?=E6=B8=85=E7=90=86=20sidecar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- Tools/ModelTranslator/model_decimate.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Tools/ModelTranslator/model_decimate.py b/Tools/ModelTranslator/model_decimate.py index 83bd84c6..60aa2b94 100644 --- a/Tools/ModelTranslator/model_decimate.py +++ b/Tools/ModelTranslator/model_decimate.py @@ -33,6 +33,17 @@ def main(): overlap = "%.1f%%" % (u["overlap"] * 100) if u["overlap"] is not None else "n/a" print(" UV: 模式=%s 岛数=%d 利用率=%.1f%% 翻转=%.1f%% 重叠=%s" % (u["mode"], u["islands"], u["fill"] * 100, u["flipped"] * 100, overlap)) + if s.get("uv_polys"): + try: + import json as _json + from uv_preview import render_uv_png + with open(s["uv_polys"], encoding="utf-8") as fp: + polys = _json.load(fp) + render_uv_png(polys, s["uv_preview"]) + os.remove(s["uv_polys"]) + print(" UV 观察图: %s" % s["uv_preview"]) + except Exception as e: + print(" [警告] UV 观察图渲染失败:%s" % e) for w in s["warnings"]: print(" [警告] %s" % w)