All Houdini Unreal Engine 4

Houdini Foliage Bake to levels 实现

    Bake foliage 默认情况下是属于 GWorld->GetCurrentLevel(); 因此就是 Level 面板下当前level是哪个,就生成在哪个level里面。     每个 level 里面拥有 AInstancedFoliageActor 对象,就是用来存储 Foliage 信息的。     在 Houdini …

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 支持 Unreal多层高度图功能

Unreal 4.24 地形最大的变化就是在编辑侧支持了多层高度图,你在创建地形的时候可以勾选如下选项则表示开启这个功能。 要注意的是,如果你没有勾选这个选项,下列Houdini对多层高度图的支持不会启用,使用流程同以前。     Houdini 的输入     启用多层高度图后,你可以开启关闭每一层高度图,世界窗口中显示的就是当前高度图状态下的地形表现。 Houdini的输入地形,就是世界窗口中表现的地形。 如图右边显示什么样就是输入Houdini的地形长什么样。 【要特别注意的是,每次开关地形高度层导致世界窗口中地形表现不一样时,需要Rebuild】     Houdini 的输出     在没有启用多层高度图的地形,结果与没有这功能前一致。 启用多层高度图的地形,输出结果我们作如下demo做说明: …

All Houdini Unreal Engine 4

Houdini 支持 unreal world composition 的地形的多样输入

    Houdini 基础工作流     生成基础地形,单独做一个hda:         然后bake成地形完成这一步骤。     再做一个hda专门作为mask的修改的实现,其中输入为地形,输出也为地形。     结果同样可以bake成地形,然后在结果的基础上,我们可以实现再修改,比如我们在结果的基础上通过unreal自带的工具修饰地形如下:     再次运行mask工具即可得到新的mask标记:   …

All Houdini Unreal Engine 4

Houdini 大地形导入 Unreal 的两种方法

    仅仅修改Houdini文件即可实现的方法     网络上很多文章都有说明,如果我们在Houdini这一测使用其提供的TileSplit节点的时候,是可以在Unreal里面一次性生成多张地图,其效果如下: 但是这里存在两个问题: 这不是正确的Unreal里面使用流式加载地形的正确方式。 不同地形之间的接缝是很难消除的,因为他们隶属于不同的高度图,高度图生成地形还要基于采样生成模型,这个过程对于不同的高度图之间,他们是不会考虑相互影响的,因此总会存在下列情况。     因此从Unreal的角度出发,如何来实现大地形。Unreal默认就提供了可以根据多张切好的高度图来生成大地形的工具,我们可以借用这个工具,让Houdini直接输出切好的地形高度图即可实现。     Houdini这一侧的做法,如下图所示,如要注意的如下: 采用heightfield_output节点作为输出 保证输出的图片的格式是Unreal可以读取的高度图格式,也就是单通道的16比特浮点数据 对高度图做切分,但是一定要保证切分的高度图之间的TilePverlap数值为1 得到的文件效果图,注意这里的自动命名正好是Unreal可识别的命名方式。       …

All Unreal Engine 4

Unreal 编辑器扩展

    UI系统区分     UMG,虚幻运动图形界面设计器(Unreal Motion Graphics UI Designer) 一个可视化的UI创作工具,用来创建UI元素,如游戏中的HUD、菜单或其它界面相关元素。 设计器(Designer)选项卡允许界面和基本函数的可视化布局 图表(Graph)选项卡提供所使用控件背后的功能。 可以暴露于BP     Slate ,虚幻引擎中的自定义用户界面系统。 主要用于编辑器的实现 在游戏中也可以使用 只能应用于C++   …

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):对于优化包含精细内部空间的大型室外关卡非常有用。当室内空间小到可被视为不重要时,可以剔除它们。用法: …