虚拟实验室-Unreal 版本

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


美术规范-草案

<table> <thead> <tr> <th>作者</th> <th>QFord</th> </tr> </thead> <tbody> <tr> <td>创建日期</td> <td>2024-10-25</td> </tr> <tr> <td>更新日期</td> <td>2024-12-17</td> </tr> <tr> <td>备注</td> <td>此规范会根据需要迭代</td> </tr> <tr> <td>版本</td> <td>V1.1.0</td> </tr> </tbody> </table> <p>[TOC]</p> <p><strong>提示:</strong>[【器材规范】请点击这里](<a href="https://www.showdoc.com.cn/virtualLabUnreal/11558401001920057">https://www.showdoc.com.cn/virtualLabUnreal/11558401001920057</a> &quot;【器材规范】请点击这里&quot;) <strong>注意:</strong>规范的草案阶段容易出现较为频繁的条目新增、修改和删除等变动!</p> <h1>背景</h1> <p>为规范美术资源的制作和管理,确保项目的一致性和高质量,以及降低返工率,故特制定本规范。 &gt; 本规范除了美术资源相关的,也包含了一些<strong>项目设置、业务规范</strong>等影响美术表现的内容。</p> <h1>适用范围</h1> <p>本规范主要适用于《虚拟实验室》UE5.3.2版本 项目中除器材外的所有美术资源(包括DDC工具创建的和由UE编辑器创建的),包括:</p> <ul> <li>关卡(地图)</li> <li>模型 <ul> <li>静态网格</li> <li>骨骼网格</li> </ul></li> <li>材质</li> <li>纹理</li> <li>动画</li> <li>特效(粒子系统)</li> <li>音频</li> <li>视频</li> <li>蓝图</li> <li>预计算光照信息</li> <li>场景光照</li> </ul> <h1>项目设置(Project Settings)</h1> <h2>引擎(Engine)-渲染(Rendering)</h2> <h3>后处理(Postprocessing)(开发 2024-11-20)</h3> <p>自定义深度-模板通道(Custom Depth-Stencil Pass) :Enabled with Stencil <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=26708745ef96abecb2c62072e397d63f&amp;amp;file=file.png" alt="" /> &gt; 基于后处理的高亮需要,启用Stencil不会让默认启用<strong>渲染深度自定义通道</strong>的节点响应高亮表现,比如玻璃和液体材质的节点。</p> <h3>默认设置(Default Settings)(美术)</h3> <p>● 泛光(Bloom)</p> <p>○ 禁用,统一使用后处理进行控制。</p> <p>● 环境光遮挡(Ambient Occlusion)</p> <p>○ 禁用,统一使用后处理进行控制。</p> <p>● 环境光遮蔽静态部分(已烘焙光照的A0) Ambient Occlusion Static Fraction (AO for baked lighting)</p> <p>○ 禁用,统一使用后处理进行控制。</p> <p>● 自动曝光(Auto Exposure)</p> <p>○ 禁用,自动曝光不适合精确控制想要的光线亮度</p> <p>● 自动曝光柱状图</p> <p>○ 扩展自动曝光设置中的默认亮度范围</p> <p>○ 和物理正确曝光有关的设置</p> <p>● 动态模糊(Motion Blur)</p> <p>○ 禁用,统一使用后处理进行控制。</p> <p>● 光源单位(Light Units)</p> <p>○ 流明 <em>后面可以写个 光照换算 小工具,帮助场景快速设置灯光强度</em></p> <p>● 抗锯齿方法(Anti-Aliasing Method):TAA (开发-2024-11-21) &gt; PC端原先使用TSR发现器材移动会有拖影残留的奇怪表现,详见[QA反馈的Bug](<a href="https://pms.sdp.101.com/#/track/issue/detail/8b71dac9-0d00-4822-b4c4-7dd471a855bc">https://pms.sdp.101.com/#/track/issue/detail/8b71dac9-0d00-4822-b4c4-7dd471a855bc</a> &quot;QA反馈的Bug&quot;)</p> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=afd4f0e03249bc7fbc39cec47ebf3f85&amp;amp;file=file.png" alt="" /></p> <h3>移动平台(Mobile)(开发)</h3> <ul> <li>移动抗锯齿方法(Mobile Anti-Aliasing Method):FXAA</li> </ul> <h3>材质(Materials)(美术)</h3> <p>● 透明图层启用第二法线(Clear Coat Enable Second Normal):透明器材多的项目建议开启,会提升显示效果,但会增加一定消耗。 <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=ec0a27b517cfd334817e2019fe0e1015&amp;amp;file=file.png" alt="" /></p> <p>● [开发-2024-12-9]器材的网格体有使用骨骼网格体的,其使用的材质应在Details面板中的Usage下开启【勾选使用骨骼网格体-Used with Skeletal Mesh】 用于交互中创建【虚影】表现的支持。 <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=7b782d9f8f47c435369a75c60642c421&amp;amp;file=file.png" alt="" /></p> <p>● [开发-2024-12-17][液体插件 Chemistry Flasks 材质-修改说明](<a href="https://chs06iktrl.feishu.cn/docx/GZ50dmDA6oMeklxVKX6cj09GnOh">https://chs06iktrl.feishu.cn/docx/GZ50dmDA6oMeklxVKX6cj09GnOh</a> &quot;液体插件 Chemistry Flasks 材质-修改说明&quot;)</p> <h3>纹理(Textures)(美术)</h3> <p>● 纹理流送(Texture Streaming):勾选启用 <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=13576b749089460e87fb09bb74329a0d&amp;amp;file=file.png" alt="" /></p> <h3>虚拟纹理(Virtual Textures)(美术)</h3> <p>● 启用虚拟纹理支持(Enable virtual texture support):勾选启用 ● 在纹理导入时启用虚拟纹理(Enable virtual texture on texture import):禁用 &gt; SP导出的贴图有序列ID命名的时候会被误识别。可以后续在项目中手动启用。 <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=5093ea2d468e38d1dd5f1e1bd24ebfc4&amp;amp;file=file.png" alt="" /></p> <h3>软件光线追踪(Software Ray Tracing)(美术)</h3> <p>● 生成网格体距离场(Generate Mesh Distance Fields):勾选启用 <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=9de885ed0a0ad7fb6c595bfc64710fb3&amp;amp;file=file.png" alt="" /></p> <h3>杂项光照(Misc Lighting)(美术)</h3> <p>● 允许静态光照(Allow Static Lighting) :如果是全lumen项目,可以禁用。 <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=1a1f81241848cad008f293b58422eb0e&amp;amp;file=file.png" alt="" /></p> <h3>独立半透明度(Separate Translucency)(美术)</h3> <p>独立半透明度(Separate Translucency) 启用排序独立透明度(实验性)(Enable Order Independent Transparency (Experimental)) <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=2032b8451d714eef1642e7b9d8d4ca33&amp;amp;file=file.png" alt="" /> &gt; 美术(任海东)水体表现需要的</p> <h3>平台-Windows(Platforms-Windows)(开发&amp;美术)</h3> <ol> <li> <p><strong> [临时]</strong>默认RHI(Default RHI)-DirectX 11 <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=df3effa6881f78f9fb80a8440cdccddc&amp;amp;file=file.png" alt="" /> &gt; 解决水体使用<strong>独立半透明</strong>导致的UE编辑器<strong>频繁崩溃</strong>问题</p> </li> <li><strong>[推荐]</strong>默认RHI(Default RHI)-DirectX 12 &lt;center&gt;DirectX 11 <strong>VS</strong> DirectX 12 表现的影响&lt;/center&gt;</li> </ol> <table> <thead> <tr> <th>特性</th> <th>DirectX 11</th> <th>DirectX 12</th> </tr> </thead> <tbody> <tr> <td>Lumen</td> <td>只支持软件渲染模式,性能低下</td> <td>硬件加速的光线追踪,性能高</td> </tr> <tr> <td>Nanite</td> <td>不支持</td> <td>支持,Vulkan也支持</td> </tr> <tr> <td>Virtual Shadow Maps</td> <td>不支持</td> <td>支持</td> </tr> <tr> <td>TSR</td> <td>支持,但比DX12性能低</td> <td>支持,比DX11性能高</td> </tr> <tr> <td>渲染性能</td> <td>较高的CPU开销,单线程渲染性能较好</td> <td>更低的CPU开销,多线程渲染性能更好</td> </tr> <tr> <td>多线程支持</td> <td>支持有限,主要依赖单线程</td> <td>提供更好的多线程支持,充分利用多核CPU</td> </tr> </tbody> </table> <p>&gt; 从上述表格可以看出,使用DX12的好处多多,需要水体解决问题后再切换到DirectX 12.</p> <h3>后处理(Postprocessing)(美术)</h3> <p>● 在后期处理中启用透明度通道支持(实验性)Enable alpha channel support in post processing (experimental) :允许通过色调映射器 <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=61fd44141dd5fc8f525f95713c0cd517&amp;amp;file=file.png" alt="" /> &gt; 输出透明图层通道必须的选项,用于液体表现。</p> <h3>Substrate(美术)</h3> <p>● Substrate:和旧材质系统不兼容,升级后无法回退,<strong>慎重启用</strong>。 &gt; ○ 一些新效果需要该材质系统支持,有需要的得详细评估。</p> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=e2ad56833cf117b883507565b374e055&amp;amp;file=file.png" alt="" /></p> <h3>优化(Optimizations)(美术)</h3> <p>● 支持计算蒙皮缓存(Support Compute Skin Cache):勾选启用 &gt; 部分功能依赖该选项(光追、morph target、重计算切线、Metahuman、groom等</p> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=efccd5b7e714ff434782c618fe4892be&amp;amp;file=file.png" alt="" /></p> <h2>引擎(Engine)-碰撞(Collision)</h2> <h1>工具-平台(Tools-Platforms)</h1> <h2>设备描述文件(Device Profiles)(开发)</h2> <ol> <li>解决铁粉盒<strong>贴图模糊</strong>问题(显存瓶颈时,UE会自动降低贴图分辨率,导致模糊) <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=51a75485ef68681a2b604ad339bb8c1d&amp;amp;file=file.png" alt="" /> &gt; 原则上是应该解决性能问题,上述设置仅供参考! 更多相关的背景知识,请参考下面的文档。 [纹理流送](<a href="https://blog.csdn.net/qq_21222055/article/details/106166270">https://blog.csdn.net/qq_21222055/article/details/106166270</a> &quot;纹理流送&quot;)</li> </ol> <h1>业务规范</h1> <h2>朝向设定(开发)</h2> <ol> <li>方形实验桌的朝向是宽所在的边的指向是南北,朝屏幕里面的方向为北 PS:如果是圆形的实验桌则可忽略</li> <li>开始实验时的<strong>机位应设置为朝北</strong></li> <li>UE中的太阳可以作为地理方向的参照物,上述设定要遵循太阳的地理方位设定。 <strong>FAQ:如何确定方向?</strong> Lights的Sun and Sky可以用来确定方向。 &gt; 此外,Sun Position Calulator 插件可以根据经纬度和日期时间计算出当前太阳的位置,可以更好的模拟现实。 开发在美术关卡左上角提供了<strong>罗盘方向UI</strong>来指明朝向,可通过<strong>回车键</strong>让镜头<strong>自动朝北</strong>。</li> </ol> <h2>Tag设定(开发)</h2> <p><strong>重要:</strong>所有的Tag之前都要求加前缀<strong>VLab</strong></p> <ol> <li>实验桌-VLabTable</li> <li>地面-VLabGround</li> </ol> <h1>关卡规范</h1> <p>关卡(场景)规范是最为重要的规范,因为场景的内容常常成为性能问题来源且<strong>标准场景</strong>关系到器材的表现。 &gt;<strong>注意:</strong>此项缺失内容主要由美术同学补充</p> <h2>关卡要点(开发)</h2> <ul> <li> <p>解决掉错误和警告 &gt;所有关卡的加载对错误和警告都应为零容忍的。如果关卡加载时出现任何错误或警告,应立即修复它们以防止连锁问题。您可以在控制台使用命令“map check”在编辑器中运行地图检查工具。 请注意:Linter对关卡的检查比编辑器更加严格,并且会捕获那些编辑器自行解决的错误。</p> </li> <li> <p>记得构建光照 &gt; 在项目开发过程中,偶尔没有构建照明是正常的。 然而在进行测试/内测/正式版构建时,或任何可能会分发的构建时,都应始终构建光照。</p> </li> <li>不要让用户看到Z Fighting</li> <li>通过官方示例学习优秀的关卡制作规范</li> </ul> <h2>后处理(PostProcessVolume)(开发)</h2> <p>全局光照的Luman的设定。 <strong>注意:</strong>设定太高的值将对性能造成极大的冲击!</p> <p>Lumen场景光照质量(Lumen Scene Lighting Quality):</p> <p>● 值越高质量越好,10以上变化不大。</p> <p>Lumen场景细节(Lumen Scene Detail):</p> <p>● 值越大,细小的物体也能产生lumen贡献</p> <p>● 场景细节对 Surface Cache 影响很大,如果在 Surface Cache 观察视口中发现粉色、黄色的比较多,可以加大该数值。</p> <p>Lumen场景视野距离(Lumen Scene View Distance):</p> <p>● 光线追踪所保持的场景最大视理野距离。值越大,天空阴影和全局光照的有效范围越大。天空遮蔽和全局光照只能维持在Lumen场景的最初200米内</p> <p>最终采集质量(Final Gather Quality):</p> <p>● Lumen全局光照的质量,减少所渲染的噪点。</p> <p>● 对性能影响非常大,一般2~4 即可。</p> <p>最大跟踪距离(Max Trace Distance):</p> <p>● 控制Lumen应该跟踪的最大距离。值太小将会导致光照泄漏到较大的范围,例如洞穴。</p> <p>提高最终采集光照更新速度(Final Gather Lighting Update Speed)</p> <p>● 加快Lumen全局光照变化的速度</p> <p>● 镜头剪辑的时候光照GI可能跟不上变化,可以调高GI更新速度</p> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=21b940bc850e867f40fee773f8979329&amp;amp;file=file.png" alt="" /></p> <h2>光照(Lighting)</h2> <h3>1. 方向光(DirectionalLight)</h3> <p>*方向光比较重要,单独从灯光里面拎出来</p> <h3>2. 灯光(Lights)</h3> <h3>3. 天空光照(SkyLight)</h3> <h3>4. 光照重要性体积(LightmassImportanceVolume)</h3> <h3>5. 体积光照贴图密度体积(Volumetric Lightmap Density Volume)</h3> <h2>天空大气(SkyAtmosphere)</h2> <h2>体积云(VolumetricCloud)</h2> <h2>后期处理体积(PostProcessVolume)</h2> <ol> <li>全局光照-Lumen Global Illumination (开发) 优先推荐默认值设置,需要调整的推荐在【程序的集成工程环境】中进行调试。 <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=5baf8b3bf21b7a4823b6aac635d8d828&amp;amp;file=file.png" alt="" /> &gt; 设置太高会让帧率大幅下降 以上仅针对PC端设定,移动端不建议使用Luman(5.3.2版本也还不支持移动端Luman)</li> </ol> <h2>反射(Reflection)</h2> <h3>反射捕捉器(Reflection Captures)</h3> <ol> <li>盒体反射捕捉(BoxReflectionCapture)</li> </ol> <h2>镜头(Camera)</h2> <h2>地形(Landscape)</h2> <h2>指数级高度雾(ExponentialHeightFog)</h2> <h2>杂项</h2> <h3>1.多边形数量(开发)</h3> <p><strong>1: 控制多边形的数量:</strong>确保场景内的模型的多边形数量在合理范围内,避免过多的多边形导致性能问题。 &gt; 这个通过需要适配的高低配机器(我们需要优先确认适配的基准硬件设备)来确定这个合理的数值范围,同时需要综合考虑实验器材以及相关表现的开销。 <strong>下面是推荐的多边形数量范围,仅供参考,最终可能需要根据实测数据来调整:</strong></p> <h4>PC端(开发)</h4> <p>1:高端PC</p> <ul> <li>单个模型: 10,000到100,000个多边形。</li> <li>整个场景: 1,000,000到10,000,000个多边形。</li> </ul> <p>2:中端PC</p> <ul> <li>单个模型: 5,000到50,000个多边形。</li> <li>整个场景: 500,000到5,000,000个多边形。</li> </ul> <p>3:低端PC</p> <ul> <li>单个模型: 1,000到10,000个多边形。</li> <li>整个场景: 100,000到1,000,000个多边形。</li> </ul> <h4>移动端(开发)</h4> <p>1:高端移动设备</p> <ul> <li>单个模型: 1,000到10,000个多边形。</li> <li>整个场景: 100,000到1,000,000个多边形。</li> </ul> <p>2:中端移动设备</p> <ul> <li>单个模型: 500到5,000个多边形。</li> <li>整个场景: 50,000到500,000个多边形。</li> </ul> <p>3:低端移动设备</p> <ul> <li>单个模型: 100到1,000个多边形。</li> <li>整个场景: 10,000到100,000个多边形。</li> </ul> <p><strong>2: 使用LOD:</strong>为复杂模型创建不同的LOD级别(),根据距离自动切换模型的细节级别,优化渲染性能。</p> <ul> <li>LOD0:100%(原始模型)</li> <li>LOD1:50%</li> <li>LOD2:25%</li> <li>LOD3:12%</li> </ul> <h3>2.Actor的移动性设定(开发)</h3> <ol> <li>关卡中保持静止(Transform的三个属性不会变化)的Actor,必须将【<strong>移动性</strong>】设置为【<strong>静态</strong>】。</li> <li>关卡中会移动的Actor,必须将【<strong>移动性</strong>】设置为【<strong>可移动</strong>】。</li> <li>关卡中不会移动,但是会旋转或缩放的Actor,必须将【<strong>移动性</strong>】设置为【<strong>固定</strong>】。</li> </ol> <h3>3.网格体的碰撞(开发)</h3> <ol> <li>关卡中的静态网格体Actor,如地板、墙体、装饰物等,应带有碰撞,优先考虑使用<strong>简单碰撞</strong>。</li> </ol> <h1>目录规范(开发)</h1> <p><strong>重要:</strong> 1:不要创建名为Assets 或者 AssetTypes的目录 2:不要有空的文件 3:超大资源(文件数量比较的大的)要有自己的目录结构并拥有独立的根文件夹。 4:创建名为Meshes、 Textures或者Materials的目录是多余的(请忽视器材那边这么做,关卡这边就不推荐了) &gt; 资源的文件名本身已经提供了资源类型信息,所以在目录名中再提供资源类型信息就是多余了,而且使用资源浏览器的过滤功能,可以非常便利的提供相同的功能。</p> <p>Content ├─Developer ├─VLab │ │─LabResources │ │ │─Maps │ │ │ │─Level_1 │ │ │ │─Level_2 │ │ │ │─... │ ├─Coursewares │ │ │─Bird │ │ │ ├─BirdResources │ │ │─... ├─Script │ │─ElementResources │ │ ├─Commons │ │ ├─Elements │ │ │ │─JiuJingDengElement │ │ │ │─...</p> <p>&gt;0. Developer用于存放开发过程中的测试资源,可以随时删除,正式资源不引用它下面的任何资源。</p> <ol> <li>VLab是应用工程的根目录, 除了特殊用途的Script目录,所有文件都在VLab目录下</li> <li>LabResources下放置关卡(场景)资源的目录,每个关卡的资源要放在其下新建独立目录,如Level_1 、 Level_2,<strong>而关卡文件放在Maps即可</strong>。</li> <li>Coursewares是颗粒的目录</li> </ol> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=7dfe4a6130b577eca6a8d2769d2bc873&amp;amp;file=file.png" alt="" /></p> <h2>关卡下的目录</h2> <p>Level_1/ ├── Environment/ │ │─...... ├── MaterialLibrary/ ├── Effects/ ├── Animations/ ├── Audios/ ├── Movies/ ├── Fonts/ ├── Misc/</p> <p>&gt;1. <strong>Environment</strong> 用于存放室外环境的资源,其内还可以细分。</p> <ol> <li><strong>Misc</strong>用于存放其他不属于上述分类的资源。</li> <li>实验室资源主要是室内场景的,其他的室内的场景资源放在各自的资源分类文件夹中。</li> <li><strong>MaterialLibrary</strong>:任何基础材质、分层材质,或者任何被重复使用而不属于特定模型的材质和纹理放在这个目录下。</li> </ol> <h1>命名规范(开发)</h1> <ol> <li>所有命名只使用<strong>英文字母+数字+下划线</strong>的组合,<strong>不要使用任何中文、标点等任何Unicode字符集!!!</strong></li> <li>命名中<strong>千万不要使用空格</strong>等空白字符!!!</li> <li>[资源命名约定](<a href="https://github.com/thejinchao/ue5-style-guide?tab=readme-ov-file#anc">https://github.com/thejinchao/ue5-style-guide?tab=readme-ov-file#anc</a> &quot;资源命名约定&quot;)的内容较多,请点击链接查看!</li> </ol> <h1>资源规范</h1> <p>&gt;<strong>注意:</strong>此项内容开发已先出一版,需要美术同学评审修订!</p> <ol> <li>UE5 使用<strong>FBX 2018</strong>的导入管线,在DDC导出过程中使用不同的版本可能会导致不兼容。 &gt;虚幻引擎5.4版本的FBX导入通道使用 FBX 2020.2 ,在DDC导出期间使用不同的版本可能会导致不兼容。</li> </ol> <h2>模型(Model)(开发)</h2> <ul> <li>器材相关的模型规范请参见<strong>[【器材规范】](<a href="https://www.showdoc.com.cn/virtualLabUnreal/11558401001920057">https://www.showdoc.com.cn/virtualLabUnreal/11558401001920057</a> &quot;【器材规范】请点击这里&quot;)</strong></li> <li>模型的面数请参考上面的<strong>多边形数量</strong></li> <li>静态模型都必须包含UV,UV须要避免互相覆盖;使用适当的UV空间,确保纹理分辨率一致。</li> <li> <p>所有模型都必须有碰撞体,选择合适的碰撞体类型 &gt; 无论模型是否将会在关卡中产生物理碰撞,都应定义正确物理碰撞体数据。 这有助于引擎进行绑定盒计算、遮挡和照明等工作。 资产的碰撞体也需要良好的定义。</p> </li> <li> <p>所有模型资源需要正确的缩放系数。 &gt; 这是一项工程级别的偏主观的检查,所有模型都应根据其项目设置正确的大小。 关卡设计师或蓝图作者大部分情况下都不必在使用模型时,再去调整模型的放缩系数。 在引擎中的缩放模型应被视为一种调整,而不是校正。</p> </li> <li>符合拓扑基础原则</li> </ul> <h2>材质(Material)(开发)</h2> <ul> <li>使用PBR(物理基渲染)材质,确保材质参数符合Unreal Engine的要求。</li> </ul> <h2>纹理(Texture)(开发)</h2> <ul> <li>纹理尺寸必须是2的幂(尤其是UI纹理),但并不一定是正方形的。</li> <li>纹理分辨率应适当,避免过大或过小,纹理大小不要超过8192。</li> <li> <p>正确对纹理进行分组。 &gt; 每个纹理都应该属于一个正确的纹理组,用于做LOD计算,应根据纹理的用途正确设置。 例如,所有UI纹理都应属于UI纹理组</p> </li> <li>纹理图案密度应该保持一致 &gt; 所有纹理的大小都应适合项目的标准用例。 每个项目中定义的纹理密度各不相同,但同一个项目中的纹理应具有一致的密度。例如,如果项目的纹理密度为每1单位8像素,那么用于渲染100x100单位的立方体所使用的纹理应为1024x1024,因为这是与项目纹理密度最接近且是2的幂的纹理尺寸了。</li> </ul> <h2>动画(Animation)(开发)</h2> <ul> <li>帧率:30FPS(特殊情况可用60FPS)</li> </ul> <h2>特效(SFX)</h2> <ul> <li>粒子数量控制 <ul> <li>小型特效:50-200个粒子</li> <li>中型特效:200-500个粒子</li> <li>大型特效:500-1000个粒子</li> </ul></li> </ul> <h2>光源描述文件(IES)</h2> <p>&gt;照明工程学会(IES)定义了一种文件格式,以使用真实世界测量数据描述光源的光照分布。此类IES光度文件或 IES描述文件 是一类照明行业标准方法,对特定真实照明灯具散发出光线亮度和光线衰减进行图解。其可使光照考虑灯具的反光表面、灯泡的形状以及发生的透镜效应,从而获取逼真的光照效果。</p> <h2>预计算光照信息(Precomputed Lighting | Precomputed Lightmaps)</h2> <h2>场景光照(Level Lighting)</h2> <p>详见关卡规范中的<strong>光照</strong></p> <h2>导航网格(Navigation Mesh)</h2> <h2>音频(Audio)(开发)</h2> <p>UE中自带[音频引擎](<a href="https://dev.epicgames.com/documentation/zh-cn/unreal-engine/audio-engine-overview-in-unreal-engine">https://dev.epicgames.com/documentation/zh-cn/unreal-engine/audio-engine-overview-in-unreal-engine</a> &quot;音频引擎&quot;),音频引擎是一个较为专业和复杂的业务模块,能够处理各种声音相关的业务场景。音频的制作人员应该熟练掌握引擎提供的音频能力,除了生产和配置音频,也能够使用蓝图来处理音频相关的众多业务。 &gt;注意:除了使用UE内置的音频引擎,也有知名的[Wwise](<a href="https://www.audiokinetic.com/zh/blog/how-to-play-sounds-from-wwise-in-unreal-engine/">https://www.audiokinetic.com/zh/blog/how-to-play-sounds-from-wwise-in-unreal-engine/</a> &quot;Wwise&quot;)可供选型、测试和评估。</p> <ol> <li> <p>音频格式(Audio Format) <strong>使用wav格式</strong> &gt; 不使用ogg格式,因为发现在UE编辑器中无法正常显示和选用。 wav是无损音频格式,保留了最高的音质,适用于需要高质量音频的场景。</p> </li> <li> <p>采样率(Sample Rate) <strong>44.1 kHz</strong> 或 48 kHz &gt; 44.1 kHz是CD音质的标准采样率,48 kHz是专业音频和视频的标准采样率。 一般选用44.1 kHz已经足够用了,对于特别要强调的音乐可以选用48 kHz</p> </li> <li> <p>位深度(Bit Depth) <strong>16位</strong> 或 24位 &gt; 16位是CD音质的标准位深度,24位提供更高的动态范围和更低的噪声。对于大多数业务场景,16位已经足够,但对于需要极高音质的场景,24位是更好的选择。</p> </li> <li> <p>声道(Channels) <strong>立体声(Stereo)</strong> 或 <strong>单声道(Mono)</strong> &gt; <strong>立体声</strong>适用于音乐和环境音效,<strong>单声道</strong>适用于定位音效(如敲击声、脚步声、枪声等),因为它们可以在3D空间中更好地定位。此外,UI音效也使用<strong>单身道</strong>。</p> </li> <li>压缩设置(Compression Settings) 对于背景音乐和环境音效,可以使用较高的压缩比以节省存储空间;对于重要的音效,可以使用较低的压缩比以保留音质。</li> </ol> <p>x. 双耳音频(Binaural Audio) 以人的耳朵和肩膀位置为参考的方式录制的音频,或使用HRTF(头部相关传输函数)合成的音频。它可以使音频更加逼真,但需要耳机才能准确播放。</p> <h2>视频(Video)(开发)</h2> <p><strong>使用mp4格式</strong>,支持各个不同的平台。</p> <ol> <li> <p>视频编码 <strong>H.264</strong></p> </li> <li> <p>视频分辨率</p> <ul> <li>1080p(1920x1080): 1080p是全高清分辨率,适用于大多数PC和高端移动设备,提供良好的视觉效果。</li> <li>720p(1280x720): 720p是高清分辨率,适用于中端移动设备和性能要求较低的场景。</li> <li>4K(3840x2160): 4K分辨率适用于高端PC和次世代主机,提供超高清的视觉效果,但需要更高的解码性能。</li> </ul> </li> <li> <p>视频帧率</p> <ul> <li>30 FPS: 30帧每秒是常见的视频帧率,适用于大多数场景,提供流畅的播放效果。</li> <li>60 FPS: 60帧每秒适用于高动态场景和高端设备,提供更流畅的播放效果,但需要更高的解码性能。</li> </ul> </li> <li> <p>音频规范 支持AAC解码器的</p> </li> <li>视频播放优化 如果不能以您需要的响应度、流畅性或性能播放您的媒体,您可以尝试启用这些选项。 <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=5a3510771065eaadf0f79d31dda56628&amp;amp;file=file.png" alt="" /></li> </ol> <p>x. 已知的问题和限制</p> <ul> <li> <p><strong>Android</strong></p> <ul> <li>音频目前通过操作系统播放,不能通过UE4的声音系统传输。</li> </ul> </li> <li> <p><strong>编辑器</strong></p> <ul> <li> <p>媒体播放器中的播放列表UI总是在内部创建一个播放列表。</p> </li> <li> <p>播放列表可以从媒体播放器中保存;但是,目前无法在媒体播放器中编辑播放列表。</p> <p>变通方案:从媒体播放器中保存一个播放列表,然后打开并编辑该媒体播放列表资源。</p> </li> </ul> </li> <li> <p><strong>Sequencer</strong></p> <ul> <li>当从Sequencer录制电影时,媒体播放将无法正确呈现。</li> <li>官方计划在不久的将来发布新的版本,因为我们知道这一点很重要。</li> <li>ImgMedia插件将与Sequencer同步。</li> </ul> </li> </ul> <h3>场景对象的布局(开发)</h3> <p>项目使用第一人称模式,需要考虑胶囊体的尺寸,这会影响和场景中其他对象的碰撞。 因此,场景中的对象的布局需要考虑胶囊体的尺寸,主要关注胶囊体的通过性。 胶囊体半高:92 胶囊体半径:40</p> <h2>杂项</h2> <h3>视频需求配置(To任海东)(美术)</h3> <p><strong>VSM虚拟阴影(需要 DX12)</strong></p> <ul> <li>VSM虚拟阴影半影效果调节:SourceRadius:源半径,局部光,如点光,聚光等。点光投射6个面,稍耗很大。</li> <li>SourceAngle:源角度,平行光</li> </ul> <p><strong>平行光,VSM虚拟阴影质量调节:</strong></p> <ul> <li>r.Shadow.Virtual.SMRT.RayCountDirectional 平线光光线数量,默认7,越高越好</li> <li>r.Shadow.Virtual.SMRT.SamplesPerRayDirectional 平线光光线采样数量,默认8,越高越好</li> <li>r.Shadow.Virtual.ResolutionLodBiasDirectional 阴影贴图mipmap等级,值越低越好,默认0,可以是负数</li> </ul> <p><strong>局部光VSM虚拟阴影质量调节:</strong></p> <ul> <li>r.Shadow.Virtual.SMRT.RayCountLocal 光线数量,默认7,越高越好</li> <li>r.Shadow.Virtual.SMRT.SamplesPerRayLocal 光线采样数量,默认4,越高越好</li> <li>r.Shadow.Virtual.ResolutionLodBiasLocal 阴影贴图mipmaps等级,值越低越好,默认0</li> </ul> <h1>参考资料</h1> <ul> <li>[UE5 风格指南-英文原版](<a href="https://github.com/Allar/ue5-style-guide">https://github.com/Allar/ue5-style-guide</a> &quot;UE5风格指南&quot;)</li> <li>[UE5 风格指南-中文翻译版](<a href="https://github.com/thejinchao/ue5-style-guide">https://github.com/thejinchao/ue5-style-guide</a> &quot;UE5风格指南-中文翻译版&quot;)</li> <li>[UE5 目录、资产命名规范](<a href="https://zhuanlan.zhihu.com/p/484119115">https://zhuanlan.zhihu.com/p/484119115</a> &quot;【UE5】目录、资产命名规范&quot;)</li> <li>[UE5 官方文档-处理音频](<a href="https://dev.epicgames.com/documentation/zh-cn/unreal-engine/working-with-audio-in-unreal-engine">https://dev.epicgames.com/documentation/zh-cn/unreal-engine/working-with-audio-in-unreal-engine</a> &quot;UE官方开发文档-处理音频&quot;)</li> <li>[UE4 官方视频-性能&amp;优化-纹理流送](<a href="https://blog.csdn.net/qq_21222055/article/details/106166270">https://blog.csdn.net/qq_21222055/article/details/106166270</a> &quot;纹理流送&quot;)</li> <li>[如何在 Unreal Engine 5.3.2 中播放来自 Wwise 的声音](<a href="https://www.audiokinetic.com/zh/blog/how-to-play-sounds-from-wwise-in-unreal-engine/">https://www.audiokinetic.com/zh/blog/how-to-play-sounds-from-wwise-in-unreal-engine/</a> &quot;如何在 Unreal Engine 中播放来自 Wwise 的声音&quot;)</li> <li>[结合使用 Strata、Wwise 和 Unreal 构建沉浸游戏体验](<a href="https://www.audiokinetic.com/zh/blog/combining-strata-wwise-and-unreal-for-immersive-game-experiences/">https://www.audiokinetic.com/zh/blog/combining-strata-wwise-and-unreal-for-immersive-game-experiences/</a> &quot;结合使用 Strata、Wwise 和 Unreal 构建沉浸游戏体验&quot;)</li> <li>[UE 官方文档-关卡设计基础](<a href="https://dev.epicgames.com/community/learning/tutorials/3VKJ/unreal-engine-fortnite-level-design-fundamentals">https://dev.epicgames.com/community/learning/tutorials/3VKJ/unreal-engine-fortnite-level-design-fundamentals</a> &quot;关卡设计基础&quot;)</li> <li>[UE 官方文档-硬件和软件规范](<a href="https://dev.epicgames.com/documentation/en-us/unreal-engine/hardware-and-software-specifications-for-unreal-engine">https://dev.epicgames.com/documentation/en-us/unreal-engine/hardware-and-software-specifications-for-unreal-engine</a> &quot;UE 官方文档-硬件和软件规范&quot;)</li> <li>[UE 官方文档-Unreal Swarm-加速美术构建的服务](<a href="https://dev.epicgames.com/documentation/en-us/unreal-engine/unreal-swarm-in-unreal-engine">https://dev.epicgames.com/documentation/en-us/unreal-engine/unreal-swarm-in-unreal-engine</a> &quot;UE 官方文档-Unreal Swarm&quot;)</li> <li>[UE 官方文档-UE引擎的美术快速入门](<a href="https://dev.epicgames.com/documentation/en-us/unreal-engine/artist-quick-start-in-unreal-engine?application_version=5.4">https://dev.epicgames.com/documentation/en-us/unreal-engine/artist-quick-start-in-unreal-engine?application_version=5.4</a> &quot;UE 官方文档-美术快速入门UE引擎&quot;)</li> <li>[UE 官方文档-管理美术内容](<a href="https://dev.epicgames.com/documentation/zh-cn/unreal-engine/working-with-content-in-unreal-engine?application_version=5.4">https://dev.epicgames.com/documentation/zh-cn/unreal-engine/working-with-content-in-unreal-engine?application_version=5.4</a> &quot;UE 官方文档-管理美术内容&quot;)</li> <li>[UE 官方文档-媒体框架技术参考](<a href="https://dev.epicgames.com/documentation/en-us/unreal-engine/media-framework-technical-reference-for-unreal-engine">https://dev.epicgames.com/documentation/en-us/unreal-engine/media-framework-technical-reference-for-unreal-engine</a> &quot;UE 官方文档-媒体框架技术参考&quot;)</li> <li>[UE 官方文档-媒体框架](<a href="https://dev.epicgames.com/documentation/zh-cn/unreal-engine/media-framework-in-unreal-engine?application_version=5.3">https://dev.epicgames.com/documentation/zh-cn/unreal-engine/media-framework-in-unreal-engine?application_version=5.3</a> &quot;UE 官方文档-媒体框架&quot;)</li> <li>[UE 灯光IES](<a href="https://www.showdoc.com.cn/2469254506261418/11132354866504773">https://www.showdoc.com.cn/2469254506261418/11132354866504773</a> &quot;UE 灯光IES&quot;)</li> <li><a href="https://docs.qq.com/doc/DWXlwSkt1VGRKU2Jh">美术 项目&amp;渲染设置</a></li> <li>UE 官方工程-ArchVizExplorer</li> </ul>

页面列表

ITEM_HTML