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

(cherry picked from commit c34d5627fb)
This commit is contained in:
MineBill 2023-06-28 00:26:25 +03:00 committed by Yuri Sizov
parent a9a27c7ea5
commit 4ec566fae2
1 changed files with 7 additions and 2 deletions

View File

@ -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);
}
}