【unity3D】unity3D地形编辑器—Terrain

💗 未来的游戏开发程序媛,现在的努力学习菜鸡
💦本专栏用来记录我最近的游戏开发的学习
🈶本篇是unity3D地形编辑器—Terrain

一、总体介绍

1.基本信息

进入Unity3D,点击“GameObject”→“3D Object”→“Terrain”菜单创建一个地形
在这里插入图片描述
选中Terrain游戏对象,其属性面板中会出现Terrain组件和Terrain Collider组件,如图。前者负责地形的基本功能,后者充当了地形的物理碰撞器。Terrain Collider组件属于物理引擎方面的组件,实现了地形的物理模拟计算。
在这里插入图片描述

2. 一些快捷键

  • 点击F1-F6,可以切换这六个选项
    在这里插入图片描述

  • 点击" , “(逗号)和” . "(点),可以左右循环切换笔刷。
    在这里插入图片描述

  • 点击" < “和” > " ,可以在树木、纹理和细节的可用对象之间左右循环切换。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 点击F键,快速的将视角拉到鼠标悬停的地方
    在这里插入图片描述
    在这里插入图片描述

二、Raise/Lower Terrain 升高或降低地形

在这里插入图片描述
可以调整地形的凹凸程度,以笔刷的方式设置地形的坡度。
Brushes栏下有各种各样的笔刷样式,笔者可以根据开发需要选择不同的笔刷样式。

属性含义
Brush Size笔刷大小,含义为笔刷的直径大小,单位为米
Opacity笔刷的强度值,该值越大,制作地形时,地形变化的幅度越大,反之则越小

注:通过点击和拖动鼠标,可以使鼠标点过的地方凸起,同时按下“Shift”键可以实现下凹的功能。需要注意的是,进行下凹的操作时,不能使地形水平面低于地形最小高度。即地形创建时的初始高度是地形的最低限制,之后的操作不能使地形低于该高度。

三、Paint Height 刷出特定高度

在这里插入图片描述
可以固定高度,设置一个固定值,笔刷刷过的区域,高于该高度的地形降低,低于该高度的地形升高。可以使用 Height 属性滑块手动设置高度,也可以按住 Shift 键单击某处地形对此处的高度进行采样(类似于ps中的“吸管”工具)。

1.使用 Height 属性滑块手动设置高度:

这是一块不平的地形
在这里插入图片描述
将height设置为50,并用笔刷刷这块地形,高于50的降低,低于50的升高
在这里插入图片描述

2.按住 Shift 键单击某处地形对高度进行采样:

还是那块地形,在中间某处进行采样(点击之后,旁边的Height值的显示会变成此处的高度)
在这里插入图片描述
然后用笔刷刷这块地形,高于此处的降低,低于此处的升高
在这里插入图片描述

四、Smooth Height 平滑高度

在这里插入图片描述

不会显著提高或降低地形高度,而是对附近区域进行平均。这软化了景观,减少了突然更改的外观,有点像ps中的模糊工具。

五、Paint Texture 绘制纹理

在这里插入图片描述

1.基本信息

属性含义
Brush Size笔刷大小,含义为笔刷的直径大小,单位为米
Opacity笔刷的强度值
Target Strength笔刷的涂抹强度值,代表的是与地形原来纹理图的混合比例值

2.添加贴图

Unity游戏开发引擎中的标准资源包。在游戏资源列表中右击→Import Package→Environment导入环境资源包(这里有问题的看这篇博客的结尾)
在这里插入图片描述
然后添加贴图(图上有的贴图是我之前添加的)
在这里插入图片描述
在Add Terrain Texture面板中,可以通过点击Select按钮添加普通贴图和法线贴图,Metallic值来调整纹理图的明暗程度
在这里插入图片描述

点击Select,在弹出的Select Texture2D面板中选择合适的纹理图或者是法线贴图
在这里插入图片描述

Target Strength我没有完全理解,但我做了一下实验,在保持Brush Size和Opacity不变的情况下,将Ta它的数值分别设为0.2,0.5,0.8,1.0,结果如图,仅供参考
在这里插入图片描述

六、Paint Trees 画树

在这里插入图片描述

1.基本信息

属性含义
画笔尺寸控制可向其添加树的区域的大小。
树木密度控制绘制到画笔大小所定义区域上的树的平均数量。
树木高度使用滑块控制树的最小高度和最大高度。向左拖动滑块表示短树,向右拖动滑块表示高树。如果取消勾选随机,则可以指定 0.01 到 2 范围内所有新绘制的树的高度的确切比例。
根据高度锁定宽度默认情况下,树的宽度锁定为其高度,以便树始终均匀缩放。但是,您可以禁用“将宽度锁定为高度”选项并单独指定宽度。
树木宽度如果树的宽度未锁定到其高度,则可以使用滑块控制树的最小宽度和最大宽度。
颜色变化树颜色的深浅,数值越小,颜色越浅,数值越大,颜色越深。

2.添加树

在这里插入图片描述
在这里插入图片描述

七、Paint Details 绘制细节

在这里插入图片描述

1.基本信息

和Paint Texture 绘制纹理的一样,可以补博客中Paint Texture 绘制纹理的部分。

2.添加草和其他细节

添加草:
在这里插入图片描述
在这里插入图片描述
Noise Spread:控制草地健康和枯萎色块的交替情况,值越高表示给定区域内的变化越大。交替的草地斑块在中心比在边缘更“健康”,健康/干燥颜色设置通过其颜色显示草丛的健康状况。

