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. Mac 开发者设置强迫症

    Latest commit 2461787 on Mar 1 原文链接 强迫症的 Mac 设置指南 如何配置一个高效的 Mac 工作环境 English Version Table of Conten ...

  2. 使用xshell远程登录ubuntu使用vi编辑不能使用删除键方向键

    近期安装了xshell,远程登录上ubuntu后,在插入模式下,按删除键没有任何反应,按方向键分别打印出A.B.C.D,每个字符一行. 这是因为ubuntu初始化安装的是vi的tiny版本,解决办法安 ...

  3. 用js实现预览待上传的本地图片

    js实现预览待上传的本地图片,代码如下: <form name="form5" id="form5" method="post" ac ...

  4. JavaScript实时显示当前时间的例子

    用javascript代码在当前页面中实时显示当前时间.代码如下: <html> <head> <title>JavaScript 实时显示当前时间-www.jbx ...

  5. Wireshark分析网络慢

        tcp.analysis.retransmission tcp.flags.reset==1

  6. 每日英语:Apple's Latest iPhone Puts Focus Back on Fingerprint Security

    Apple's latest product launch could breathe new life into a technology that failed to take hold the ...

  7. 10、Windows10 上,在窗口左侧向右滑动打开 SplitView 的 Pane面板

    昨天想在 uwp 上实现,在 SplitView 控件的左侧,通过手指滑动打开 SplitView 的 Pane 面板, 而不仅仅是通过 “汉堡按钮” 点击打开. 在 stackoverflow 看到 ...

  8. 发布了listener报404

    我刚才发布了这么一个listener package org.lxh.listenerdemo ; import javax.servlet.http.* ; public class HttpSes ...

  9. mysql show variables

    1. back_log 指定MySQL可能的连接数量.当MySQL主线程在很短的时间内得到非常多的连接请求,该参数就起作用,之后主线程花些时间(尽管很短)检查连接并且启动一个新线程. back_log ...

  10. C#委托举例

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...