All Unreal Engine 4

UE4 HLOD 使用

    官方文档: 启用: https://docs.unrealengine.com/zh-CN/Engine/HLOD/HowTo/Enabling/index.html 使用: https://docs.unrealengine.com/zh-CN/Engine/HLOD/HowTo/BuildingHLODs/index.html     使用步骤: 启用功能 在关卡编辑器的工具栏中,单击 设置(Settings) 按钮,并选择 世界场景设置(World Settings)。 然后,在 世界场景设置(World Settings) 菜单中的 LOD系统(LODSystem) 下,启用 …

All Unreal Engine 4

UE4 Instance 使用

    这个部分目的就是降Drawcall。 Unreal官方没有对这个部分做完整的说明,因此我这边会讲的较详细。主要分为两大部分,首先是静态合批,然后是4.23开始支持移动端的动态合批的使用。     静态合并     这个部分有三种合并方式,具体见开发工具 合并相同材质的多个对象为一个     使用: 如图所示我们在场景中放置两个对象,他们的材质是一样的。 这时候我们可以同时选中这两个对象,然后在Merge Actors面板,你就可以看到如下现象。在对参数做确认后即可合并对象。 最后会在资源管理器生成一个新的staticmesh对象。     直接合并多个对象为一个,生成新的材质   …

All Unreal Engine 4

UE4 剔除 使用

官方文档 https://docs.unrealengine.com/zh-CN/Engine/Rendering/VisibilityCulling/index.html 可视性和遮挡剔除方法的大体思路是减少任意给定时刻的可见对象数量,从而达到优化性能的目的。 GPU-Driven 则是后面的趋势,可以全部采用Compute Shader来做OC,后面对于IB/VB进行合并处理。     方法     距离剔除     每个Actor都有自己的绘制距离设置,可以使用 细节(Details) 面板进行设置。     剔除距离体积(Cull Distance Volume):对于优化包含精细内部空间的大型室外关卡非常有用。当室内空间小到可被视为不重要时,可以剔除它们。用法: …

All Unreal Engine 4

Unreal TextureArray 使用

    Unreal 确实是自带了一些 Texture2DArray 的代码,但是貌似功能是不全的。     首先是你无法创建出Texture2DArray对象,引擎,作如下修改后可以创建对象。 操作如下: 创建的对象也可以添加多张贴图来生成效果: 但是至此没有找到怎么使用这个东西的任何文档说明。     第三方修改,主要有两个 第一个是Unreal请求的合并的 https://github.com/EpicGames/UnrealEngine/pull/5767 第二个是独立的第三方插件 https://github.com/fracturedbyte/UE4-T2DA 第二个有完整的使用教程 但是其实其4.24版本官方已经包含了相关的代码,只是设置了默认关闭的代码,而且有BUG,才导致无法使用。 这边参考了Epic的BUG修复提交,删掉了 …

All Unreal Engine 4

Unreal Landscape TextureArray 分析

    是否采用了TextureArray     整个地形虽然在编辑的时候存在多层高度图,但是在运行的时候,heightmap就只有一张在使用,weightmap是多张,在LandscapeComponent这个层面看不出来用的是Texture还是TextureArray,这边用的是逻辑的贴图书组。     然后我们来看 Landscape 这边的实现     Alandscape 对象里面,存在这两个对象: 这里的注释很好的解释了这两个纹理数组资源的含义。 CombinedLayersWeightmapAllMaterialLayersResource 存储的是所有层一起混合后的绘制层贴图资源; CurrentLayersWeightmapAllMaterialLayersResource 存储的是当前层的绘制层贴图资源; 上面的层的含义是地形层,就是多层高度图的层的含义。后续所有的layertexture操作引用到的都是这两个Resources对象。   …

All Unreal Engine 4

Unreal Imposter 实现

相关文档 https://docs.unrealengine.com/zh-CN/Engine/Content/Tools/RenderToTextureTools/Setup/index.htmlhttps://docs.unrealengine.com/zh-CN/Engine/Content/Tools/RenderToTextureTools/3/index.html 由于文档比较老旧且有错误,而且不够细致,下面总结详细的使用步骤。     Render 3D Imposter Sprites     在 内容浏览器 的 视图选项 中,启用 显示引擎内容。 在 内容浏览器 中依次浏览到 Engine -> …

All Unreal Engine 4

Fornite Imposter 原理

    https://www.shaderbits.com/blog/octahedral-impostors https://github.com/ictusbrucks/ImpostorBaker     Notes     Everything should be downloaded to the location: \MyProject\Plugins\ImpostorBaker\ .【一切都应下载到以下位置:\ MyProject \ Plugins \ …

All Unreal Engine 4

Fornite Imposter 插件使用

这个官方插件有点老,这边我们采用了一个别人改过的版本,并在此基础上做了修改,可以在UE4.24上正确运行。 修改版插件地址: https://github.com/dnleeks/ImpostorBaker     插件使用说明     准备好需要制作Imposter的StaticMesh,改造其涉及的所有材质球。 比如这边例子我们使用了Arkm里面现有的一个房子模型,我们把涉及到的资源都放到了TestContent/TestHouse目录下。 这里我们制作了一个简单的父材质球给做参考,需要修改的部分包括两点: 加入ImpostorCaptureSwitch节点 材质需要勾选Use Material Attributes 完成上述改造后材质的输出节点表现如下: 你可以为你自己的工程新建一个包含这部分的父节点,专门用于生成Impostor。 在Maps子文件夹下打开场景 Generate_Impostor_Map 拖入准备好的StaticMesh对象,Transform矩阵归0 在World Outliner里面选中 …

All Houdini Unreal Engine 4

Houdini Imposter 生成使用

    参考资料 https://www.sidefx.com/tutorials/game-tools-imposter-textures/     Houdini Labs 集成了 Imposter 图片和Mesh生成的工具,使用起来也很方便。这个工具和Unreal里面使用的生成插件,功能上面是重复的。     使用步骤: 我们在工程里面已经预制好了 Impostor_demoscene.hip 文件。这个工程就是用来生成后续项目里面使用的资源的。 打开工程,你首先要做的就是在 obj/rubber_toy 里面用上你自己的模型。 然后可以回到out界面,并打开 RenderView …

All Houdini Other

GIS 数据生成高度图

    地形在地理信息学科领域是很常见的存在,我们想要利用这个领域的知识和信息在游戏里面,比如这边想要通过GIS获取真实的地形信息。     数据获取     这边例子我们采用的是 Oregon Department of Geology and Mineral Industries(DOGAMI) 提供的雷达数据,你可以在其网站上下载每一块地形的完整数据。         数据处理 …