在unity内置的地形中使用凹凸贴图

Hi All:  
   在 unity 中使用凹凸贴图没有办法实现,这一直都是很多 unity 用户抱怨的事情了。下面我就展示一下我们对于这个问题的解决方案吧!请你下载下面的一个 zip 文件,在这个 zip 文件中,有 2 个东西:一个是着色器文件、另外一个是 C# 脚本( C# 脚本的作用就是向 shader 发送 bump map 数据的)
  下面我介绍一下使用方法:把C#脚本附加到你的地形对象上面,使之成为一个地形的组件。同时用zip文件中的shader文件去替换asset文件中内置的shader文件。完成了上面的步骤之后,那么你最好还是重新启动一下unity,因为这样你添加的shader文件才能真正意义上替换内置的shader文件。

    准备工作做好了,那么现在来讲讲重点:C#脚本提供了4个凹凸贴图接口, 这些槽分别对应4张地形纹理

另外你还要针对每一张凹凸贴图设置大小,同时这个设置的大小还要和地形纹理的大小一样。最后你还要注意的设置每一张图片的高光级别。


     由于C#脚本中的功能都完全集成到unity 表面着色器上了,所以它会正确的影响到全部的light、shader等等。他同时也提供了一种向内置着色器发送纹理和数据的手段。

注意:凹凸贴图不会对底图对有任何影响的,因此你需要对底图的距离和高度进行设置.

     需要者留下mail.


  效果图:


你可能感兴趣的:(unity3d,地形系统)