虚拟实验室-Unreal 版本

虚拟实验室的Unreal 版本,第一个版本主要是以《探究通电螺线管外部的磁场分布》颗粒为例,设计和开发一个正式版本。


开发环境(新手必看)

<p>[TOC]</p> <table> <thead> <tr> <th>作者</th> <th>QFord(350107)</th> </tr> </thead> <tbody> <tr> <td>更新日期</td> <td>2024-8-2</td> </tr> <tr> <td>版本</td> <td>V1.0.7</td> </tr> </tbody> </table> <h1>前言</h1> <p><strong>新人需要对文档详细阅读,否则会无法正常编译、启动和运行工程!!! 有问题可以在【virtual-lab-unreal】求助!</strong></p> <h1>Unreal 版本和VS版本</h1> <p><strong>Unreal 5.4.2</strong> (5.4.x版本应该都可兼容) <strong>Visual Studio 17.9.3</strong>(你可以使用下面推荐的版本)</p> <p>&gt; VS版本太高或者太低,都有可能导致问题。 UE5.3版本,<strong>官方推荐的是VS 2022版本17.6</strong> 此外,<strong>UE 5.4将不再支持Visual Studio 2019,而是需要使用Visual Studio 2022。</strong> Rider的我还没试过,有空的时候打算处理下,据说Rider更受UE开发者的青睐。</p> <h2>VS相关设置</h2> <h3>1. VS安装的相关设置</h3> <h3>2. 关闭错误列表窗口</h3> <h3>3. 其他有用的设置</h3> <p>请参考官方文档(英文版本更有利于进行VS设置):[设置Visual Studio](<a href="https://dev.epicgames.com/documentation/zh-cn/unreal-engine/setting-up-visual-studio-development-environment-for-cplusplus-projects-in-unreal-engine">https://dev.epicgames.com/documentation/zh-cn/unreal-engine/setting-up-visual-studio-development-environment-for-cplusplus-projects-in-unreal-engine</a> &quot;设置Visual Studio&quot;) &gt; <strong>VS相关设置</strong>是官方文档推荐的,可以先跳过,有问题再回过头检查。</p> <h2>Rider</h2> <p>&gt; UE 更推荐使用的IDE,目前刘备同学用的比较多,有问题可以找他。</p> <h1>XCode版本</h1> <p>会根据官方的发布更新,待发布iOS时再确定版本和更新</p> <h1>新建UE项目时的配置</h1> <p>第三人称 目标平台 : Desktop 质量:Scaleable 光线追踪:启用 &gt; 上述设置后面都是可以改的。</p> <h1>仓库地址</h1> <p>git@git.sdp.nd:app-cpp/virtual-lab-unreal.git 开发分支:<strong>develop</strong> &gt; 大型资源不放在这个分支,主要提供开发、快速发包调试。</p> <p>发布分支:<strong>release</strong> &gt; 场景等大型资源放在这个分支,用于发布。 器材表现在依赖场景资源的,如材质,请使用这个分支调整。</p> <p>自2024-7-30起,已废除gerrit,详见[基于Gitlab的代码管理规范](<a href="https://www.kdocs.cn/l/cdgR3kwDWm8D">https://www.kdocs.cn/l/cdgR3kwDWm8D</a> &quot;基于Gitlab的代码管理规范&quot;)</p> <p><strong>【注意】</strong>如果是新机器则需要配置公钥并粘贴到gerrit中的权限设置。 这个属于git/gerrit的范畴,属于开发的基本常识,有疑问请问GPT就可以得到答案,这里不再敞开说明和提供任务咨询服务(先前遇到P8的同学还在问这个,真是想骂X)。缺乏这块常识的同学,应该参加ND的git/gerrit相关认证,具体可详询网大的同学。</p> <h1>初始工程的编译说明</h1> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=0d4ffb7b2e68bc36a4574fb036fa8acc&amp;amp;file=file.png" alt="" /></p> <p>&gt; 后续Project的数量可能会增多,上述截图不再更新。</p> <h1>依赖插件-重要</h1> <p>下面依赖的插件有的需要安装到引擎(已提交到该工程的可以不用安装到引擎) 安装引擎的方式,如下图所示: <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=e12f670ef9fd83017f9a33f8014030de&amp;amp;file=file.png" alt="" /></p> <ul> <li> <p>unlua 参考文档 <a href="https://zhuanlan.zhihu.com/p/84399545">https://zhuanlan.zhihu.com/p/84399545</a> &gt; 已安装到项目工程</p> </li> <li> <p>Switch Language 安装方法请参考文档: <a href="https://www.showdoc.com.cn/virtuallabUe/10963472945190946">https://www.showdoc.com.cn/virtuallabUe/10963472945190946</a> &gt; 自行通过 Epics Game Laucher 安装到引擎</p> </li> <li> <p>LE Extended Standard Library &gt; 自行通过 Epics Game Laucher 安装到引擎</p> </li> <li> <p>UnrealCSharp &gt; <strong>陈铭</strong>同学负责的UE调用C#的技术方案,目前(截止2024-7-15)主要是应用到磁学引擎、电学引擎组件。 [UnrealCSharp](<a href="https://www.showdoc.com.cn/virtualLabUnreal/11244039909599573">https://www.showdoc.com.cn/virtualLabUnreal/11244039909599573</a> &quot;UnrealCSharp&quot;) <strong>请详细阅读,有环境和子模块更新的要求</strong></p> </li> <li>GameplayMessageRouter &gt; 用于应用内通信的插件,来自于Lyra。 zlf同学已提交,主要用于外壳应用整合,跨关卡通信。</li> </ul> <h1>异常处理</h1> <h2>PC端</h2> <ol> <li> <p>解决在VS 17.9.3版本下的Unreal 5.3.2工程编译异常问题,需要修改UE源码,如下图所示: <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=bf7875df91a002976c6ef79080cd0686&amp;amp;file=file.png" alt="" /> &gt; 其他 Unreal 5.4.x版本会不会,尚不明确,目前是没重现了。</p> </li> <li> <p>解决UnLua无法编译导致的问题,需要安装cmake。</p> <ul> <li>安装包地址1:99U群-VLab-最美颗粒-讨论群-群共享-cmake-3.29.0-rc4-windows-x86_64.msi</li> <li>[官方 <a href="https://cmake.org/download/">https://cmake.org/download/</a> 下载地址(可能要科学上网)](<a href="https://github.com/Kitware/CMake/releases/download/v3.29.0-rc4/cmake-3.29.0-rc4-windows-x86_64.msi">https://github.com/Kitware/CMake/releases/download/v3.29.0-rc4/cmake-3.29.0-rc4-windows-x86_64.msi</a> &quot;官方 <a href="https://cmake.org/download/">https://cmake.org/download/</a> 下载地址(可能要科学上网)&quot;)</li> <li>检查安装是否成功可以在控制台输入命令:cmake --version 检查,成功会显示camke的版本号信息。 <strong>安装注意事项(可能不是必须的,但是为了验证安装是否成功,最好按照下图的设置来):</strong> <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=bd11b47c7651ef15e66074b4424681d0&amp;amp;file=file.png" alt="" /></li> </ul> </li> <li>确保UE工程已经引用了UnLua插件(更新到最新UE工程文件即可,无需额外操作了) 验证方式:VLabUE.uproject文件,可以看到下面截图红框处: <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=a031d4490bb909a771c60f9fc7fee653&amp;amp;file=file.png" alt="" /> PS:打开后续生成的sln,可以在解决方案的Games/VLabUE/Plugins/文件夹下看到三个UnLua相关的文件夹。</li> <li>通过VLabUE.uproject(UE工程文件)鼠标右键-生成VS工程文件(Generate Visual Studio project files)</li> <li>打开生成的[VLabUE.sln]文件,Rebuild解决方案。 所有的工程都编译通过,没有失败和跳过的(有1个跳过的是UE源码工程,是正常的),就说明可以了。 接着,应该就可以正常打开UE工程了(UnrealCSharp的操作完成的情况下)。</li> </ol> <h2>Mac端</h2> <p>[iOS快速入门指南](<a href="https://dev.epicgames.com/documentation/zh-cn/unreal-engine/setting-up-an-unreal-engine-project-for-ios">https://dev.epicgames.com/documentation/zh-cn/unreal-engine/setting-up-an-unreal-engine-project-for-ios</a> &quot;iOS快速入门指南&quot;) &gt; 一般我们不直接在Mac进行开发,只是需要发版本的话,建议可以通过PC端远程来发布Xcode工程。 最早是B哥那边有操作过,UE官方也有相关的教程。</p> <p>1:编译插件 PC是通过UE的工程文件可以生成VS的sln文件,而Mac端可以生成Xcode的项目文件(是在<strong>菜单</strong>(Tools)下面的<strong>Generate Xcode Project</strong>)。 <strong>需要注意的是,纯蓝图项目,这个菜单项是置灰的</strong> <strong>有用到使用源码的第三方插件,需要使用Xcode先编译下。</strong> 否则,打包的时候会提示无法找到第三方插件的某些文件或目录而失败。</p> <p>2:Xcode安装iOS SDK Simulator 在Xcode-&gt;Settings-&gt;Platforms中下载 我下载的是iOS 17.4版本(<strong>如果多次下载失败,请尝试去官方寻找下载链接,使用支持断点续传的Edge浏览器下载</strong>)</p> <p>3:使用brew安装cmake,命令如下(已验证): <code>brew install cmake</code> 如果尚未安装brew,请使用命令: <code>/bin/bash -c &amp;quot;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)&amp;quot;</code> &gt; chatGPT提供,尚未验证。</p> <h1>附录</h1> <p>VAX安装说明(ljx推荐的):[VS2022安装VisualAssistX番茄助手](<a href="https://zhuanlan.zhihu.com/p/661815368">https://zhuanlan.zhihu.com/p/661815368</a> &quot;VS2022安装VisualAssistX番茄助手&quot;)</p>

页面列表

ITEM_HTML