| |
|
开发:
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做的太绕了 坑坑洼洼还真不少。 下面直接开始做了 可以参考官方文档 亦可对照? 手把手超详细介绍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,指定包含项目的支持包文件夹的路径。如果以前下载了支持包,请仅指定最新的下载路径,如此处所示。还要指定要在其中复制项目的本地文件夹目标。此代码指定的本地文件夹为 : supportPackageFolder = fullfile( ... matlabshared.supportpkg.getSupportPackageRoot, ... "toolbox","shared","sim3dprojects","driving"); localFolder = "C:\Local"; 看代码和官方注释 这段代码作用是要就创建两个变量 一个变量是ue4插件包的路径 一个是ue4项目的路径 2,将项目从支持包文件夹复制到本地目标文件夹,项目名为? 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项目文件夹拷贝到 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"; 将插件从支持包复制到 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项目就行 参考文档 最后效果 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |