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 Landscape TextureArray 分析

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