Billboard:启用后,草地图像将旋转,以便它们始终面向照相机,当您想要显示密集的草地时,此选项可能很有用,因为不可能看到侧面的团块。


添加其它细节和草的流程基本一样。

七、Terrain Settings 地形设置

在这里插入图片描述
(这部分我确实没用到,查资料的时候也有些地方没有看懂,所以这部分就不写了,等以后再来补)

八、资源导入部分

💔只是我遇到的一点问题,同样有这个困扰的可以看一下。

这其实是这次地形制作花费我时间最长的部分,我们上课时用的是2018.2.0版本的unity,但商城最低版本的资源包是2018.4.0的,并且2018.2.0版本以下的,可以在官网下载资源包。2018.2.0的,在官网和商城都没能下载到资源包,本来一个很简单的导入部分,成功的困住了我。

尝试了很多种办法,最后得出的解决方法:
在这里插入图片描述
下载2018.1.7的Standard Assets。


💗打卡记录一下,这是我截止到现在,2022.09.11,写博客花费时间最长,写的内容最多的一次。
写了有一段时间博客了,学一个新的知识点,解决一个新问题需要花费时间,但把知识点写出来,把个问题记录下来,写成博客,更是花费了几倍的时间。但我写下来的部分我确实记的更牢!!


希望我记录下来的东西,也可以帮助到看到这篇博客的你💖
💦更多内容请前往主页置顶或点击链接直达:【unity3D】游戏开发专栏的目录

  • 20
    点赞
  • 102
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
### 回答1: Unity提供了导出地形高度图和细节对象的功能,以方便在其他软件中使用或与其他软件进行交互。具体步骤如下: 1. 创建地形:首先,在Unity中创建一个地形,可以使用Unity地形编辑器来调整地形的形状、高度、纹理等。 2. 导出地形高度图:在完成地形编辑后,可以将地形的高度图导出为图片文件。在地形编辑器中,点击“导出”按钮,选择一个保存路径,并命名输出高度图文件。 3. 导出细节对象:Unity还支持导出地形上的细节对象,如树、草、岩石等。在地形编辑器中,点击“导出”按钮,在弹出的导出选项窗口中选择导出细节对象,并选择一个保存路径和输出文件名称。 4. 导出文件使用:导出的高度图可以在其他软件中使用,如Photoshop、Maya等,用于进一步编辑或与其他地形生成工具配合使用。导出的细节对象可以在Unity中重新导入,或在其他软件中使用,如3D建模软件、渲染器等。 总结:Unity提供了便捷的地形导出功能,可以将地形的高度图和细节对象导出为文件,方便在其他软件中进行进一步编辑和使用。这为地形设计和制作提供了更多的灵活性和创造力。 ### 回答2: Unity是一款强大的游戏开发引擎,支持创建多样化的地形。除了用于游戏开发外,Unity还允许将创建的地形导出为独立的对象。 在Unity中,首先需要创建地形。可以使用Unity自带的Terrain工具或借助其他插件来创建自己想要的地形,比如山脉、河流、平原等。创建好地形后,可以进行进一步的修改,如添加纹理、调整高度、设置植被等,以使地形更加逼真。 一旦地形制作完成,可以将其导出为独立的对象。在Unity中,可以使用TerrainToMesh工具将地形转换成网格对象。该工具能够将地形的高度图、纹理和植被转换为一个网格对象,这个网格对象可以导出为.obj或.fbx等格式,以供使用。 导出地形后,可以在其他3D建模软件中进行编辑或渲染,如Blender、3ds Max等。这样可以利用其他软件的强大功能对地形进行进一步优化和美化。 另外,Unity还提供了TerrainData.GetHeights和TerrainData.SetHeights等API,可以获取和设置地形的高度值,这使得在导出地形前可以对其进行进一步的修改和处理。 总结来说,Unity允许将创建的地形导出为独立的对象,导出后可以在其他软件中进行进一步编辑和渲染。这个功能方便了地形的后期处理和美化,同时也为开发者提供了更多的创作自由和可能性。 ### 回答3: Unity是一款强大的游戏引擎,提供了丰富的开发工具和功能,其中包括地形编辑器。在Unity地形编辑器中,我们可以创建和调整地形,添加纹理和树木,生成细节等。 要将Unity地形导出为对象,我们可以按照以下步骤进行操作: 1. 准备好需要导出的Unity地形。可以通过在地形编辑器中使用工具来调整地形的形状、高度和纹理等。 2. 在Unity中,可以使用脚本来编写导出地形的功能。首先,创建一个脚本,然后在脚本中编写代码来导出地形。可以使用Unity提供的API来获取地形数据,例如高度图和纹理数据。 3. 在脚本中,我们可以使用文件操作的方法将地形数据导出为对象。可以选择将整个地形导出为一个整体对象,或者将地形分割为多个小块并分别导出为对象。 4. 将导出的地形对象保存到合适的文件格式中。可以选择常见的3D模型格式,如OBJ、FBX等,或者自定义一种格式。保存地形数据的文件应包含地形的几何信息和纹理信息等。 5. 导出后,可以将生成的地形对象导入到其他的3D建模软件或游戏引擎中使用。在导入时,保留地形的纹理信息,并根据需要对其进行进一步编辑或渲染等。 总体而言,Unity提供了丰富的工具和API来进行地形编辑和导出。通过编写脚本,我们可以将Unity地形导出为对象,并在其他软件或游戏引擎中使用。这为我们的游戏开发和内容创作带来了更多的可能性和灵活性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猪肉丸子~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值