From b5dbd964625212540e9480d9ced3f9debd0b5ffb Mon Sep 17 00:00:00 2001 From: Hector <2055590199@qq.com> Date: Wed, 15 Oct 2025 10:51:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=BC=E5=85=A5=E9=80=BB?= =?UTF-8?q?=E8=BE=91=EF=BC=8C=E9=81=BF=E5=85=8D=E5=87=BA=E7=8E=B0=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=E4=B8=8E=E6=92=AD=E6=94=BE=E5=8A=A8=E7=94=BB=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=E5=A4=A7=E5=B0=8F=E4=B8=8D=E4=B8=80=E8=87=B4=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/EG.iml | 6 +- .idea/misc.xml | 2 +- .venv/Scripts/python.exe | Bin 242920 -> 0 bytes core/assembly_interaction.py | 122 +++++++++++++----- core/maintenance_gui.py | 14 ++- core/selection.py | 1 - core/world.py | 234 +++++++++++++++++------------------ main.py | 26 +--- scene/scene_manager.py | 13 +- ui/interface_manager.py | 1 - ui/property_panel.py | 4 +- 11 files changed, 230 insertions(+), 193 deletions(-) delete mode 100644 .venv/Scripts/python.exe diff --git a/.idea/EG.iml b/.idea/EG.iml index fa7a6154..c4790da4 100644 --- a/.idea/EG.iml +++ b/.idea/EG.iml @@ -1,8 +1,10 @@ - - + + + + diff --git a/.idea/misc.xml b/.idea/misc.xml index 51b9fc17..e1866b11 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,5 +3,5 @@ - + \ No newline at end of file diff --git a/.venv/Scripts/python.exe b/.venv/Scripts/python.exe deleted file mode 100644 index 42356dc4000e7f217f53129927cf85e48d8e12ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242920 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%0DR4z)WQcb>Rku)_txjy8TEHVs#H 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%0DqcKFn%RX-DF>qCHtfd(>0m&Tp(1(DRhHdoti)C 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%0DS07BAj6-njF-qy0mJ8pj3rJ?3!<- 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 z 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 diff --git a/core/assembly_interaction.py b/core/assembly_interaction.py index 56285bcc..c2917e8d 100644 --- a/core/assembly_interaction.py +++ b/core/assembly_interaction.py @@ -342,53 +342,58 @@ class AssemblyInteractionManager(DirectObject): """设置操作是否启用""" self.operation_enabled = enabled print(f"🔧 操作权限: {'启用' if enabled else '禁用'}") - + def check_operation_permission(self): """检查操作权限""" if not self.is_active: print("⚠️ 交互模式未激活") return False - + # 获取当前步骤数据 if self.current_step >= self.total_steps: print("⚠️ 所有步骤已完成") return False - + step_data = self.config_data['steps'][self.current_step] required_tool = step_data.get('required_tool', '无') - + # 获取当前选择的工具(优先从维修GUI获取) current_tool = "无" if self.maintenance_gui: current_tool = self.maintenance_gui.get_current_tool() elif hasattr(self, 'step_dialog') and self.step_dialog and hasattr(self.step_dialog, 'tool_combo'): current_tool = self.step_dialog.tool_combo.currentText() - + + # 使用 getChinese 处理工具名称 + if hasattr(self.world, 'getChinese'): + required_tool = self.world.getChinese(required_tool) + current_tool = self.world.getChinese(current_tool) + print(f"🔧 工具检查: 需要'{required_tool}',当前'{current_tool}'") - + # 检查工具是否匹配 tool_matches = self.check_tool_match(current_tool, required_tool) - + if self.mode == "training": # 训练模式:显示GUI警告并阻止错误操作 if not tool_matches: print("⚠️ 训练模式 - 工具不匹配,无法进行操作") - + # 在维修GUI中显示警告 if self.maintenance_gui: warning_msg = f"请先选择 '{required_tool}' 工具!" self.maintenance_gui.show_warning(warning_msg, 2.0) # 也在Qt对话框中显示警告(仅在非维修系统模式下) elif hasattr(self, 'step_dialog') and self.step_dialog: - QMessageBox.warning(self.step_dialog, "工具不匹配", - f"当前步骤需要使用 '{required_tool}' 工具,请先选择正确的工具!") + QMessageBox.warning(self.step_dialog, "工具不匹配", + f"当前步骤需要使用 '{required_tool}' 工具,请先选择正确的工具!") return False return True else: # 考核模式:不显示提示,但记录工具错误并阻止操作 if not tool_matches: print(f"❌ 考核模式 - 工具错误:需要'{required_tool}',实际选择'{current_tool}',操作被阻止") - + # 记录工具错误(扣分) self.record_tool_error() return False @@ -693,17 +698,23 @@ class AssemblyInteractionManager(DirectObject): return step_data = self.config_data['steps'][self.current_step] - + # 兼容中文和英文配置格式 operation_type = self.normalize_operation_type(step_data) step_type = self.normalize_step_type(step_data) target_model_name = step_data.get('target_model', '未设置') - + # 调试信息:显示字段映射结果 print(f"🔄 字段映射: '{step_data.get('type', 'N/A')}' -> '{step_type}'") print(f"🔄 操作映射: '{step_data.get('interaction_type', 'N/A')}' -> '{operation_type}'") - print(f"\n=== 开始第 {self.current_step + 1} 步: {step_data.get('name', '未命名')} ===") + # 使用 getChinese 处理步骤名称 + step_name = step_data.get('name', '未命名') + if hasattr(self.world, 'getChinese'): + step_name = self.world.getChinese(step_name) + target_model_name = self.world.getChinese(target_model_name) + + print(f"\n=== 开始第 {self.current_step + 1} 步: {step_name} ===") print(f"目标模型: {target_model_name}") print(f"操作类型: {operation_type}") print(f"步骤类型: {step_type}") @@ -748,18 +759,23 @@ class AssemblyInteractionManager(DirectObject): if self.maintenance_gui: step_name = step_data.get('name', f'步骤 {self.current_step + 1}') step_description = step_data.get('description', '') - + + # 使用 getChinese 处理文本 + if hasattr(self.world, 'getChineseFont'): + step_name = self.world.getChineseFont() + step_description = self.world.getChineseFont() + if self.mode == "exam": # 考核模式:只显示步骤编号和名称,不显示描述 - step_info = f"考核步骤 {self.current_step + 1}/{self.total_steps}: {step_name}" + step_info = f"Step {self.current_step + 1}/{self.total_steps}: {step_name}" print(f"📝 考核模式步骤信息: {step_info}") else: # 训练模式:显示完整信息 - step_info = f"步骤 {self.current_step + 1}/{self.total_steps}: {step_name}" + step_info = f"Step: {self.current_step + 1}/{self.total_steps}: {step_name}" if step_description: step_info += f"\n{step_description}" print(f"📚 训练模式步骤信息: {step_info}") - + self.maintenance_gui.update_step_info(step_info) # 更新Qt步骤对话框(仅在非维修系统模式下) @@ -2045,6 +2061,11 @@ class StepGuideDialog(QDialog): self.interaction_manager = interaction_manager self.current_required_tool = "无" # 当前步骤要求的工具 self.mode = interaction_manager.mode # 获取模式 + + self.chinese_font = None + if hasattr(interaction_manager.world,'getChineseFont'): + self.chinese_font = interaction_manager.world.getChineseFont() + self.setupUI() def setupUI(self): @@ -2052,82 +2073,105 @@ class StepGuideDialog(QDialog): self.setWindowTitle("拆装考核") else: self.setWindowTitle("拆装步骤指引") - + self.setFixedSize(450, 400) self.setWindowFlags(Qt.Window | Qt.WindowStaysOnTopHint) layout = QVBoxLayout(self) - + # 步骤信息 self.step_info_label = QLabel("准备开始...") self.step_info_label.setStyleSheet("font-size: 14px; font-weight: bold; color: #2E86C1;") + if self.chinese_font: + self.step_info_label.setFont(self.chinese_font) layout.addWidget(self.step_info_label) - + # 步骤描述(考核模式下隐藏) if self.mode != "exam": self.step_desc_text = QTextEdit() self.step_desc_text.setMaximumHeight(100) self.step_desc_text.setReadOnly(True) + if self.chinese_font: + self.step_desc_text.setFont(self.chinese_font) layout.addWidget(self.step_desc_text) else: self.step_desc_text = None - + # 工具选择组 tool_group = QGroupBox("工具选择") + if self.chinese_font: + tool_group.setFont(self.chinese_font) tool_layout = QVBoxLayout(tool_group) - + # 在训练模式下显示要求的工具,考核模式下不显示 if self.mode != "exam": self.required_tool_label = QLabel("当前步骤要求工具: 无") self.required_tool_label.setStyleSheet("font-weight: bold; color: #E74C3C;") + if self.chinese_font: + self.required_tool_label.setFont(self.chinese_font) tool_layout.addWidget(self.required_tool_label) else: self.required_tool_label = None - + current_tool_layout = QHBoxLayout() - current_tool_layout.addWidget(QLabel("当前选择工具:")) + current_tool_label = QLabel("当前选择工具:") + if self.chinese_font: + current_tool_label.setFont(self.chinese_font) + current_tool_layout.addWidget(current_tool_label) self.current_tool_combo = QComboBox() self.current_tool_combo.addItem("无") # 默认只有"无"选项 self.current_tool_combo.currentTextChanged.connect(self.on_tool_changed) + if self.chinese_font: + self.current_tool_combo.setFont(self.chinese_font) current_tool_layout.addWidget(self.current_tool_combo) tool_layout.addLayout(current_tool_layout) - + # 在训练模式下显示工具状态,考核模式下不显示 if self.mode != "exam": self.tool_status_label = QLabel("✅ 工具匹配,可以进行操作") self.tool_status_label.setStyleSheet("color: #27AE60; font-weight: bold;") + if self.chinese_font: + self.tool_status_label.setFont(self.chinese_font) tool_layout.addWidget(self.tool_status_label) else: self.tool_status_label = None - + layout.addWidget(tool_group) - + # 操作提示(考核模式下隐藏) if self.mode != "exam": self.operation_label = QLabel("操作提示:") self.operation_label.setStyleSheet("font-weight: bold;") + if self.chinese_font: + self.operation_label.setFont(self.chinese_font) layout.addWidget(self.operation_label) self.operation_text = QTextEdit() self.operation_text.setMaximumHeight(80) self.operation_text.setReadOnly(True) + if self.chinese_font: + self.operation_text.setFont(self.chinese_font) layout.addWidget(self.operation_text) else: self.operation_label = None self.operation_text = None - + # 按钮 button_layout = QHBoxLayout() self.skip_button = QPushButton("跳过当前步骤") + if self.chinese_font: + self.skip_button.setFont(self.chinese_font) self.skip_button.clicked.connect(self.skip_current_step) button_layout.addWidget(self.skip_button) self.stop_button = QPushButton("停止交互") + if self.chinese_font: + self.stop_button.setFont(self.chinese_font) self.stop_button.clicked.connect(self.stop_interaction) button_layout.addWidget(self.stop_button) layout.addLayout(button_layout) - + # 初始化工具状态 self.sync_current_tool() self.update_tool_status() - + def sync_current_tool(self): """初始化拆装工具状态""" # 从配置文件中加载工具列表 @@ -2207,7 +2251,7 @@ class StepGuideDialog(QDialog): def update_step_info(self, step_data, current_step, total_steps): step_name = step_data.get('name', f'步骤 {current_step}') - + if self.mode == "exam": # 考核模式:显示考核信息 step_score = step_data.get('score', 10) @@ -2216,16 +2260,24 @@ class StepGuideDialog(QDialog): # 训练模式:正常显示 self.step_info_label.setText(f"第 {current_step}/{total_steps} 步: {step_name}") + # 为动态文本设置中文字体 + if self.chinese_font: + self.step_info_label.setFont(self.chinese_font) + # 步骤描述(考核模式下不显示) if self.step_desc_text is not None: step_desc = step_data.get('description', '无描述') self.step_desc_text.setPlainText(step_desc) - + if self.chinese_font: + self.step_desc_text.setFont(self.chinese_font) + # 更新工具要求 self.current_required_tool = step_data.get('required_tool', '无') if self.required_tool_label is not None: self.required_tool_label.setText(f"当前步骤要求工具: {self.current_required_tool}") - + if self.chinese_font: + self.required_tool_label.setFont(self.chinese_font) + # 更新工具状态 self.update_tool_status() @@ -2263,6 +2315,8 @@ class StepGuideDialog(QDialog): # 操作提示(考核模式下不显示) if self.operation_text is not None: self.operation_text.setPlainText(operation_hint) + if self.chinese_font: + self.operation_text.setFont(self.chinese_font) def skip_current_step(self): if self.interaction_manager.is_active: diff --git a/core/maintenance_gui.py b/core/maintenance_gui.py index cbc66836..74d0add6 100644 --- a/core/maintenance_gui.py +++ b/core/maintenance_gui.py @@ -23,7 +23,11 @@ class MaintenanceGUI(DirectObject): def __init__(self, world): DirectObject.__init__(self) self.world = world - + + self.chinese_font = None + if hasattr(self.world, 'getChineseFont'): + self.chinese_font = self.world.getChineseFont() + # 获取GUI父节点引用 self.aspect2d = None print(f"🔍 初始化维修GUI,world类型: {type(world).__name__}") @@ -316,7 +320,7 @@ class MaintenanceGUI(DirectObject): if not self.aspect2d: print("❌ aspect2d引用不可用,无法创建步骤文本") return - + self.step_text = DirectLabel( text="准备开始维修训练...", text_align=TextNode.ALeft, @@ -329,7 +333,7 @@ class MaintenanceGUI(DirectObject): parent=self.aspect2d ) print("✅ 步骤显示文本创建成功") - + except Exception as e: print(f"❌ 创建步骤文本失败: {e}") import traceback @@ -427,7 +431,7 @@ class MaintenanceGUI(DirectObject): return self.current_tool_text = DirectLabel( - text=f"当前工具: {self.current_tool}", + text=f"Tool: {self.current_tool}", text_align=TextNode.ALeft, text_scale=0.07, text_fg=(1, 1, 0, 1), @@ -530,7 +534,7 @@ class MaintenanceGUI(DirectObject): # 更新当前工具显示 if self.current_tool_text: - self.current_tool_text['text'] = f"当前工具: {tool}" + self.current_tool_text['text'] = f"Tool: {tool}" print(f"✅ 当前工具显示已更新") # 更新按钮样式 diff --git a/core/selection.py b/core/selection.py index 281a36aa..f195d783 100644 --- a/core/selection.py +++ b/core/selection.py @@ -7,7 +7,6 @@ - 拖拽变换逻辑 - 射线检测和碰撞检测 """ -from PIL.ImageChops import lighter from direct.showbase.ShowBaseGlobal import globalClock from panda3d.core import (Vec3, Point3, Point2, LineSegs, ColorAttrib, RenderState, DepthTestAttrib, CollisionTraverser, CollisionHandlerQueue, diff --git a/core/world.py b/core/world.py index 4f0ef3a3..696161c2 100644 --- a/core/world.py +++ b/core/world.py @@ -335,56 +335,56 @@ class CoreWorld(Panda3DWorld): mat.set_metallic(0.5) # 设置较低的初始金属性 self.ground.set_material(mat) - #创建第二个相同的地面,位置稍有偏移 - self.ground2 = self.render.attachNewNode(cm.generate()) - self.ground2.setH(-90) - self.ground2.setZ(-1.0) - self.ground2.setX(50) # 在X轴方向偏移 - self.ground2.setZ(49) # 在X轴方向偏移 - self.ground2.setColor(0.8, 0.8, 0.8, 1) - self.ground2.set_material(mat) - self.ground2.setTag("is_scene_element", "1") - self.ground2.setTag("tree_item_type", "SCENE_NODE") - - # 创建第三个相同的地面,位置在另一个方向 - self.ground3 = self.render.attachNewNode(cm.generate()) - self.ground3.setH(90) - self.ground3.setZ(-1.0) - self.ground3.setX(-50) # 在X轴负方向偏移 - self.ground3.setZ(49) # 在X轴负方向偏移 - self.ground3.setColor(0.8, 0.8, 0.8, 1) - self.ground3.set_material(mat) - self.ground3.setTag("is_scene_element", "1") - self.ground3.setTag("tree_item_type", "SCENE_NODE") - - self.ground4 = self.render.attachNewNode(cm.generate()) - # self.ground3.setR(90) - self.ground4.setZ(-1.0) - self.ground4.setY(50) # 在X轴负方向偏移 - self.ground4.setZ(49) # 在X轴负方向偏移 - self.ground4.setColor(0.8, 0.8, 0.8, 1) - self.ground4.set_material(mat) - self.ground4.setTag("is_scene_element", "1") - self.ground4.setTag("tree_item_type", "SCENE_NODE") - - self.ground5 = self.render.attachNewNode(cm.generate()) - self.ground5.setP(180) - self.ground5.setZ(-1) - self.ground5.setY(-50) # 在X轴负方向偏移 - self.ground5.setZ(49) # 在X轴负方向偏移 - self.ground5.setColor(0.8, 0.8, 0.8, 1) - self.ground5.set_material(mat) - self.ground5.setTag("is_scene_element", "1") - self.ground5.setTag("tree_item_type", "SCENE_NODE") - - self.ground6 = self.render.attachNewNode(cm.generate()) - self.ground6.setP(90) - self.ground6.setZ(-1) - self.ground6.setZ(99) # 在X轴负方向偏移 - self.ground6.setColor(0.8, 0.8, 0.8, 1) - self.ground6.set_material(mat) - self.ground6.setTag("is_scene_element", "1") - self.ground6.setTag("tree_item_type", "SCENE_NODE") + # #创建第二个相同的地面,位置稍有偏移 + # self.ground2 = self.render.attachNewNode(cm.generate()) + # self.ground2.setH(-90) + # self.ground2.setZ(-1.0) + # self.ground2.setX(50) # 在X轴方向偏移 + # self.ground2.setZ(49) # 在X轴方向偏移 + # self.ground2.setColor(0.8, 0.8, 0.8, 1) + # self.ground2.set_material(mat) + # self.ground2.setTag("is_scene_element", "1") + # self.ground2.setTag("tree_item_type", "SCENE_NODE") + # + # # 创建第三个相同的地面,位置在另一个方向 + # self.ground3 = self.render.attachNewNode(cm.generate()) + # self.ground3.setH(90) + # self.ground3.setZ(-1.0) + # self.ground3.setX(-50) # 在X轴负方向偏移 + # self.ground3.setZ(49) # 在X轴负方向偏移 + # self.ground3.setColor(0.8, 0.8, 0.8, 1) + # self.ground3.set_material(mat) + # self.ground3.setTag("is_scene_element", "1") + # self.ground3.setTag("tree_item_type", "SCENE_NODE") + # + # self.ground4 = self.render.attachNewNode(cm.generate()) + # # self.ground3.setR(90) + # self.ground4.setZ(-1.0) + # self.ground4.setY(50) # 在X轴负方向偏移 + # self.ground4.setZ(49) # 在X轴负方向偏移 + # self.ground4.setColor(0.8, 0.8, 0.8, 1) + # self.ground4.set_material(mat) + # self.ground4.setTag("is_scene_element", "1") + # self.ground4.setTag("tree_item_type", "SCENE_NODE") + # + # self.ground5 = self.render.attachNewNode(cm.generate()) + # self.ground5.setP(180) + # self.ground5.setZ(-1) + # self.ground5.setY(-50) # 在X轴负方向偏移 + # self.ground5.setZ(49) # 在X轴负方向偏移 + # self.ground5.setColor(0.8, 0.8, 0.8, 1) + # self.ground5.set_material(mat) + # self.ground5.setTag("is_scene_element", "1") + # self.ground5.setTag("tree_item_type", "SCENE_NODE") + # + # self.ground6 = self.render.attachNewNode(cm.generate()) + # self.ground6.setP(90) + # self.ground6.setZ(-1) + # self.ground6.setZ(99) # 在X轴负方向偏移 + # self.ground6.setColor(0.8, 0.8, 0.8, 1) + # self.ground6.set_material(mat) + # self.ground6.setTag("is_scene_element", "1") + # self.ground6.setTag("tree_item_type", "SCENE_NODE") # 应用默认PBR效果,确保支持贴图 try: @@ -402,73 +402,73 @@ class CoreWorld(Panda3DWorld): }, 50 ) - # 为其他两个地面也应用相同的效果 - self.render_pipeline.set_effect( - self.ground2, - "effects/default.yaml", - { - "normal_mapping": True, - "render_gbuffer": True, - "alpha_testing": False, - "parallax_mapping": False, - "render_shadow": True, - "render_envmap": True - }, - 50 - ) - self.render_pipeline.set_effect( - self.ground3, - "effects/default.yaml", - { - "normal_mapping": True, - "render_gbuffer": True, - "alpha_testing": False, - "parallax_mapping": False, - "render_shadow": True, - "render_envmap": True - }, - 50 - ) - self.render_pipeline.set_effect( - self.ground4, - "effects/default.yaml", - { - "normal_mapping": True, - "render_gbuffer": True, - "alpha_testing": False, - "parallax_mapping": False, - "render_shadow": True, - "render_envmap": True - }, - 50 - ) - self.render_pipeline.set_effect( - self.ground5, - "effects/default.yaml", - { - "normal_mapping": True, - "render_gbuffer": True, - "alpha_testing": False, - "parallax_mapping": False, - "render_shadow": True, - "render_envmap": True - }, - 50 - ) - self.render_pipeline.set_effect( - self.ground6, - "effects/default.yaml", - { - "normal_mapping": True, - "render_gbuffer": True, - "alpha_testing": False, - "parallax_mapping": False, - "render_shadow": True, - "render_envmap": True - }, - 50 - ) - print("✓ 地板PBR效果已应用") + # # 为其他两个地面也应用相同的效果 + # self.render_pipeline.set_effect( + # self.ground2, + # "effects/default.yaml", + # { + # "normal_mapping": True, + # "render_gbuffer": True, + # "alpha_testing": False, + # "parallax_mapping": False, + # "render_shadow": True, + # "render_envmap": True + # }, + # 50 + # ) + # self.render_pipeline.set_effect( + # self.ground3, + # "effects/default.yaml", + # { + # "normal_mapping": True, + # "render_gbuffer": True, + # "alpha_testing": False, + # "parallax_mapping": False, + # "render_shadow": True, + # "render_envmap": True + # }, + # 50 + # ) + # self.render_pipeline.set_effect( + # self.ground4, + # "effects/default.yaml", + # { + # "normal_mapping": True, + # "render_gbuffer": True, + # "alpha_testing": False, + # "parallax_mapping": False, + # "render_shadow": True, + # "render_envmap": True + # }, + # 50 + # ) + # self.render_pipeline.set_effect( + # self.ground5, + # "effects/default.yaml", + # { + # "normal_mapping": True, + # "render_gbuffer": True, + # "alpha_testing": False, + # "parallax_mapping": False, + # "render_shadow": True, + # "render_envmap": True + # }, + # 50 + # ) + # self.render_pipeline.set_effect( + # self.ground6, + # "effects/default.yaml", + # { + # "normal_mapping": True, + # "render_gbuffer": True, + # "alpha_testing": False, + # "parallax_mapping": False, + # "render_shadow": True, + # "render_envmap": True + # }, + # 50 + # ) + # print("✓ 地板PBR效果已应用") else: print("⚠️ RenderPipeline未初始化,地板将使用基础渲染") except Exception as e: diff --git a/main.py b/main.py index 17f5dc63..9e526043 100644 --- a/main.py +++ b/main.py @@ -483,26 +483,12 @@ class MyWorld(CoreWorld): # 模型导入和处理方法 - 代理到scene_manager def importModel(self, filepath): """导入模型到场景""" - # 检查是否是FBX文件,如果是则询问用户是否要转换为GLB - if filepath.lower().endswith('.fbx'): - try: - from PyQt5.QtWidgets import QMessageBox - reply = QMessageBox.question( - None, - '格式转换选择', - 'FBX文件检测到!\n\n是否要尝试转换为GLB格式以获得更好的动画支持?\n\n点击"是":尝试转换为GLB格式(需要安装转换工具)\n点击"否":直接使用原始FBX格式导入', - QMessageBox.Yes | QMessageBox.No, - QMessageBox.Yes - ) - auto_convert = (reply == QMessageBox.Yes) - except ImportError: - # 如果没有PyQt5,默认不转换 - print("检测到FBX文件,由于GUI不可用,将直接使用原始格式导入") - auto_convert = False - else: - # 非FBX文件,保持原有逻辑 - auto_convert = True - + # 自动转换FBX等格式为GLB以获得更好的动画支持(不再弹窗询问) + # 如果你不想自动转换,可以将 auto_convert 改为 False + auto_convert = False + + print(f"[模型导入] 文件: {filepath}, 自动转换GLB: {auto_convert}") + return self.scene_manager.importModel(filepath, auto_convert_to_glb=auto_convert) def importModelAsync(self, filepath): diff --git a/scene/scene_manager.py b/scene/scene_manager.py index f8c3e2b5..be73c011 100644 --- a/scene/scene_manager.py +++ b/scene/scene_manager.py @@ -121,19 +121,12 @@ class SceneManager: # 检查是否需要转换为GLB以获得更好的动画支持 if auto_convert_to_glb and self._shouldConvertToGLB(filepath): - #print(f"🔄 检测到需要转换的格式,尝试转换为GLB...") + print(f"🔄 检测到需要转换的格式,尝试转换为GLB...") converted_path = self._convertToGLBWithProgress(filepath) if converted_path: - #print(f"✅ 转换成功: {converted_path}") + print(f"✅ 转换成功: {converted_path}") filepath = converted_path - # 显示成功消息 - try: - from PyQt5.QtWidgets import QMessageBox - original_ext = os.path.splitext(original_filepath)[1].upper() - QMessageBox.information(None, "转换成功", - f"已将 {original_ext} 格式自动转换为 GLB 格式\n以获得更好的动画支持!") - except: - pass + # 转换成功的消息已在控制台显示,不再弹窗提示 else: print(f"⚠️ 转换失败,使用原始文件") diff --git a/ui/interface_manager.py b/ui/interface_manager.py index 959e3201..cd1e2ae3 100644 --- a/ui/interface_manager.py +++ b/ui/interface_manager.py @@ -1,4 +1,3 @@ -from PIL.ImageChops import lighter from PyQt5.QtWidgets import QTreeWidget, QTreeWidgetItem, QMenu, QStyle from PyQt5.QtCore import Qt from PyQt5.sip import delete diff --git a/ui/property_panel.py b/ui/property_panel.py index 39c81d3b..a18aca46 100644 --- a/ui/property_panel.py +++ b/ui/property_panel.py @@ -7472,8 +7472,8 @@ class PropertyPanelManager: print(f"🎯 目标节点: {node.getName()}") # 3. 设置材质金属性为1.0 - material.set_metallic(1.0) - print("🔧 材质金属性设置为1.0") + # material.set_metallic(1.0) + # print("🔧 材质金属性设置为1.0") # # 4. 创建纹理阶段 # metallic_stage = TextureStage("metallic_map")