Unity3D学习笔记(三)为地形添加花草树木
来源:互联网 发布:中文域名怎么用 编辑:程序博客网 时间:2024/06/08 01:15
上一篇笔记记录了如何在引擎中建立一个地形,并赋予其山脉、道路、还有光照。并利用Unity内置的素材包,创建一个第一人称控制器来漫游整个游戏场景。本篇将继续介绍地形相关要点,为游戏场景添加地形细节,即那些花花草草。最后再介绍一个官方地形工具的使用,给山脉做一下“美容”。
选中层次面板中的Terrain对象,检视面板中就出现了熟悉的地形工具栏。这次使用的是第六个“地形细节画刷”工具。其实这个工具跟第四个“地形画刷”工具很类似,只要点击”Edit Details(编辑细节)→Add Detail(添加细节纹理)”,在弹出的对话框中添加对应的细节纹理,之后按老方法将细节涂抹到地形上就可以了。同样也能添加多种细节纹理,让地形显得更丰富一些。
简单起见我只添加了Unity自带素材包里的两种草皮细节纹理,分别是Grass和Grass2。选中其中任意一个纹理,就可以像地形画刷一样在地形上绘制草地了,并且可以按住Shift删除已涂抹到地形上的草地。设置参数也很简单,用“Brush Size”调整画刷大小,用“Opacity”和“Target Strength”调整每次绘制草皮的密度。
有点要注意的是,如果设计视图里的视野太远,则会导致看不到绘制上去的地形细节,此时必须拉近视野。但是有时候的确需要宏观地绘制草皮,这个问题目前还困扰着笔者,如果你有相应的解决方案,欢迎留言指正。
第五个工具用于放置树木,使用方式大同小异,添加树木然后绘制即可,就不赘述了。不过添加树木对话框中有个“Bend Factor(弯曲参数)”,表示树木收到风力影响时的弯曲程度,可以按默认设置。另外树木工具的参数比其他工具多了几项,下面罗列一下详细说明。
Brush Size:画刷大小 之前打过很多次交道了,用于控制放置树木时画刷的大小。
Tree Density/Width/Height:树木密度/宽度/高度 顾名思义,他们决定了放置树木时树木的宽度、高度,以及树木之间的密度。
Color Varation:颜色变量 这个值越大,每个树的颜色差别就越大。
Varation:变量 同样是变量,只不过这个用来控制每棵树的宽度、高度差别比率。
经过这么一折腾,只剩地形工具栏最后一个按钮啦,点进去乍一看参数还蛮多@_@。不过这点小菜已经无法阻止我们探索的脚步了~且听我细细道来:
Base Terrain(基础地形设置)
Pixel Error(地形像素容差) 这个容差的值越小,生成的地形就越平滑。如果把镜头对着山峰,把它从默认的5拖动到最大,可以发现山峰会出现明显的棱角。
Base Map Dist.(地图贴图距离) 为了减少性能消耗,在镜头远处的地形贴图看起来会不清晰。调整这个距离可以让该范围内的地形贴图不做精简。
Cast shadows(是否产生影子) 勾选这个选项可以让地形产生影子,但试了下貌似没反应-_-。
Tree&Detail Object(树木与细节对象设置)
Draw(是否绘制地形细节) 如果取消这个选项,地形细节将全部都不显示,花草树木什么的都看不见啦
Detail Distance(细节距离) 当地形细节物体离镜头超过这个距离时,就不会被绘制在屏幕上。
Detail Density(细节密度) 默认为1,如果把这个值调小,过密的地形细节将会不被绘制。比如用地形画刷涂一坨的草,可能显示的就只有几根。
Tree Distance(树木距离) 类似细节距离,超过这个距离的树木不会被绘制在屏幕上。
Billboard Start(公告板起始?)
Fade Length(渐隐长度)
Max Mash Trees(最大树木网格数) 好吧,这三个实在没搞清楚是干嘛用的,度娘谷歌也不告诉我。
Wind Settings(风力设置)
Speed(风速) 亲自动手测试运行过游戏的同学肯定会发现,刷上去的草皮是会有随风波动的效果的,调节这个参数可以影响草摇动的速度。
Size(大小)
Bending(弯曲程度) 其实就是草摆动的幅度。
Grass Tint(草皮染色) 这个功能挺有意思的,如果你观察过田野或者草原,一定会发现当清风吹拂的时候,植物会高低起伏,就好像海浪一样。并且摇曳的花草会在两种颜色中不断变换。修改这个参数,可以让草地的颜色随着摇摆而变化,具体的感觉上还是有点难以形容,可以手动尝试一下:)
呼,总算把地形工具写完了,有几项参数不是很明白,希望在之后的练习中能逐渐理解。如果看官明白其中要理,还望指点一二,不要“微微一笑”才好^_^。随着更深入的学习,游戏里的世界已经慢慢变得丰富多彩了,待下一章再来记录一下天空盒和镜头光晕的使用。
作者:黄旭杨 http://huangxuyang.cn/archives/21
选中层次面板中的Terrain对象,检视面板中就出现了熟悉的地形工具栏。这次使用的是第六个“地形细节画刷”工具。其实这个工具跟第四个“地形画刷”工具很类似,只要点击”Edit Details(编辑细节)→Add Detail(添加细节纹理)”,在弹出的对话框中添加对应的细节纹理,之后按老方法将细节涂抹到地形上就可以了。同样也能添加多种细节纹理,让地形显得更丰富一些。
简单起见我只添加了Unity自带素材包里的两种草皮细节纹理,分别是Grass和Grass2。选中其中任意一个纹理,就可以像地形画刷一样在地形上绘制草地了,并且可以按住Shift删除已涂抹到地形上的草地。设置参数也很简单,用“Brush Size”调整画刷大小,用“Opacity”和“Target Strength”调整每次绘制草皮的密度。
有点要注意的是,如果设计视图里的视野太远,则会导致看不到绘制上去的地形细节,此时必须拉近视野。但是有时候的确需要宏观地绘制草皮,这个问题目前还困扰着笔者,如果你有相应的解决方案,欢迎留言指正。
第五个工具用于放置树木,使用方式大同小异,添加树木然后绘制即可,就不赘述了。不过添加树木对话框中有个“Bend Factor(弯曲参数)”,表示树木收到风力影响时的弯曲程度,可以按默认设置。另外树木工具的参数比其他工具多了几项,下面罗列一下详细说明。
Brush Size:画刷大小 之前打过很多次交道了,用于控制放置树木时画刷的大小。
Tree Density/Width/Height:树木密度/宽度/高度 顾名思义,他们决定了放置树木时树木的宽度、高度,以及树木之间的密度。
Color Varation:颜色变量 这个值越大,每个树的颜色差别就越大。
Varation:变量 同样是变量,只不过这个用来控制每棵树的宽度、高度差别比率。
经过这么一折腾,只剩地形工具栏最后一个按钮啦,点进去乍一看参数还蛮多@_@。不过这点小菜已经无法阻止我们探索的脚步了~且听我细细道来:
Base Terrain(基础地形设置)
Pixel Error(地形像素容差) 这个容差的值越小,生成的地形就越平滑。如果把镜头对着山峰,把它从默认的5拖动到最大,可以发现山峰会出现明显的棱角。
Base Map Dist.(地图贴图距离) 为了减少性能消耗,在镜头远处的地形贴图看起来会不清晰。调整这个距离可以让该范围内的地形贴图不做精简。
Cast shadows(是否产生影子) 勾选这个选项可以让地形产生影子,但试了下貌似没反应-_-。
Tree&Detail Object(树木与细节对象设置)
Draw(是否绘制地形细节) 如果取消这个选项,地形细节将全部都不显示,花草树木什么的都看不见啦
Detail Distance(细节距离) 当地形细节物体离镜头超过这个距离时,就不会被绘制在屏幕上。
Detail Density(细节密度) 默认为1,如果把这个值调小,过密的地形细节将会不被绘制。比如用地形画刷涂一坨的草,可能显示的就只有几根。
Tree Distance(树木距离) 类似细节距离,超过这个距离的树木不会被绘制在屏幕上。
Billboard Start(公告板起始?)
Fade Length(渐隐长度)
Max Mash Trees(最大树木网格数) 好吧,这三个实在没搞清楚是干嘛用的,度娘谷歌也不告诉我。
Wind Settings(风力设置)
Speed(风速) 亲自动手测试运行过游戏的同学肯定会发现,刷上去的草皮是会有随风波动的效果的,调节这个参数可以影响草摇动的速度。
Size(大小)
Bending(弯曲程度) 其实就是草摆动的幅度。
Grass Tint(草皮染色) 这个功能挺有意思的,如果你观察过田野或者草原,一定会发现当清风吹拂的时候,植物会高低起伏,就好像海浪一样。并且摇曳的花草会在两种颜色中不断变换。修改这个参数,可以让草地的颜色随着摇摆而变化,具体的感觉上还是有点难以形容,可以手动尝试一下:)
呼,总算把地形工具写完了,有几项参数不是很明白,希望在之后的练习中能逐渐理解。如果看官明白其中要理,还望指点一二,不要“微微一笑”才好^_^。随着更深入的学习,游戏里的世界已经慢慢变得丰富多彩了,待下一章再来记录一下天空盒和镜头光晕的使用。
作者:黄旭杨 http://huangxuyang.cn/archives/21
0 0
- Unity3D学习笔记(三)为地形添加花草树木
- Unity3D学习笔记(三)为地形添加花草树木
- unity3dz学习笔记(三) 为地形添加花草树木
- unity3d 学习笔记(二) 创建地形
- Cesium学习笔记(三)地形
- unity3d之地形设置(补充碰撞,绘制公路,树木创建器)
- Unity3D学习笔记(二)创建地形和漫游
- Unity3D学习笔记(二)创建地形和漫游
- Unity3d学习之树木编辑器
- 【Unity3d学习笔记】基本游戏地形
- Unity3D开发:为地形添加水源和效果
- Unity3D开发:为地形添加水源和效果
- unity3d 学习笔记(三)
- Unity3d学习 制作地形
- Unity3D学习之树木的创建
- Unity3D学习笔记之五为Prefab添加材质
- Unity3D学习笔记之八为场景添加细节(一)
- Unity3D学习笔记之九为场景添加细节(二)
- eventfd - create a file descriptor for event notification
- ComponentName知识
- HTML::Entities 编码或解码 HTML 实体的字符串
- Swoole介绍-真正的PHP Web开发框架
- ios-NSString总结
- Unity3D学习笔记(三)为地形添加花草树木
- unity 多线程处理
- 使用maven创建web项目
- Django 模板
- 利用Quart2D作一些简单的图形
- FFMPEG 处理RTMP流媒体的命令大全
- TD udate
- redis日志出现Can't save in background fork Cannot allocate memory
- 右滑返回上一个界面FDFullscreenPopGesture