IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> MATLAB+Unreal Engine自动驾驶联合仿真 -> 正文阅读

[游戏开发]MATLAB+Unreal Engine自动驾驶联合仿真

? ?这里假设已经安装好了Unreal Engine(版本4.25)MATLAB2021b 以及Visual Studio? 2017or higher 。MATLAB官方文档给的匹配的UE4版本号是4.23,但是似乎有些插件不支持4.23的版本。

主要步骤简单来说就是 matlab自己做了一个ue4插件 ,你要把插件拷到ue4插件文件夹里 然后通过matlab的simulink打开ue4程序 ,步骤是很简单 但是matlab做的太绕了 坑坑洼洼还真不少。

下面直接开始做了

可以参考官方文档

https://www.mathworks.com/help/releases/R2020a/driving/ug/install-and-configure-support-package-for-customizing-scenes.htmlhttps://www.mathworks.com/help/releases/R2020a/driving/ug/install-and-configure-support-package-for-customizing-scenes.htmlicon-default.png?t=LA92https://www.mathworks.com/help/releases/R2020a/driving/ug/install-and-configure-support-package-for-customizing-scenes.html

亦可对照?

手把手超详细介绍MATLAB+RoadRunner+Unreal Engine自动驾驶联合仿真 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/335521741我按照这两篇文章做的时候碰到的问题以及解决方法也会在这里写出来

第一步?安装用于自定义场景的支持包

1,先下载matlab里面的支持包?

? ? ??打开MATLAB的Add On/附加功能--->获取附加功能。

? ?搜索 Automated Driving ToolboxInterface for Unreal Engine 4 Projects 并安装

?

?此插件的功能我就不做过多介绍了,可以看官方文档 这一步基本都没问题。

第二步 将matlab自带的ue4 文件和ue4插件包拷贝出来

1,指定包含项目的支持包文件夹的路径。如果以前下载了支持包,请仅指定最新的下载路径,如此处所示。还要指定要在其中复制项目的本地文件夹目标。此代码指定的本地文件夹为 :C:\Loca

supportPackageFolder = fullfile( ...
    matlabshared.supportpkg.getSupportPackageRoot, ...
    "toolbox","shared","sim3dprojects","driving");
localFolder = "C:\Local";

看代码和官方注释 这段代码作用是要就创建两个变量 一个变量是ue4插件包的路径 一个是ue4项目的路径

2,将项目从支持包文件夹复制到本地目标文件夹,项目名为?AutoVrtlEnv1

projectFolderName = "AutoVrtlEnv";
projectSupportPackageFolder = fullfile(supportPackageFolder,projectFolderName);
projectLocalFolder = fullfile(localFolder,projectFolderName);
if ~exist(projectLocalFolder,"dir")
    copyfile(projectSupportPackageFolder,projectLocalFolder);
end

运行完这段代码我们可以看到又多了几路径的变量

?并且会提示 找不到??"C:\ProgramData\MATLAB\SupportPackages\R2021b\toolbox\shared\sim3dprojects\driving\AutoVrtlEnv" 这个路径?

我顺着路径找? 在driving 这个目录下 的确没有?AutoVrtlEnv?

再分析下这段代码 就是很简单的要将?AutoVrtlEnv这个matlab自带的UE4项目文件夹拷贝到C:\Loca

R2021b下暴力查找?

最后在C:\ProgramData\MATLAB\SupportPackages\R2021b\toolbox\shared\sim3dprojects\spkg\project

下找的了

?

?我们就可以把第二段代码改为:

projectFolderName = "AutoVrtlEnv";

projectSupportPackageFolder ="C:\ProgramData\MATLAB\SupportPackages\R2021b\toolbox\shared\sim3dprojects\spkg\project";

projectLocalFolder = fullfile(localFolder,projectFolderName);

if ~exist(projectLocalFolder,"dir")

copyfile(projectSupportPackageFolder,projectLocalFolder);

end

(或者直接拷贝过去。。。。。)

3,将UE4插件复制到虚幻编辑器的安装路径里

指定包含虚幻引擎安装的本地文件夹。此代码显示编辑器在 Windows 计算机上的默认安装位置。

