diff --git a/scene/scene_manager.py b/scene/scene_manager.py index 28a3f3d4..288ac4db 100644 --- a/scene/scene_manager.py +++ b/scene/scene_manager.py @@ -3505,6 +3505,7 @@ except Exception as e: texture_info = { 'stage_name': stage_name, 'stage_mode': stage.getMode(), + 'stage_sort': stage.getSort(), # 保存纹理阶段排序 'texture_path': texture.getFullpath().toOsSpecific() if texture.hasFullpath() else '', 'texture_name': texture.getName(), 'wrap_u': texture.getWrapU(), @@ -3960,6 +3961,8 @@ except Exception as e: # 创建纹理阶段 stage = TextureStage(stage_name) stage.setMode(texture_info.get('stage_mode', TextureStage.M_modulate)) + # 恢复纹理阶段排序 + stage.setSort(texture_info.get('stage_sort', 0)) # 默认为0(p3d_Texture0) # 加载纹理 texture_path = texture_info['texture_path']