开发环境(新手必看)
<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>> 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> "设置Visual Studio")
> <strong>VS相关设置</strong>是官方文档推荐的,可以先跳过,有问题再回过头检查。</p>
<h2>Rider</h2>
<p>> UE 更推荐使用的IDE,目前刘备同学用的比较多,有问题可以找他。</p>
<h1>XCode版本</h1>
<p>会根据官方的发布更新,待发布iOS时再确定版本和更新</p>
<h1>新建UE项目时的配置</h1>
<p>第三人称
目标平台 : Desktop
质量:Scaleable
光线追踪:启用
> 上述设置后面都是可以改的。</p>
<h1>仓库地址</h1>
<p>git@git.sdp.nd:app-cpp/virtual-lab-unreal.git
开发分支:<strong>develop</strong>
> 大型资源不放在这个分支,主要提供开发、快速发包调试。</p>
<p>发布分支:<strong>release</strong>
> 场景等大型资源放在这个分支,用于发布。
器材表现在依赖场景资源的,如材质,请使用这个分支调整。</p>
<p>自2024-7-30起,已废除gerrit,详见[基于Gitlab的代码管理规范](<a href="https://www.kdocs.cn/l/cdgR3kwDWm8D">https://www.kdocs.cn/l/cdgR3kwDWm8D</a> "基于Gitlab的代码管理规范")</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;file=file.png" alt="" /></p>
<p>> 后续Project的数量可能会增多,上述截图不再更新。</p>
<h1>依赖插件-重要</h1>
<p>下面依赖的插件有的需要安装到引擎(已提交到该工程的可以不用安装到引擎)
安装引擎的方式,如下图所示:
<img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=e12f670ef9fd83017f9a33f8014030de&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>
> 已安装到项目工程</p>
</li>
<li>
<p>Switch Language
安装方法请参考文档:
<a href="https://www.showdoc.com.cn/virtuallabUe/10963472945190946">https://www.showdoc.com.cn/virtuallabUe/10963472945190946</a>
> 自行通过 Epics Game Laucher 安装到引擎</p>
</li>
<li>
<p>LE Extended Standard Library
> 自行通过 Epics Game Laucher 安装到引擎</p>
</li>
<li>
<p>UnrealCSharp
> <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> "UnrealCSharp")
<strong>请详细阅读,有环境和子模块更新的要求</strong></p>
</li>
<li>GameplayMessageRouter
> 用于应用内通信的插件,来自于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;file=file.png" alt="" />
> 其他 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> "官方 <a href="https://cmake.org/download/">https://cmake.org/download/</a> 下载地址(可能要科学上网)")</li>
<li>检查安装是否成功可以在控制台输入命令:cmake --version 检查,成功会显示camke的版本号信息。
<strong>安装注意事项(可能不是必须的,但是为了验证安装是否成功,最好按照下图的设置来):</strong>
<img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=bd11b47c7651ef15e66074b4424681d0&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;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> "iOS快速入门指南")
> 一般我们不直接在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->Settings->Platforms中下载
我下载的是iOS 17.4版本(<strong>如果多次下载失败,请尝试去官方寻找下载链接,使用支持断点续传的Edge浏览器下载</strong>)</p>
<p>3:使用brew安装cmake,命令如下(已验证):
<code>brew install cmake</code>
如果尚未安装brew,请使用命令:
<code>/bin/bash -c &quot;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)&quot;</code>
> chatGPT提供,尚未验证。</p>
<h1>附录</h1>
<p>VAX安装说明(ljx推荐的):[VS2022安装VisualAssistX番茄助手](<a href="https://zhuanlan.zhihu.com/p/661815368">https://zhuanlan.zhihu.com/p/661815368</a> "VS2022安装VisualAssistX番茄助手")</p>