Description

When using the Panoramic Capture Plugin to render 360-degree images, it is possible to specify the output directory of the generated files. This can be any absolute path, or any relative path starting from the current working directory of the Editor, for example the folder "/Engine/Binaries/Win64" (which is not ideal, but this is not the bug being reported here).

This worked fine up to UE 4.27, but starting with UE 5.0, any attempt to use an absolute path will fail with the message "The output directory's drive doesn't exists. Plese set SP.OutputDir with a valid path. Skipping renders...".

The source of the problem can be tracked from the error message. In file [Engine\Plugins\Experimental\PanoramicCapture\Source\PanoramicCapture\Private\SceneCapturer.cpp:646], function USceneCapturer::ValidateParameters() builds a drive string such as "C:" and calls FPaths::DirectoryExists() on it to validate it. Up to UE 4.27, this ends up going through a call to FPaths::IsRelative("C:"), which correctly returns false. On the other hand, starting with UE 5.0, this ends up going through a call to FPathViews::IsRelativePath(), which incorrectly returns true (it requires absolute paths to include a slash, so it would correctly return false if the path was "C:\"). As a result, the working directory is concatenated to the given path, creating a string such as "<ENGINE_DIR>/Engine/Binaries/Win64/C:". Further operations on this path obviously fail.

Steps to Reproduce
  • Open UE 5.0 - 5.3, enable the "P√†noramic Capture" plugin and restart.
  • Copy asset "Engine/Plugins/Experimental/PanoramicCapture/Content/Assets/BP_Capture" to the project's content folder, then add an instance of this actor to any level.
  • Inside the blueprint, the output path is specified as "C:/PanoramicCaptureFrames" by default.
  • Play in Editor. The capture will start on BeginPlay, but will immediately fail with the message "The output directory's drive doesn't exists. Plese set SP.OutputDir with a valid path. Skipping renders...".
  • Optionally, repeat the same steps on UE up to 4.27, and it works correctly.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-200726 in the post.

0
Login to Vote

Fixed
ComponentMedia Framework
Target Fix5.4
Fix Commit26142217
CreatedNov 17, 2023
ResolvedNov 27, 2023
UpdatedNov 27, 2023