Unity3D自带功能:地形(Terrain)

Unity3D自带功能:地形(Terrain),第1张

Unity3D中的地形类似于Maya中使用置换贴图来变形高段数的多边形平面,其原理是自动创建一个中等多边形密度的mesh plane(多边形平面),然后指定一张16bit的灰阶图作为height map(高差图),并根据mesh各个顶点所对应的灰度数值沿着Y轴改变该顶点的高度,形成高低起伏的复杂地形。

Unity3D内置了一套简单的brush(笔刷)工具来方便用户对地形物体的编辑修改。

通过菜单 GameObject > 3D Object > Terrain 可以创建一个Terrain (地形)。

Terrain Settings是对Terrain整体的参数设置面板。

最上面的一排按钮分别用来对地形及植被进行“刷制”的工具面板切换,最右边的 Terrain Setting 面板是针对地形整体的设置,这里挑一些常用的重点的来讲:

按下鼠标左键开始提升地形高度,如果同时按住 shift 键,则降低地形高度直到0。

直接刷出特定高度,按住 shift 键获取某一点的高度。非常适合用来刷出非水平面高度的平整地形,比如山顶或山间的一块平整地面等等。同时如果场景中有水面,由于Terrain不能刷出水平面以下的地形(最低刷到水平面),可以首先将全部地形提升到一定高度,再将水域地形刷低。

相当于光滑笔刷工具

在地形表面上绘制贴图。

首先需要在Textures栏中点击 Edit Textures... ,再选择 Add Texture 以添加一层贴图。

在这个“添加地形贴图”面板中我们可以设置一张颜色贴图和一张法线贴图,并指定贴图的重复度。如果检测出颜色贴图含有Alpha通道,就会将这个Alpha通道与作为光滑度的贴图,否则就会出现一个Smoothness参数供我们调节这一层表面的光滑度,此外还提供一个Metallic参数供我们调节这一层表面的金属颜色。

这里的贴图都需要处理成无缝贴图,否则场景中会出现明显的接缝。贴图不需要特别大,因为重复度会被设置得比较高,通常512或者1024分辨率的贴图就可以了。

第一层贴图会默认覆盖整个地形区域,从第二层(从左往右)开始,添加好贴图以后需要在地形上刷出该层贴图的出现范围。

需要编辑各层的贴图设置只需点击 Edit Textures... > Edit Texture... ,需要删除贴图层就点击 Edit Textures... > Remove Texture 。

在地形上刷出树来。

按下鼠标左键开始刷树,按住 Shift 键再刷可以删除已经刷出来的树,按住 Ctrl 键再刷可以删除当前选择的特定类型的树。

在Trees栏点击 Edit Trees... ,再选择 Add Tree ,可以添加一个GameObject作为“树”。这个物体可以是任意GameObject,并不一定非要是Tree Object。

然后就可以用鼠标在地形表面“刷”出这类树来了,同时也会出现具体的Settings参数。

我们可以添加多种type的树,然后一层层刷出复杂的森林结构。

同样的,我们也可以点击 Edit Trees... > Edit Tree 给树更换GameObject,或点击 Edit Trees... > Remove Tree 删除某一层的树。

在地形上刷出细节物体,通常用来做草。

按下鼠标左键开始刷细节物体,按住 Shift 键再刷可以删除已经刷出来的细节物体,按住 Ctrl 键再刷可以删除当前选择的特定类型的细节物体。

在Details栏点击 Edit Details... ,再选择 Add Grass Texture ,打开Add Grass Texture面板设置新建“草贴图”的参数:

在Details栏点击 Edit Details... ,再选择 Add Detail Mesh ,打开Add Detail Mesh面板设置新建“细节面片”的参数:

首先,打开Unity3D软件,新建一个工程

点击“Hierarchy”视图的“Create”,在下拉框中选中“3D Object”-->“Terrain”

创建好地形后,可以看到“Scene”视图中有一个地形,也能看到右侧“Inspectors”视图中有很多关于地形的参数及其他信息。其中Position代表地形的位置,Rotation代表地形的旋转角度,Scale代表地形的缩放比例。

“Terrain”一栏中,前三个按钮分别代表绘制地形的高度、绘制地形的特定高度、绘制平滑地形,下方的Brushes是它们的画笔工具栏,画笔的形状及大小可以自由选择。

点击“Terrain”的第一个按钮,即绘制地形的高度,然后在“Brushes”中选择画笔。“Setting”中的”Brush

Size“代表画笔宽度的取值范围,“Opacity”代表画笔高度的取值范围。

点击“Terrain”的第二个按钮,即绘制地形的特定高度,可以看到“Setting”中多了一个“Height”,此时这才是地形的最大高度而不是“Opacity”。

点击“Terrain”的第三个按钮,即绘制平滑的地形,选好画笔,设置好参数后,便可以拖动鼠标在“Scale”视图中绘制平滑过渡的地形。,只要很多的灵活运用这几种工具就能很好的绘制出你想要的地形。

这只是个人看法,菜鸟在线竭诚为您服务。

打开unity,建一个项目,右键点击场景,然后下边有一个Game Object

选择3D,然后他的下拉列表里面有一个Terrain(地形),点击即可,紧接着就会在右侧的场景中看见有白色的长方形

在这时点击terrain,然后将右边的Inspector面板点出来,就会发现下边也有Terrain选项

图中使用红色标出来的是对地形进行上升,或者下降的 *** 作,点击上升,然后按住shift可以下降

第二个工具是固定高度的 *** 作,可以在height那边输入固定的值,然后点击flatten这样整个地形就可以变成固定的高度,

第三个工具是进行平滑 *** 作,可以看见下边的左右的对比图,原本是一样的陡峭,但是使用平滑的 *** 作之后,右边的山变的更加的光滑

第四个工具是地形贴图,如图所示,点击编辑贴图的时候会出现可使用的贴图供选择,选择好了之后点击Add即可,然后整个的地形就会发生改变,如图下

第五个工具是种树,首先编辑树,然后就显示了下面的界面,然后点击那和小齿轮(黄色的标注),然后选择一类树,添加即可。

鼠标点击开始种树,按住shift鼠标点击可以擦掉树,按住ctrl可以擦掉选择的那个类型的树

第六个主要是关于一些细节的调整,点击可以调整,和上面的使用方法一样

第七个是一个对于地形的整体调整,例如在下边的Resolution,你可以选择调整整个地形的大小


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11964743.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存