AlgebraMaster

Modern C++ 创造非凡 . 改变世界 一起铲除毒瘤KPI

导航

Houdini Vulkan HeightBlend 高度混合 Indexmap

区分概念:

1. 高度混合 heightblend,看youtube

2. weightmap 混合,看youtube

 

 

直接看源码:

长时间制作地图,我决定贡献出关于地形shader相关流程,Houdini+Shader源码。

除了普通的indexmap流程之外,我还加入了一个srv: 路的uv,可以让路直接粘在地形上。不用任何RVT

 

实现上如果是商业引擎:如unreal,由于不能实时多点采样idmap(unreal默认是垃圾weightmap,而且一米一格,这是unreal最失败的地方,但是如果你有能力改C++除外) ,离线把weightmap->idmap,有点损失。

但不重要,如果有需要,我可以给出如何转IdMap,而且可以自由选择多少层混合。

 

 

GITHUB链接:gearslogy/LLVK_Beginning: Learn Vulkan from scratch

 

 

 

1. 程序化Mask: Houdini制作

2. 手刷Mask:要有一定手段与程序化Mask切换

3. Shader上要注意 ,不要按照unreal一层一层盖起来那个方法,那个采样爆炸。手机仅仅支持最大16次

 

假设我们制作16层地表,如果传统的unreal模式盖的方法是千万不可取。

 

案例如下:

1. 基础地表全部编码到R

2. 第二层编码到G

 公路我们再输入一张SRV,确保公路粘在地面上

IndexMap采样是一次性的,必须避免马赛克,特别是低分辨率的IndexMap。所以材质中必须有扰动机制 

 

 

 

 

几个很牛逼的参考:

REF this:

https://www.youtube.com/watch?v=z_D4zyoNz1k&list=PLKsROLEao_D5IYwcsd7tw6gViopm6pNo7

OR:

https://youtu.be/kzthHcbG9IM?t=972

 

 

为了更快得看到算法结果。我还给Houdini做了一套texture array流程

 未插值得效果:

image

 

 插值结果

image

 

 

 

后:

曾经有个工作室做什么都想1天搞定一些技术,而且不尊敬技术,搞别人心态得工作室。 我就不点名了。

为了逼员工KPI简直跟畜生一样

posted on 2025-06-29 18:54  gearslogy  阅读(111)  评论(1)    收藏  举报