学习笔记适合新手,如有错误请指正。?号处也请各位指点下,谢谢。
在Project视图中点击鼠标右键》Import Package》Environment,弹出资源导入窗口
点击Import按钮,导入环境资源宝
点击导航菜单栏》GameObject》3D Object》Terrain菜单项创建地形
在Scene视图中通过鼠标滚轮调整视距,按住鼠标右键进入观察模式,在该模式下用鼠标调整视角,键盘WASD移动
升降地形工具
选中地形工具栏中的第一栏Raise/Lower Terrain即可看到地形升降工具
Brushes:笔刷区域,选择笔刷的形状
Settings:这只区域,设置参数
Brush Size:笔刷的尺寸
Opacity:变化的力度,在地形升降工具表示升降的幅度
按住Shift键在点击鼠标左键,可以下降地形
绘制高度工具
地形工具栏中第二栏Paint Texture,该工具可以将笔刷覆盖的区域设定为指定高度
Settings中多了一个Height属性,表示将要绘制的高度,将Opacity设置为100,Height设置为120,然后在空白区域绘制
平滑地形工具
选中地形工具栏中的第三栏Smooth Height,该工具主要是用来平滑笔刷区域内的地形
绘制地形工具
选中地形工具栏中的第四栏Paint Texture,点击Edit Textures按钮,在下拉菜单中点击Add Texture
Diffuse(RGB):图
Normal:法线贴图
Size:贴图在地形中尺寸大小,该值越大,贴图在地形中越被拉伸
Offset:贴图的其实偏移
这里我们只选贴图,其他参数为默认即可,点击Texture栏中的Select按钮,选中之前添加的环境宝中的GrassHillAlbedo贴图,点击Add按钮,Inspector窗口中的Terrain栏
放置树木工具
选中地形工具栏中的第五栏Place Trees放置树木工具,点击Edit Tree按钮,在下拉菜单中点击Add Tree按钮,弹出下图,添加树木界面,可以看到参数Tree Prefab,顾名思义就是所要放置的树木预制体
接着点击Tree栏,最后侧的圆形小按钮,选中之前添加的地形包中的预制体,点击Add按钮,Inspector窗口中的Terrain栏
接着将Brush size笔刷尺寸设置为1,绘制一棵树
Mass Place Trees:当有多棵树木是随机放置树木
Brush Size:笔刷的尺寸
Tree Density:放置树木的密度
Tree Height:树木的高度,当勾选Random时,该栏右侧盒相拖动跳决定了高度,盒相拖动跳的左顶点决定树木的最小高度,右侧决定了最大高度,当不勾选Random时,高度为0.02至2之间的一个数值,根据该数值对树木模型沿Y轴放大或者缩小,拖动横向拖动条左右两个半圆形按钮设定区域
Lock Width to Height:勾选表面树木的宽度对应高度,不用再设置,当不勾选Random时,可以通过Tree Width设置树木的宽度
Tree Width:树木的宽度,当勾选Random时,该栏右侧横向拖动条决定了高度,横向拖动条的左顶点决定树木的最小高度,右侧决定了最大高度,右侧决定了最大高度,当不勾选Random时,高度为0.02至2之间的一个数值,工具该数值对树木模型沿着Y轴放大或者缩小
Color Variation:颜色变化,改这为0时,树木的颜色不会变化,当值为1时,颜色会有明显的明暗变化,设置笔刷尺寸为10,数的密度为100,数的高度为1,宽度为一个值域,颜色变为0,在Scene中放置一片树木,按住Shift键清楚掉这片树木,将颜色变化设置为1,在放置一片树木,有了颜色的变化,看起来真实的多,没有单调的感觉了
Random Tree Rotation:数是否沿着Y轴随机旋转后摆放
绘制细节工具
绘制花草之类的细节
地形工具栏中的第六栏Paint Detail绘制细节工具,点击Edit Details按钮,在下拉菜单汇总点击Add Grass Texture按钮,添加树木界面,接着点击Detail Texture栏最右侧的圆形小按钮,选中指点添加地形宝中的Grass贴图,点击Add按钮
Min Width、Max Width、Min Height、Max Height这4个参数是设置花草从最小宽度、最大宽度、最小高度和最大高度,花草丛的宽高会在最大最小值之间随机分布,unity采用了Pelin noise的早点方式来实现随机分布,这种方式会根据花草在场景中的水平位置,也就是X轴Z轴的位置来取值,好处是这种随机不是完全随机的而是一种平滑随机,而Noise Spread就是随机的变化程度,值得注意的是,当Noise Spread为0时,没有随机,草丛的宽高分别为各自的最大值
Healthy Color和Dry Color分别代表哦花草健康的颜色和干枯的颜色,一般来说草丛的内侧比较健康发绿,而外侧则干枯而发黄
Billboard用于设置是否应用广告牌效果(Billboard Effect),当不勾选该项选项时,草丛的旋转角度是固定的,在某些角度,我们看到的是草的侧面,而失去了应有的效果
当勾选该选项时开启了广告牌效果,该效果主要是用花草贴图做出一张张置于地形表面的面片,而这些面片一直面向屏幕,从而不用复杂的模型即可实现逼真的草丛效果,这种永远面向摄像机的面片技术就叫做广告牌效果
另外一种谢姐处理方式Add Detail Mesh的实现方法与此类似
地形参数设置
选中地形工具栏的最后一栏Terrin Settings地形参数设置工具
Pixel Error:像素容差,在显示地形网格时准许的错误数量,这个其实是一个LOD配置
Base Map Distance:基本地图距离,在搞分辨率下地图贴图的距离
Cast Shadows:投影,控制是否投影
Material:渲染地形所使用的材质,如果留空,则使用默认材质,该材质应当使用合适的Shader,如“Nature/Terrain/Bumped Specular”
Physics Material:物理材质,用于地形表面定义其摩擦力和弹性
Draw:绘制,如果选中,所有的树、草和细节模型将被画上去
Bake Light Probes For Trees:为树烘焙Light Probe光照探针
Detail Distance:细节距离,当细节与摄像机的距离大于等于该值,细节将不被显示
Collect Detail PatChes:收集细节斑点
Detail Density:在单位区域内细节/草的数量上限,可以设置小的数值减少渲染损耗
Tree Distance:树的距离,当树与摄像机的距离大于等于该值,树将不被显示,值越高,更远的树将被显示
Billboard Start:开始公告板,当树与摄像机的距离大于等于该值,树将显示为公告板而不是模型
Fade Length:退变距离,树从公告板过度到模型的四元素的总距离差值
Max Mesh Trees:网格树上限数,在地形上种的所有模型树的总数量上限
Speed:风吹过草时的速度
Size:风影响草的面积
Blending:草被风吹时的弯曲程度
Grass Tint:所有草和细节模型整体的色调量
Terrain Width:地形宽度,设置地形在X轴方向的宽度
Terrain Length:地形长度,设置地形在z轴方向的长度
Terrain height:地形高度,设置地形在y轴方向的高度
Heightmap Resolution:高度分辨率,地形高度图的分辨率(值必须是2的N次方加1,如513=512+1)
Detail Resolution:细节分辨率,绘制细节工具所产生的贴图记录图的分辨率,该值越高细节越细致,但同时空间占用也越大
Detail Resolution per Patch:细节分辨率,某长宽的一片细节在一个Draw call内渲染
Control Texture Resolution:控制贴图分辨率,Splat纹理混合贴图的分辨率
Base Texture Resolution:基本贴图,当与摄像机距离达到Basemap Distance距离后,贴图的分辨率
Import Raw:导入Raw文件
Export Raw:导出Raw文件