游戏场景中不仅有各个游戏对象以及相应的建筑物,其中各式各样的地形也是令人身入其中。
本文尝试在Unity3D编辑器中进行地图编辑的学习,来搭建一个工厂场景,有山,有水,有树,有草,有建筑。
为了方便地形编辑,Unity官方提供了标准的资源包:
Assets → Import Package → Environment 导入环境资源包
Environment属于Unity所提供的标准资源包, 但如果没有可以去官网下载
下载地址为 http://unity3d.com/cn/get-unity/download?ref=personal
导入到自己的项目中去,Assets/Standard Assets文件夹提供了标准的Assets:
在层次面板中执行菜单Asset->3D Object->Terrain,点击后会创建一个地形
点击Terrain,在inspector视图中点击设置按钮,可以设置很多它的属性,例如Terrain Width(地形宽度),Terrain Length(地形长度),Terrain Height(地形高度)
在设置的左边有很多按钮,下面一个个来介绍下:
首先介绍第二个按钮 Paint Height (绘制高度)
这个按钮是用来改变地形高度的
Brushes下面的图形是笔刷形状
Settings下面可以设置Brush Size(笔刷大小),Opacity(透明度),Height(高度)
高度的旁边有一个Flatten按钮,点击后会一下子把地形全部提高到设置的高度,为后续提供方面
重要:将地形的高度抬高是为了使地形上可以往下刷深度,从而制造湖泊之类的地形
现在我们介绍第一个按钮:Raise/Lower Terrian(地形升降)
第一个按钮是让部分地方隆起或凹陷
按住Shift键刷就会凹陷(Lower),不按就是隆起(Raise)
可以使用不同的画刷绘制各种地形,隆起的部分就是山脉,凹陷的就是湖泊
接下里我们是用第三个按钮:Smooth Height(平滑高度)
第三个按钮可以柔化地形的高度差,让山脉看着平滑一些然后我们通过第四个按钮:Paint Texture(绘制纹理) ,为地形放上点击Edit Textures按钮,选择Add Texture,在弹出的对话框中单击Albedo(RGB)中的Select按钮
然后就会弹出选择纹理的对话框:
选中这个纹理,通过画笔在地形部分刷上该纹理
在我们下载的Environment资源包中有一个叫SpeedTree资源,里面包含树木和植被的一些预制体
按照上面的步骤再添加Palm_Desktop的树木:
接下来,添加草地,点击倒数第二个按钮:Paint Details(绘制细节单击 Edit Details按钮,选中Add Grass Texture....(跟前面一样),选中GrassFrond02AIbedoAlpha
在Add Grass Texture中把Min Width设置为0.3,Max Width设置为0.5,Min Height设置为0.3,Max Height设置为0.5(根据需要设置),单击Add,完成添加
然后通过左键点击Terrain添加草地,Shift+左键可以去除草地
注意:考虑到性能消耗问题,unity默认设置,调试模式下草地在超出一定高度后就无法看到,但是最终作为游戏运行时是可以看到的,效果图:
接下来添加水的效果,创造湖泊
Water(Basic)->Prefabs,其中有两个水效果的预制体,将WaterBasicDaytime拖到地形的大坑中,名字改为Water
创建光源,光源是场景的重要组成部分。光源决定了场景环境的明暗、色彩和氛围。合理使用光源才可以创造出完美的视觉效果
因为场景中有一个默认的方向光源就够用了,所以无需添加其他光源
可以把需要的外部模型导入到场景中,调整在地形上合适的位置,如厂房、烟囱、油桶等等...
此时,运行游戏,恭喜你,做出了一个能漫游操作的游戏,WASD前后左右,鼠标控制方向。
最终我做的效果图:
好像有模有样的,作为入门地形编辑学习,仅供参考,当然一个完整的游戏,还需要好多东西需要去做。
参考:https://www.cnblogs.com/nicopoiduang/p/8179935.html