使用 MATLAB 函数在格式之间转换场景
此示例演示如何从一种文件格式导入 RoadRunner 场景并将这些场景导出为不同的格式。在此示例中,您将 ASAM OpenDRIVE® 文件导入到场景中,将其保存到项目中,然后导出场景以使用 MATLAB®函数将其导出到 Filmbox® FBX® 文件。
要运行此示例,您必须:
拥有 Automated Driving Toolbox® 许可证。
拥有 RoadRunner® 许可证并安装该产品。
已创建 RoadRunner 项目文件夹。
以编程方式启动 RoadRunner
要使用 MATLAB 函数以编程方式控制 RoadRunner ,请使用 roadrunner
对象。默认情况下,roadrunner
从您所使用平台(Windows® 或 Linux®)的默认安装文件夹中打开 RoadRunner 。这些是按平台划分的默认安装位置:
Windows – C:\Program Files\ RoadRunner R20NNx\bin\win64
Linux、Ubuntu® – /usr/local/RoadRunner_R20NNx/bin/glnxa64
R20NNx
是您正在使用的 MATLAB 版本。
如果您的 RoadRunner 安装位置与默认位置不同,请使用 MATLAB settings
API 自定义 RoadRunner 安装文件夹的默认值。
多个场景的导入和导出
从 ASAM OpenDRIVE 格式导入多个场景并将其导出为 FBX 格式。
通过指定创建项目的位置,使用 roadrunner
函数在 RoadRunner 中打开项目。此示例假设 RoadRunner 安装在 Windows 中的默认位置。
指定现有项目的路径。例如,此代码显示位于 C:\RR\MyProject
的项目的路径。该函数返回 roadrunner
对象,rrApp,
提供执行基本工作流程任务(例如打开、关闭和保存场景和项目)的函数。
demoProj = fullfile('C:','DemoProject'); rrApp = roadrunner(demoProj,InstallationFolder="C:\Program Files\RoadRunner R2022b\bin\win64 ");
指定要导入的 ASAM OpenDRIVE 文件的路径以及要将 Filmbox 文件导出到的文件夹的路径。
odrFolder = fullfile('C:','OpenDRIVE'); odrFiles = dir(fullfile(odrFolder,'*.xodr')); exportFolder = fullfile('C:','Filmbox');
导入 ASAM OpenDRIVE 文件并将其导出为 FBX 格式。使用 newScene
函数将每个 ASAM OpenDRIVE 文件导入到新场景中,在项目中创建一个新场景,然后指定每个场景的文件路径以导入到 importScene
函数。然后,使用 exportScene
函数将导入的场景导出到文件。
for fndx = 1:length(odrFiles) newScene(rrApp); importFilePath = fullfile(odrFolder,odrFiles(fndx).name); importScene(rrApp,importFilePath,"OpenDRIVE"); [~,fileName] = fileparts(odrFiles(fndx).name); exportFilePath = [fullfile(exportFolder,fileName) '.fbx']; exportScene(rrApp,exportFilePath,"Filmbox"); end
导出所有场景后,使用 close
函数关闭 RoadRunner 应用程序。
close(rrApp);
扩展 RoadRunner 导出选项
要进一步自定义脚本,您可以指定非默认导入和导出设置或指定其他文件格式。有关支持格式的更多详细信息,请参阅 importScene
和 exportScene
函数。为了提高导出场景的灵活性,请考虑使用自定义导出选项导出场景。有关更多详细信息,请参阅 exportCustomFormat
函数。
另请参阅
roadrunner
| newScene
| exportScene
| exportCustomFormat
| importScene
| close