Unity之地形引擎

地形引擎

Unity拥有功能完善的地形编辑器,支持以笔刷绘制的方式实时雕刻出山脉、峡谷、平原、高地等地形。Unity地形编辑器同时提供了实时绘制地表材质纹理、树木种植、大面积草地布置等功能。还支持LOD(Level of Detail)功能,能够根据摄像机的与地形的距离以地形起伏程度调整地形块网格的疏密程度。远处或平坦的地形块使用稀疏的网格,近处或陡峭的地形块使用密集的网格。这将使游戏场景即真实、精细,同时也不影响性能。

地形与其他的游戏对象有些不同,需要注意的是,地形支持Transform(几何变换)组件中的Position(位置)变换,但对于Rotation(旋转)以及scale(缩放)操作是无效的。

1.地形的创建

  (1)启动Unity编辑器,点击菜单栏上的GameObject->3D Object->Terrain,如下所示。

(2)创建完成后,在检视视图以及工程视图中便能发现会多出一个创建出来的地形文件,在检视视图中会有相应地形的组件,如图所示。

创建后的一个简单地形如图所示。

2.地形组件

   新建地形后,在检视视图中可以看到地形对象所挂载的组件,除了组件外,还有一个Terrain(地形)组件以及一个Terrain Collider(地形碰撞)组件。

Terrain组件包含7个按钮,每个按钮都是一个不同的工具,这些工具可以用来绘制地形起伏、地表纹理或附加细节如树、草或石头等。

其中,前三项为高度绘制,如下。

为Raising/Lowering Height(升高/降低高度)按钮,该工具在使用时会根据笔触的设置升高或降低地形单机鼠标会增加高度,保持鼠标按下状态移动鼠标会不断的升高高度直到达到高度的最大值。降低高度需要按住Shift键在单机鼠标。

为Pain Height(喷涂高度)按钮,该工具用于用户指定一个高度,然后移动地形上任意部分达到这个高度,一般用于绘制平整的高地或峡谷等地形。

为Smoothing Height(平滑高度)按钮,该工具用于柔化绘制的区域高度差,使地形的起伏更加平滑。

在Pain Height模式下会有一个Height选项用于指定绘制高度的的数值,取值范围在0至地形最高值之间(按住Shift键配合左键可获取到笔刷所在地形的相应位置的高度,并将获取的值作为笔刷Height的值)。

而一块地形上,也有很多不同的纹理,地形,我们可以使纹理绘制工具进行纹理的绘制。

为Paint Textures,绘制纹理,该按钮用于绘制地形纹理,与高度绘制按钮一样,他也有自己的笔刷。但纹理绘制按钮还提供了纹理的编辑修改添加功能,只要选中已经添加好的纹理就可以在地形上进行绘制了,一般,第一个纹理会填充所有的地形。

为植被、花草,在这里设置好树木花草的纹理之后就能在地形中绘制出来了。

猜你喜欢

转载自blog.csdn.net/qq_42261990/article/details/89370554