Unity3D教程:设置地形(Terrain)

Posted on 2013年04月18日 by U3d / Unity3D 基础教程 /被围观 1,901 次

新建地形:

在菜单中新建一个地形。

Unity3D教程:设置地形(Terrain)

会看到Terrain对象。如果要修改地形参数,可以在Terrain菜单下的SetResolution中设置。

Unity3D教程:设置地形(Terrain)

如上图所示。地形的参数设置:

TerrainWidth:全局地形总宽度。其单位为Unity统一单位-米。

TerrainHeight:全局地形允许的最大高度,单位为Unity统一单位。

TerrainLength:全局地形总长度,单位为Unity统一单位。

Heightmap Resolution:全局地形生成的高度图的分辨率。

Detail Resolution:全局地形所生成的细节贴图的分辨率,所以数字越小性能越好。但是质量也要考虑。

ControlTestureResoulution:全局把地形贴图绘制到地形上时所使用的贴图分辨率。

BaseTextureResoution:全局用于远处地形贴图的分辨率。

Unity定制地形:如果有美术人员制作好的高度图。那么可以直接导入,但是Unity仅支持.RAW格式。图像大小要求是2的幂。导入方法:Terrain-〉Import Heightmap-Raw。选中需要的资源后。会弹出如下属性设置框:

Unity3D教程:设置地形(Terrain)

Depth:由文件格式来设置,8位或者16位。

Width:高度图的宽度,根据图像本身大小获得。

Height:高度图的高。

ByteOrder:根据文件格式来设置。Mac或者Wndows。使用这个文件编码时所用的顺序。

TerrainSize:这里是TerrainSet Resoulution的选项。如果觉得高度图和地形大小差别太大。可以由此调整。

Unity绘制地形:

在Hierarchy面板中选中地形。在Inspector中查看信息,以下7个横排按钮就是绘制地形工具。

Unity3D教程:设置地形(Terrain)

PaintTexture功能从左往右依次是:提高和降低高度[此功能配合Shift可以是地形瞬间平整],绘制目标高度,平滑高度,绘制地形,绘制树木,绘制花草,设置。

Brushes区下包含各种样式的笔刷,可以用来控制贴图,地形风格。

Details区下表示笔刷设置,可以通过Edit Details添加笔刷材质。BrushSize:用来控制笔刷大小,Opacity用来控制贴图使用的纹理的透明度,或者说浓度。TargetStrength用来调整目标强度。强度越小,那么贴图纹理所产生的影响越小。

使用系统自带的材质为地形贴图:

1.Create  Terrain后,在Project面板右键ImportPackage-〉TerrainAssets[该包含有树木绿草资源],在Hierarchy面板中选中Terrain。

2.在Inspector面板中的Terrain下选择笔刷。点击EditTexture。选中Add Texture。

3.弹出框中选择Splat后边的圆圈。

Unity3D教程:设置地形(Terrain)

4.弹出材质列表,选择其中之一。再看地形,就贴上材质了。第一次是完全覆盖,以后的导入的材质不再覆盖首次的材质,根据画笔控制进行材质覆盖。

添加树木:

选择树木按钮。点击Edit Tress。和添加地形贴图一样选择树木。再次在地形上点击。你的蓝色覆盖区域都将种上树木。

关于Tree的Settings参数详解:

BushSize:笔刷的半径。以地形单位米计算。

TreeDensity:树木密度。值越大树木越多。

ColorVariation:每棵树的颜色所能够使用的随机变量值。

TreeHeight:树的基准高度。

Variation:树高的随机变量。

TreeWidth:树的基准宽度。

Variation:输的宽度随机变量。

添加绿草:

以下3项都是地形基本渲染设置。

PixelError:像素误差,较高的之可能渲染较快,但是贴图可能不是非常精确。

BaseMapDist:贴图到摄像机的距离超过这个值,就会让地形贴图以低分辨率显示。

Castshadows:让地形产生阴影。比如山峰产生的阴影。

以下6个参数为树木或者细节对象渲染参数设置。

Draw选项表示是否渲染除地形以外的对象。当你在也做好各种物体的地形上需要调整地形时候,这个非常有用。

DetailDistance:当到摄像机超过这一距离,细节玩个停止显示。

DetailDenstiy:详细密度。更细小的渲染粒度。

TreeDistance:当到摄像机的距离超过该值,树木停止显示。

BillboardStart:当到摄像机的距离超过该值,树木以广告牌形式开始显示。

FadeLength:树木从网格过渡到广告牌的距离。

MaxMeshTrees使用网格形式进行渲染的树木最大数量。

以下4项为风力设置为主。

Speed:风吹过草地的速度。

Size:同一时间收到风影响的草的数量。

Bending:草跟随风进行弯曲的强度。

GrassTint:对于地形上使用的所有草和细节网格的总体渲染颜色。