ueInstallFolder = "C:\Program Files\Epic Games\UE_4.23";

将插件从支持包复制到Plugins文件夹中

supportPackageFolder = fullfile( ...
    matlabshared.supportpkg.getSupportPackageRoot, ...
    "toolbox","shared","sim3dprojects","driving");

mwPluginName = "MathWorksSimulation.uplugin";
mwPluginFolder = fullfile(supportPackageFolder,"PluginResources","UE423");
uePluginFolder = fullfile(ueInstallFolder,"Engine","Plugins");
uePluginDestination = fullfile(uePluginFolder,"Marketplace","MathWorks");

cd(uePluginFolder)
foundPlugins = dir("**/" + mwPluginName);

if ~isempty(foundPlugins)
    numPlugins = size(foundPlugins,1);
    msg2 = cell(1,numPlugins);
    pluginCell = struct2cell(foundPlugins);

    msg1 = "Plugin(s) already exist here:" + newline + newline;
    for n = 1:numPlugins
        msg2{n} = "    " + pluginCell{2,n} + newline;
    end
    msg3 = newline + "Please remove plugin folder(s) and try again.";
    msg  = msg1 + msg2 + msg3;
    warning(msg);
else
    copyfile(mwPluginFolder, uePluginDestination);
    disp("Successfully copied MathWorksSimulation plugin to UE4 engine plugins!")
end

这段代码意思就是我前文提到的 :将matlab写的一个插件拷到UE4编辑器的插件文件夹下

但是还是老问题 文件夹根本找不到

看看代码

第一段

ueInstallFolder = "C:\Program Files\Epic Games\UE_4.23";

创建一个变量 路径是UE4.23 编辑器的路径(我之前是UE4.23但是运行的时候提示插件版本号不匹配就安装了4.25)

那就改成

ueInstallFolder = "C:\Program Files\Epic Games\UE_4.25";

第二段

supportPackageFolder = fullfile( ... matlabshared.supportpkg.getSupportPackageRoot, ... "toolbox","shared","sim3dprojects","driving");

mwPluginName = "MathWorksSimulation.uplugin";

mwPluginFolder = fullfile(supportPackageFolder,"PluginResources","UE423");

uePluginFolder = fullfile(ueInstallFolder,"Engine","Plugins");

uePluginDestination = fullfile(uePluginFolder,"Marketplace","MathWorks");

cd(uePluginFolder) foundPlugins = dir("**/" + mwPluginName);

意思是将?MathWorksSimulation.uplugin这个插件拷贝到 UE4编辑器的Plugins 文件夹下 (用了一大堆字符串拼接)

MathWorksSimulation.uplugin?在C:\ProgramData\MATLAB\SupportPackages\R2021b\toolbox\shared\sim3dprojects\spkg\plugins\mw_simulation

所以此段代码改为

supportPackageFolder = "C:\ProgramData\MATLAB\SupportPackages\R2021b\toolbox\shared\sim3dprojects\spkg\plugins\mw_simulation";

mwPluginName = "MathWorksSimulation.uplugin";

uePluginFolder = fullfile(ueInstallFolder,"Engine","Plugins");

uePluginDestination = fullfile(uePluginFolder,"Marketplace","MathWorks");

cd(uePluginFolder) foundPlugins = dir("**/" + mwPluginName);

后面代码就是报错提醒和文件拷贝 就不做解释了

运行完后会在

?C:\Program Files\Epic Games\UE_4.25\Engine\Plugins\Marketplace\MathWorks

看到这个MathWorksSimulation插件文件夹

在C:\Local?

看到Matlab自带的UE4工程?AutoVrtlEnv

?到这一步基本就是大功告成了?

接下来只要用Simulink打开ue4项目就行

参考文档

使用 Simulink 和 Unreal Editor 自定义场景 - MATLAB & Simulink (mathworks.com)https://www.mathworks.com/help/releases/R2020a/driving/ug/customize-scenes-using-simulink-and-unreal-editor.html

最后效果

?

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-12-24 18:50:05  更:2021-12-24 18:50:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 20:22:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码