车辆动力学Blockset™安装了预构建的三维场景,其中模拟和可视化的车辆建模在Simulink金宝app®。这些3D场景是使用虚幻引擎可视化®从Epic Games公司®。通过使用虚幻®编辑器,您可以自定义这些场景或在自定义项目中的场景中进行模拟。
通过自定义场景,您可以共同模拟中Simulink和虚幻编辑器,以便可以修改模拟运行之间的场景。金宝app您也可以打包场景成可执行文件,并模拟不虚幻编辑器。可执行文件不需要打开虚幻编辑器来模拟场景。相反,现场使用自带安装了车辆动态模块库虚幻引擎上运行。
要自定义的3D场景,你需要熟悉创建和修改虚幻编辑器中的场景。要使用这些定制的场景模拟,在Simulink模型,你必须设置金宝app模拟3D场景配置块参数现场源至不真实的可执行文件
要么虚幻编辑器
。
此表提供了自定义场景的步骤。
一步 |
描述 |
---|---|
验证软件和硬件需求。 |
|
使用Add-资源管理器上安装支持包,其中包含虚幻引擎4.23项目文件。金宝app |
|
建立三维仿真环境中使用的项目文件。 |
|
迁移项目开发了使用之前支持包金宝app(可选的) |
迁移一个项目,您使用的以前版本开发车辆动态模块库接口虚幻引擎4项目金宝app支持包。 |
在虚幻编辑器、MATLAB之间建立连接®,这样你就可金宝app以编辑场景了。 |
|
创建或在虚幻编辑器中修改场景 | 使用虚幻编辑器自定义场景中的项目。 您可以使用模拟3D消息集和模拟三维信息获取块发送和从虚幻引擎的3D可视化环境中接受场景数据。您必须配置可视化环境与Simulink模型的数据通信。金宝app有关详细信息,请参阅该块文档和支持包文件金宝appQuickStart_Message_Get_Set。 |
联合模拟场景在虚幻编辑器和Simulink金宝app | 模拟自定义场景虚幻编辑器和Simulink两种。金宝app |
使用可执行文件(可选)模拟自定义场景 | 创建一个虚幻引擎项目可执行文件,包含您的更新。 |
在创建自定义场景之前,请确保您的环境满足最小的软件和硬件需求。
视窗®64位平台-不支持3D仿真环境金宝app苹果电脑和Linux®平台。
虚幻编辑器4.23- 要自定义场景,您必须安装虚幻编辑器的特定版本。要下载此版本,请参阅虚幻引擎的网站。
Visual Studio®2017或更高- 需要使用虚幻编辑器自定义场景该软件。
微软®的DirectX®- 如果该软件尚未安装在机器上,并尝试在3D环境中模拟,车辆动态模块库会提示您安装它。一旦安装了该软件,则必须重新启动仿真。
车辆动态模块库接口虚幻引擎4个项目支持包金宝app- 对于安装和设置说明,请参阅安装支持包和配置金宝app场景自定义(一次性步骤)。
三维仿真环境还要求:
显卡(GPU) -虚拟现实就绪GPU与8 GB板载RAM
处理器(CPU) - 2.60千兆赫
内存(RAM) - 12gb
在MATLAB首页选项卡,在环境部分中,选择加载项>获取附加组件。
在Add-On Explorer窗口中,搜索虚幻引擎4项目支持包的车辆动力学块集界面。金宝app点击安装。
您必须对安装文件夹的写权限。
支持包包金宝app括:
一个虚幻的引擎项目,AutoVrtlEnv.uproject
和其相关的文件。该项目包括预建的3D场景的可编辑的版本,你可以从选择场景描述的参数模拟3D场景配置块。要使用这个项目,您必须将文件复制到文件夹在本地计算机上。
一个插件文件,MathWorkSimulation.uplugin
。这个插件建立MATLAB和虚幻编辑器之间的连接和所需的协同仿真。你必须这个插件复制到本地安装的编辑器。
要将项目复制到本地文件夹和插件到你的虚幻编辑器的安装,请按照下列一次性步骤。使用代码用于配置场景配置(步骤1-4)。
一步 | 描述 |
---|---|
1 | 指定支持包项目文件的位置和本地文件夹的目的地。金宝app 请注意您必须具有本地文件夹目标的写权限。 |
2 | 例如,指定虚幻引擎安装的位置 |
3. | 复制 |
4 | 复制包含金宝app |
% % STEP1指定支持包项目文件的位置和本地文件夹目标金宝app%注:仅支持一条路径。金宝app选择最新的下载路径。dest_root =“C: \本地”;SRC_ROOT =完整文件(matlabshared.suppo金宝apprtpkg.getSupportPackageRoot,...“工具箱”,“共享”,“sim3dprojects”,“汽车”);% %步骤2%指定虚幻引擎的安装位置。ueInstFolder =“C:\ Program Files文件\ Epic Games的\ UE_4.23”;% %步骤3%复制MathWorksSimulation插件虚幻引擎插件文件夹。mwPluginName =“MathWorksSimulation”;mwPluginFolder = fullfile (src_root,“PluginResources”,“UE423”);%选择UE版本uePluginFolder = fullfile (ueInstFolder,“引擎”,“插件”);uePluginDst = fullfile (uePluginFolder,“市场”,“MathWorks”);CD(uePluginFolder)foundPlugins = DIR(“** /”+ mwPluginName +“.uplugin”);如果~isempty(foundPlugins) numPlugins = size(foundPlugins, 1);msg2 = cell(1, numPlugins);pluginCell = struct2cell (foundPlugins);msg1 =“插件(S)已经存在的位置:”+换行符+换行;为n = 1:numPlugins msg2{n} =“”+ pluginCell {2中,n} +换行;结束msg3 =换行+请删除插件文件夹并重试。;MSG = MSG1 + MSG2 + Msg3的;警告(MSG);其他的CopyFile(mwPluginFolder,uePluginDst);DISP("成功地将MathWorksSimulation插件复制到UE4引擎插件中!")结束% %第四%复制包含AutoVr金宝apptlEnv.uproject支持包文件夹%文件到本地文件夹目的地。projFolderName =“AutoVrtlEnv”;projSrcFolder = fullfile(src_root, projFolderName);projDstFolder = fullfile(dest_root, projFolderName);如果〜存在(projDstFolder,“目录”)的CopyFile(projSrcFolder,projDstFolder);结束
如果您的Simu金宝applink模型使用了虚幻引擎可执行文件或使用的以前版本的项目开发车辆动态模块库接口虚幻引擎4项目金宝app支持包,必须迁移项目,使其与虚幻编辑器4.23兼容。按着这些次序:
打开虚幻引擎4.23。例如,导航到C:\Program Files\Epic游戏\ UE_4.23 \ \二进制文件\ Win64引擎
和开放UE4Editor.exe
。
使用虚幻项目浏览器中打开要迁移的项目。
按照提示打开该项目的副本。该编辑器会在相同的位置原来一个新的项目文件夹,用4.23追加。关闭编辑器。
在文件浏览器,删除已迁移的项目文件夹名称的空间。例如,重命名4.23。
至MyProject4.23
。
使用MATLAB在虚幻编辑器中打开4.23移植项目。例如,如果你有一个移植项目保存到C: /本地
文件夹,使用MATLAB代码:
路径= fullfile ('C:','本地',“MyProject4.23”,'MyProject.uproject');编辑= sim3d.Editor(路径);打开(编辑);
该R2020a支持包包金宝app括一些演员的实现更改。因此,如果原始项目包含放置在场景中的演员,他们中的一些可能不完全迁移到虚幻编辑器4.23。要进行检查,检查输出日志。
日志可能包含错误消息。有关更多信息,请参见虚幻引擎4文档或接触MathWorks公司技术支援金宝app。
可选地,在您迁移项目之后,您可以使用项目来创建一个虚幻引擎可执行文件。看到包景成可执行文件使用虚幻编辑器。
在编辑自定义场景时,如果直接在虚幻编辑器中打开项目文件,MATLAB和Simulink不会与编辑器建立连接。金宝app因此,您以后无法在Simulink中模拟这些场景。金宝app相反,你必须你必须打开编辑器从MATLAB通过使用sim3d.Editor
功能。这个函数创建一个编辑器
对象,它包含的路径到您的项目文件。然后,您可以调用打开
此对象的功能,打开从MATLAB编辑器并开始编辑您的项目。
第一次打开从MATLAB虚幻编辑器中,您可能会被要求重建UE4Editor
DLL文件。点击是的重建它们。
AutoVrtlEnv
项目提供预先编译好的场景打开AutoVrtlEnv.uproject
这是从车辆动力学模块库接口复制虚幻引擎4个项目的支持包文件,指定路径为复制这个项目。金宝app例如,如果你复制的AutoVrtlEnv.uproject
至C: /地方/ AutoVrtlEnv
如示出的前一节中,使用以下代码:
路径= fullfile ('C:','本地',“AutoVrtlEnv”,'AutoVrtlEnv.uproject');编辑= sim3d.Editor(路径);打开(编辑);
编辑器打开AutoVrtlEnv.uproject
文件。默认情况下,项目显示直路现场。
要打开使用以前的支持包版本开发的项目,请参见金宝app迁移项目开发了使用之前支持包金宝app。
若要打开自己的项目,请使用与打开AutoVrtlEnv.uproject
文件。更新路径
变量的路径.uproject
文件。例如,如果你有一个项目保存到C: /本地
文件夹,使用此代码:
路径= fullfile ('C:','本地','我的项目',“myProject.uproject”);编辑= sim3d.Editor(路径);打开(编辑);
如果这是您第一次在虚幻打开一个自定义项目编辑器4.23,您可能需要联系起来,或重新设置父级,这个项目与Sim3dLevelScriptActor在车辆动力学模块库使用水平蓝图。的水平蓝图控制对象一旦放置在虚拟环境中的交互方式。如果您不将项目重新父级到此级别蓝图,模拟将返回一个错误。
要重新设置父级水平的蓝图:
在编辑器窗口上方的虚幻编辑器工具栏中,选择蓝图>开放水平蓝图。
在关卡蓝图窗口中,选择文件>重新设置父级蓝图。
点击Sim3dLevelScriptActor并关闭关卡蓝图窗口。
如果您没有看到此蓝图,请确保您有MathWorksSimulation
插件安装并启用。
导航回编辑器窗口。在此窗口上方的工具栏中选择设置>插件。
在插件窗口,验证MathWorks接口插件出现。这个插件指MathWorksSimulation.uplugin
文件复制到从当地的虚幻编辑器安装车辆动力学块集支持包虚幻引擎4项目金宝app。
如果您编辑安装包括插件,那么当你在编辑器中首次打开一个项目时,系统会提示您启用该插件。如果你没有看到MathWorks接口在此窗口中,重复下面的步骤并从MATLAB重新打开编辑器。
选择启用复选框。
关闭编辑器,从MATLAB重新打开它,并重复以重新设置父级蓝图的步骤。
之后您打开MATLAB编辑器,你可以前协同仿真修改场景在您的项目。您也可以在项目中创建的场景。
在虚幻编辑器,在项目中的场景被称为水平,并为这些场景的特定级别类型被称为地图。
打开一个预置的场景AutoVrtlEnv.uproject
文件,在内容浏览器编辑器窗口下方窗格中,导航到内容>地图文件夹中。然后,选择对应的场景要修改地图。
车辆动力学区块场景 |
虚幻编辑器地图 |
---|---|
弯路 |
|
双车道改变 |
|
开面 |
|
大型停车场 |
|
停车场 |
|
直路 |
|
美国城市街区 |
|
美国高速公路 |
|
的AutoVrtlEnv.uproject
文件不包括虚拟Mcity现场。
在你自己的项目中打开一个场景内容浏览器窗格中,浏览到包含场景的文件夹。
的模拟三维信息获取块从所述虚幻引擎3D可视化环境中检索数据。要使用块,你必须在虚幻引擎环境配置场景将数据发送到Simulink模型。金宝app
有关使用块自定义场景的详细信息,请参阅支持包文件金宝appQuickStart_Message_Get_Set
和模拟三维信息获取文档。
的模拟3D消息集块发送数据到虚幻引擎三维可视化环境。要使用这个块,您必须在虚幻引擎环境中配置场景来接收来自Simulink模型的数据。金宝app
有关使用块自定义场景的详细信息,请参阅支持包文件金宝appQuickStart_Message_Get_Set
和模拟3D消息集文档。
要在项目中创建场景,请从编辑器的顶部菜单中选择文件>新水平。
另外,您也可以从现有的创建场景。这种技术是有用的,例如,如果你想使用的预建的一个场景AutoVtrlEnv
项目作为创建您自己的场景的起点。一个版本当前打开的场景保存到你的项目,从编辑器的顶部菜单中,选择文件>保存当前作为。新的场景被保存在同一个位置的现有场景。
您可以通过虚幻编辑器中拖放场景对象修改场景中的一个项目。另外,您也可以选择在编辑器窗口中的场景对象,然后在修改其属性细节窗格右侧。例如,为了改变对象的位置,定向或大小,在细节窗格中,使用的选项转变部分。
虚幻编辑器使用左手Z-UP坐标系统,其中,所述Y-轴指向右边。在场景中定位物体时,要记住这个坐标系的差异。
有关在虚幻编辑器中修改场景的更多高级信息,请参见虚幻引擎4文档。
将对象添加到一个场景,你可以浏览或搜索的对象内容浏览器窗格底部和将它们拖放到编辑器窗口。
中向场景添加对象时AutoVrtlEnv
项目(或基于此项目的项目中的场景),您可以从与驾驶相关的对象库中进行选择。这些物体被称为静态网格,以前缀SM_
。搜索在这些对象内容浏览器窗格底部。
例如,在交通锥添加到场景中AutoVrtlEnv
项目:
在里面内容浏览器编辑器底部的窗格,导航到内容文件夹中。
在搜索栏中,搜索SM_Cone
。拖动从锥体内容浏览器进入编辑窗口。然后,您可以在编辑窗口中或在细节右边的窗格,在转变部分。
迁移这些对象,也称为资产从AutoVrtlEnv
基于的项目导入到您自己的项目文件中,请参见转移资产在虚幻引擎文档。
在虚幻编辑器中打开自定义场景后,可以在编辑器和Simulink中模拟这个场景。金宝app通过使用这个联合仿真框架,您可以将车辆和传感器添加到Simulink模型中,然后在自定义场景中回放该仿真。金宝app这种模拟工作流程使您能够在将场景打包为可执行文件之前,根据模拟结果对自定义场景进行调优。
要设置Simulin金宝appk与虚幻编辑器的联合模拟,在您的Simulink模型中,双击模拟3D场景配置块。组现场源至虚幻编辑器
。
要运行模拟,在Simulink中,单击金宝app跑。在你点击玩虚幻编辑器中,等到诊断查看器窗口显示该确认消息:
在模拟的3D场景配置块,设置场景源“虚幻编辑器”。在虚幻编辑器中选择“播放”来查看现场。
默认情况下,虚幻编辑器显示来自场景源的场景。从车辆的角度来显示场景,在模拟3D场景配置块中选择车辆名称现场查看参数。下一次在编辑器中进行模拟时,将显示来自车辆原点的场景,它位于地面上,在车辆的几何中心下方。要更改此视图,请使用编辑器中的数字小键盘。
键 | 相机视图 | |
---|---|---|
1 |
左后 |
|
2 |
背部 |
|
3. |
右后方 |
|
4 |
左 |
|
5 |
内部 |
|
6 |
对 |
|
7 |
左前 |
|
8 |
面前 |
|
9 |
前右 |
|
0 |
高架 |
要重新启动模拟,请点击跑在Simuli金宝appnk模型,等到诊断查看器中显示确认消息,然后单击玩在编辑器中。
如果你是共同模拟定制项目,为数字键盘工作,在编辑,复制DefaultInput.ini
从支持包安装文件夹到自定义项金宝app目文件夹的文件。例如,复制DefaultInput.ini
来自:
C: \ ProgramData \ MAT金宝appLAB工具箱\ SupportPackages \ R2020a \ \共享\ sim3dprojects \汽车\ AutoVrtlEnv \配置
C: \<志愿者项目>. project \配置
当你满意你的自定义场景,你可以打包包含这一幕成可执行的项目文件。然后,您可以从该可执行文件通过使用配置模型来模拟模拟3D场景配置块。可执行文件可以提高仿真性能,并且不需要打开虚幻编辑器来模拟场景。相反,现场使用自带安装了车辆动态模块库虚幻引擎上运行。
要使用可执行文件来模拟场景,首先要将包含场景的项目打包到可执行文件中。然后在Simulink模型中模拟这个场景。金宝app
在虚幻编辑器中打开包含场景的项目。使用sim3d.Editor
功能。有关详细信息,请参阅从MATLAB打开虚幻编辑器部分。
在编辑器窗口上方的菜单中选择设置>项目设置打开“项目设置”窗口。
在左窗格中,在项目部分,点击打包。
在里面打包部分,设置这些选项:
包装选项 | 启用或禁用? |
---|---|
使用Pak文件 | 启用 |
烹饪项目内容目录中的所有内容(忽略下面的地图列表) | 禁用 |
只烹饪地图(只影响cookall) | 启用 |
创建压缩熟包 | 启用 |
排除编辑内容,而烹调 | 启用 |
如果您没有看到所有这些选项,在该底部打包部分中,单击显示高级扩张器。
指定要打包到可执行文件中的项目场景。
在里面地图列表以封装的构建,包括选项,单击再添元按钮。
指定路径,要在可执行文件,包括现场。默认情况下,虚幻编辑器保存映射到/游戏/地图
文件夹中。因此,如果/游戏/地图
文件夹有一个名为的场景myScene
要在可执行文件包括,输入/游戏/地图/ myScene
。
根据需要添加或删除其他场景。
将项目打包成可执行文件可能需要几分钟时间。在可执行文件中包含的场景越多,打包所需的时间就越长。
关闭项目设置窗口。
在编辑器的顶部菜单中,选择文件>包项目>视窗>Windows(64位)。选择一个本地文件夹中保存可执行文件,如对项目文件的根。例如,C: /地方/ myProject的
。
一旦包装完成后,保存该包的文件夹中包含一个WindowsNoEditor
文件夹包含可执行文件。此文件具有相同的名称作为项目文件。
例如,假设您打包了一个来自myProject.uproject
文件并保存可执行的C: /地方/ myProject的
文件夹中。编辑器创建一个名为文件myProject.exe
与此路径:
C:/Local/myProject/WindowsNoEditor/myProject.exe
如果您重新包装一个项目到同一文件夹中,新的可执行文件夹会覆盖旧的。
为了提高协同仿真性能,可以考虑配置模拟3D场景配置块来共同模拟与项目可执行文件。
在您的Simul金宝appink模型,打开模拟3D场景配置块。
设置这些参数:
现场源至不真实的可执行文件
。
文件名称到虚幻引擎可执行文件的名称,指定为有效的可执行名称。可以浏览文件,也可以使用反斜杠指定文件的完整路径。例如:
C: \当地\ myProject \ WindowsNoEditor \ myProject.exe
场景从可执行文件内部指定一个场景的名称,指定为有效场景名称的路径。例如:
/游戏/地图/ myScene
运行仿真。模型在您创建的自定义场景中进行模拟。
如果你启动虚幻引擎而没有按照步骤从MATLAB打开虚幻编辑器和联合模拟场景在虚幻编辑器和Simulink金宝app,你可以得到这样的警告:警告:集成MATLAB / Simulink的不活跃金宝app
。虚幻引擎可能会崩溃,如果你再继续使用虚幻编辑工作。
若要创建项目可执行文件,则MathWorksSimulation
插件必须位于虚幻引擎插件文件夹。检查MathWorksSimulation
插件是不是在AutoVrtlEnv
文件夹和子文件夹。按照以下步骤设置环境从MATLAB打开虚幻编辑器。
模拟三维信息获取|模拟3D消息集|模拟3D场景配置|虚拟Mcity|sim3d.Editor