Unity之地形的构建

PS:公司没活干,好无聊偷偷摸鱼学Unity,害怕自己学完之后忘记,写下这一篇博客
网上也看到这样一句话,工作中干活是与工资进行等价交换,只有上班摸的鱼才叫赚钱,如果你是在上班时间看到这篇博客说明你正在赚钱(doge.jpg)

先来看一下效果图:有山有水有树有草地


创建一个新的Unity3D项目

这里要用到Unity官方的免费资源包(现在好像已经下架了百度网盘 请输入提取码

资源包下载完成之后我们导入新建好的Unity项目:

在项目这一栏里点击鼠标右键 ------> 导入包 ------> 自定义包,然后选择你下载资源包的路径就导入进来了。(这是汉化包的教程要对应你Unity版本进行安装unity3D【全版本】设置中文_unitu3d中文-CSDN博客

首先创建一个地形:在层级这一栏里点击鼠标右键可以创建各种实体,这里选择地形

在创建好的地形中点击选中它然后在检查器中会显示出对地形的操作和组件

对地形的绘制主要由这5个按钮来实现:

一、地形绘制最重要的五个按钮

第一个按钮是创建相邻地形,顾名思义就是在你已经创建好的地形旁边继续添加地形......目前来说一个地形这个已经够练手了

二、

第二个按钮是绘制地形:这一个操作栏下边有六个选项,我们这里先看四个。

2.1

先来选择第一个 ------ Raise or Lower Terrain(升高或降低地形) ------ 就是拿画笔在地形上绘制山脉和盆地;升高就是山脉,降低就是盆地,先升高后降低就是......没变(手动狗头) (升高直接鼠标左键绘制,降低需要按住Shift+鼠标左键来绘制)

注:这里的降低必须在地形有原有高度的基础上来降低

下边还有笔刷、笔画大小、不透明度

尽情绘制吧:

2.2

来看第二个:Paint Holes ------ 它的主要功能是在绘制好的山上进行山洞的绘制,现在的绘制只是单纯的给山戳个洞,想要变得更好看你还需要山洞的资源包模型(然鹅我现在也没有^_^)

2.3

第三个:Paint Texture我们稍等再说。先说第四个:Set Height

你这里设置了想要的高度再去绘制的时候所绘制的高度就不会超过你所设定的高度,效果如下所示:

这里还有一个测量高度的操作,在你的地形里按住 Shift+鼠标点击 会获取你当前所点击地形的高度, 然后数值就会显示在高度里边。

通过这个Set Height设定你还可以为地形创建初始厚度。在高度里输入100,点击 展平瓦片 ,这样就设定了100米厚的地形,然后你就可以挖100米深的盆地了,这个和上面的 "" 相对应

​ 展平瓦片 只会展平一块地形,如果你还创建了其他相邻的地形 点击 全部展平 那其他地形也会展平。


如果你想要你所绘制出来的山脉盆地表面平滑一些,那么 Smooth Height 可以帮到你

勾选后设置好笔刷等属性值去抹平就完事了

2.4

绘制好你想要的效果后这下我们来看 Paint Texture ,给地形装上纹理

点击编辑地形层 ------ 创建层,从我们导入的资源包中选择纹理,然后给地形绘制上吧

我这里用的三个地形层的素材名称是:NewLayer 3、NewLayer 4、NewLayer 6

这里地形层可以添加好几个,添加的第一个地形层会自动给整个地形加上该地形层,其他地形层需要手动绘制;这里同样可以调节画笔大小和不透明度。

现在离效果图只差树和草了我们一起说完:主要是通过这两个按钮下边的功能实现的。

操作方法和给地形加纹理类似,首先要导入树和草的资源素材。 树的素材名:Conifer_Desktop

编辑树 ------》 添加树 ------》 选择树素材

​编辑

大量放置树 这个按钮可以设定树的数量直接放置,此外还有树的密度、树高和随机性等属性

草的素材名是:GrassFrond02AlbedoAlpha

编辑细节 ------》 添加草纹理 ------》选择草素材

草离近了才能显示出来 ------ 真.编辑细节。

绘制好树和草就能达到效果图所展示的内容了

下一步要去学习组件和Unity脚本的编写了,拜拜┏(^0^)┛ ​

相关推荐
Thomas_YXQ13 天前
Unity3D项目为什么要使用FairyGUI
开发语言·unity·游戏引擎·unity3d·游戏开发
nicepainkiller13 天前
Flutter 内嵌 unity3d for android
flutter·unity3d
Thomas_YXQ1 个月前
Unity3D ngui和ugui区别与优缺点详解
服务器·游戏·unity·unity3d·游戏开发
Thomas_YXQ1 个月前
Unity3D Lua如何支持面向对象详解
开发语言·游戏·junit·性能优化·lua·unity3d
Thomas游戏开发1 个月前
Unity3D 逻辑服的Entity, ComponentData与System划分详解
前端框架·unity3d·游戏开发
大眼睛姑娘1 个月前
unity运行状态下移动、旋转、缩放控制模型
unity3d
lin zaixi()2 个月前
手把手教你写Unity3D飞机大战(2)天空盒布置
unity3d
Thomas_YXQ2 个月前
Unity3D中管理Shader效果详解
开发语言·游戏·unity·unity3d·游戏开发
羊羊20352 个月前
线性代数:Matrix2x2和Matrix3x3
线性代数·数学建模·unity3d
天人合一peng2 个月前
Unity hub登录时一直无法进入license
unity3d