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.
效果图: