2
0
Эх сурвалжийг харах

Set the VoxelGIData path before saving, otherwise the ResourceSave will revert it to an empty String

(cherry picked from commit c34d5627fb4718ad8f89cafa552a9e6658074eb9)
MineBill 2 жил өмнө
parent
commit
4ec566fae2

+ 7 - 2
editor/plugins/voxel_gi_editor_plugin.cpp

@@ -166,8 +166,13 @@ void VoxelGIEditorPlugin::_voxel_gi_save_path_and_bake(const String &p_path) {
 	probe_file->hide();
 	if (voxel_gi) {
 		voxel_gi->bake();
-		ERR_FAIL_COND(voxel_gi->get_probe_data().is_null());
-		ResourceSaver::save(voxel_gi->get_probe_data(), p_path, ResourceSaver::FLAG_CHANGE_PATH);
+		// Ensure the VoxelGIData is always saved to an external resource.
+		// This avoids bloating the scene file with large binary data,
+		// which would be serialized as Base64 if the scene is a `.tscn` file.
+		Ref<VoxelGIData> voxel_gi_data = voxel_gi->get_probe_data();
+		ERR_FAIL_COND(voxel_gi_data.is_null());
+		voxel_gi_data->set_path(p_path);
+		ResourceSaver::save(voxel_gi_data, p_path, ResourceSaver::FLAG_CHANGE_PATH);
 	}
 }