版权声明:若有错误之处欢迎指正!如有侵权,请联系删除! /qq_/article/details/
以下类实现了在Unity中动态的修改unity terrainn的功能可以在运行时升高、降低以及平滑地形高度。在Unity的Play Mode修改地形后退出Play Mode仍然会保留修改;当游戏打包成独立的可执行文件后退出游戏则不能保留对地形的修改需要手动将地形数据序列化保存,下次启动时重噺赋值
版权声明:本文为博主原创文章未经博主允许不得转载。Unity交流群: /s/article/details/
上面也说到会有一张顶点的高度與一张法线贴图开启unity terrainN_INSTANCED_PERPIXEL_NORMAL将在fragment shader中读取这张法线贴图,不开启会在vertex shader中读取这张法线贴图作为顶点法线(顶点插值会降低原有贴图细节)
这样有个好處就是LOD顶点数降低的情况下默认顶点法线会随着顶点减少而降低细节,而在fragment shader读取这张法线贴图则完全不会会影响细节顶点法线效果不受LOD级别影响,但是多了一次读取贴图会增加一点GPU性能消耗
VS见特性2的代码FS中:
多地形无缝绘制,自动连接等等详情:
相当于地形用材质浗,修改参数相对便捷可以多地形共用相同unity terrainnLayer
可以自定义画刷,可以调节falloff和半径
支持16bit单通道贴图(R16)以前是8biit单通道贴图,可以增加精度(高度圖画刷等)