unity3D绘画手册-----地形及术语解释的更多相关文章

  1. unity3d绘画手册-------地形各个参数解释

    关于Unity3D是什么.我就不多做解释了.由于工作原因,该系列原创教程不定期更新.每月必然有更新.谢谢各位. Unity地形:: 新建地形: <ignore_js_op> 如图在菜单中新 ...

  2. unity3d绘画手册-------地形高度调节

    高度 所有地形 (terrain) 编辑工具的使用都很简单.您可以在场景视图 (scene view)中逐步绘制地形 (terrain).对于高度工具和其他所有工具,您只需选中工具,然后在场景视图 ( ...

  3. unity3d绘画手册-------灯光之反射及各个参数解释

    下面说一下Reflection Probe, 大家都知道:当使用标准着色器时,每一个材质都会具有一定程度的镜面反射(specularity)和金属反射 (metalness)属性,在没有强大的硬件来处 ...

  4. Spring AOP术语解释

    话说,越来越感觉有些人解释概念真的是晦涩难懂,我刚开始学习Spring aop时,对那些切入点,连接点,引入等概念搞得头疼.太多人就直接照搬定义,让我们这些初学者如何理解啊.下面是我找了大量的博客,终 ...

  5. k8s~术语解释

    文章参考:https://www.kubernetes.org.cn 简介 Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简 ...

  6. 【SSO单点系列】(6):CAS4.0 单点流程序列图(中文版)以及相关术语解释(TGT、ST、PGT、PT、PGTIOU)

    CAS 相关的内容好久没写了,可能下周会继续更新一些内容吧. 在上一篇中的单点流程序列图由于是从官网直接下载来的,上面都是英文,可能有的朋友看不懂,因此修改成中文的. PS:只修改了一个,第二个图明天 ...

  7. 【java】 field 和 variable 区别及相关术语解释

    Having said that, the remainder of this tutorial uses the following general guidelines when discussi ...

  8. Listening-lecture|主旨题|术语解释|举例原则|Crash course 哔哩哔哩

    Listening-lecture: Major topic: SP1---detail---detail---detail SP2---detail---detail---detail Crash ...

  9. 图像处理术语解释:什么是PRGBA和Alpha预乘(Premultiplied Alpha )

    ☞ ░ 前往老猿Python博文目录 ░ Alpha预乘(Premultiplied Alpha)和PRGBA 一般来说四通道图像数据保存的都是ARGB或RGBA,其R.G.B值还没有进行任何透明化处 ...

随机推荐

  1. python标准库介绍——19 mmap 模块详解

    ==mmap 模块== (2.0 新增) ``mmap`` 模块提供了操作系统内存映射函数的接口, 如 [Example 2-13 #eg-2-13] 所示. 映射区域的行为和字符串对象类似, 但数据 ...

  2. java 随机日期

    java 在某个范围日期内获取一个日期,再以这个日期作为开始日期,获取到随机n天后的日期 /** * 在beginDate和endDate之间获取一个随机日期作为开始日期 * @param begin ...

  3. 《Effective Java》读书笔记三(类和接口)

    No13 使类和成员的可访问性最小化 要区别设计良好的模块与设计不好的模块,最重要的因素在于,这个模块对于外部的其他模块而言,是否隐藏其内部数据和其他实现细节.模块之间只通过它们的API进行通信,一个 ...

  4. Oracle学习笔记之八(几条简明的优化SQL方法)

    1. 常规SQL语句优化 1.1 建议不用“*”来代替所有列名 SELECT语句中可以用“*“来列出某个表的所有列名,但是这样的写法对Oracle系统来说会存在解析的动态问题.Oracle系统会通过查 ...

  5. 成员函数的重载&amp;&amp;隐藏&amp;&amp;覆盖

    /* *成员函数的重载,覆盖,隐藏 *重载: *1.同样的范围(在同一个类中) *2.函数名同样 *3.參数不同 *4.virtualkeyword可有可无 *覆盖是指派生类覆盖基类的函数,特征是: ...

  6. jQuery $.extend()使用方法

    $.extend()使用方法总结. jQuery为开发插件提拱了两个方法,各自是: jQuery.fn.extend(object); jQuery.extend(object); jQuery.ex ...

  7. Let's call it a "return"

    Preface Long time no see. For some reason that I failed to keep updating this blog, which is really ...

  8. Memory Analyzer tool(MAT)分析内存泄漏---理解Retained Heap、Shallow Heap、GC Root

    Shallow Heap Size 指对象自身所占用的内存大小,不包含其引用的对象所占的内存大小. 1.数组类型 数组元素对象所占内存的大小总和. 2.非数组类型 对象与它所有的成员变量大小的总和.当 ...

  9. shell echo -n md5sum使用方法

    #!/bin/bash MYSQL='mysql -u*** -p*** -hws5 account' tmp="tmp" resultsource="resultsou ...

  10. linux环境变量设置 以及 source命令 Linux 之 /etc/profile、~/.bash_profile 等几个文件的执行过程 Linux 设置环境变量

    定制环境变量  环境变量是和Shell紧密相关的,用户登录系统后就启动了一个Shell.对于Linux来说一般是bash,但也可以重新设定或切换到其它的Shell.环境变量文件:/etc/profil ...