地形创建

Raw图片格式是Unity可以导出的图片格式

Unity很强大,可以直接使用psd文件

地形创建实例

1.创建Unity工程和文件目录
1:创建一个地形Terrain: GameObject---> 3D Object-->Terrain;
2: 这个节点包含了两个组件,Terrain和Terrain Collider;
3: Terrain Collider 地形与物理引擎方面的组件,实现了地形的物理模拟,似的其他的挂载了物理碰撞器的物体能够与地形进行物理交互;
4: Terrain Collider的参数含义:
  Material: 该地形的物理材质, 通过改变参数可以分别开发出像戈壁滩,软草地之类的效果;通过Create---->Physical Material来创建材质
  Terrain Data: 地形数据,用户存储该地形的地势以及其他的信息;
  Enable Tree Colliders: 开启树木参与碰撞检测;
5: Terrain 组件中有一排按钮分别对应了地形引擎的各项操作和设置;

地形高度的编辑

Raise And Lower Terrain(拉高和拉低地形)

1: Brushes: 画笔样式,使用不同样式绘制对应的地形;
2: Brush Size: 画笔大小,其实际含义为画笔直径长度,单位为m;
3: Opacity: 画笔透明度,值越大,调整的强度越大,反之越小;
4: 点击和拖动鼠标可以使得鼠标点过的地方突起,拖动的同时按下shift,可以实现下凹的功能;
5: 没有经过操作的是没有办法拉低的,水平面是动不了的;

Paint Height(绘制地形高度)

1: Brushes: 画笔样式。使用不同的画笔样式,可以绘制出相应样式的地形;
2: BrushSize: 画笔的大小长度为米为单位;
3: Opacity: 画笔的透明度,值越大,调整的强度越大,反之越小;
4: Height: 制定高度值;
5: Flatten: 使得整个地形的高度值都设置为指定的高度值,使得整个上移和下沉;

Smooth Height(平滑地形高度)

1: Smooth Height:在处理过程中某些地形比较突兀,山峰过于锐利,需要对地形做平滑处理
2: Brushes: 画笔样式。使用不同的画笔样式,可以绘制出相应样式的地形;
3: BrushSize: 画笔的大小长度为米为单位;
4: Opacity: 画笔的透明度,值越大,调整的强度越大,反之越小;

地形灰度图和导入地形高度图

1: Unity将内置的地形引擎将地形的高度信息以灰度的形式保存到一张灰度图里面;

2: 优点:   (1)存储空间小; (2) 和其他的地形工具配合使用;

3: 灰度图的使用:

(1) 打开Photoshop, 设置图片的宽度为33x33(1 + 32 * x, 当x = 1时为33);

(2) 制作高度图片后,将图片保存为Raw的格式;

(3) 点击上图所示按钮Terrain Setting---->Heightmap---->Import Raw,导入生成的Raw格式的灰度图terrain.raw(第59),查看效果;

(4) 也可以把当前的地形导出高度图给其他的人使用Terrain Setting---->Heightmap---->Export Raw;

地形纹理绘制

Paint Texture(绘制地形纹理)

1: 设置好地形的贴图,画笔经过的地方,都会将纹理贴到对应的地形上;

2: Brushes: 画笔样式;

3: Textures: 可绘制的纹理;

4: BrushSize: 画笔大小;

5: Opacity: 画笔透明度,值越大调整的强度就越大,反之越小;

6: Target Strength: 画笔涂抹的强度值,改值得范围为0~1,代表了地形原来的混合比例;

7: Unity也支持psd图片的格式(Photoshop的源文件格式),打包的时候会生成图片。方便了开发;

  要使用外界的地形纹理

    a.导入纹理贴图文件CliffAlbedoSpecular.psd和GrassFrond01AlbedoAlpha.psd到res文件夹下

    b.点击Paint Texture下的Edit Textures---->把psd图直接拖进框框里面

    c.新加入的纹理可以绘制地形

Place Trees(种树)

1: 可以通过涂画的方式来对树木进行种植,只要提供单个树目,就可以铺设;

2: Place Trees 参数:

Trees: 树木对象的预制体对象,可以网上下载或者导入自带的Environment资源包,然后Edit Trees管理预制体,这里只能是添加树的预制体;

Brush Size: 画笔大小,单位为米;

Tree Density: 植树密度,每次植树时参生树木的棵数;

Tree Height: 树木的高度,可以指定也可以随机分配;

Lock Width to Height: 是否锁定横纵比例,保持原始高度;

Tree Width: 树木的宽度。

Place Details(植草)

1: 功能与Place Trees相似;

2: Place Details 参数:

Brushes: 画笔样式;

Brush Size: 画笔大小,单位为米;

Details: 纹理对象列表,可以点击Edit Details管理,这里是添加草的纹理,也可以添加草的网格。

Opacity: 画笔的透明度, 值越大,强度越大;

Target Strength: 画笔的涂抹强度,该值的范围为0~1。

地形设置
TerrainSettings

1: Draw: 是否显示地形;
2: PixelError: 像素误差,地形的绘制精度,值越大细节越少;
3: Base Map Dist 基础图距, 当与地形距离超过该值时,则以低分辨率来显示,就是摄像头近的时候地形网格变密集,远的时候网格变稀疏,等于这个距离参数;
4: Cast Shadows:是否进行阴影投射;
5: Materials: 材质类型:标准Standard,漫反射Diffuse,高光Specular,自定义Custom(自己指定材质);
6: Reflection Probes: 反射探头的类型:关闭Off,Blend Probes混合探头,Blend Probes And Skybox混合以及天空盒探头,Simple一般;
7: Tickness:物理引擎中该地形可碰撞的厚度;
8: Draw: 是否显示花草树木;
9: Bake Light Probes For Tree: 烘培光照探头到树木上;
10: Detial Distance: 细节距离,与相机间的细节可见的距离值,超过这个值摄像机不显示到屏幕;
11: Collect Detail Patches: 进行细节补丁的收集;
12: Detail Density: 细节的密度程度;
13: Tree Distance: 树木的可视距离;
14: Billboard Start: 标志板的起点,以标志版形式出现的树木与摄像机的距离;标志版就是只拿一个纹理贴图,没有Mesh网格,但是它永远正对摄像机,看起来就像3D物体一样,既达到效果,又提高性能。
15: Fade Length: 渐变长度;
16: Max Mesh Trees:允许出现的网格类型的树木的最大数量;
17: Speed: 风吹过草地的风速;
18: Size: 模拟风能影响的范围;
19: Bending:草被风能吹弯的程度;
20: Grass Tint: 草地总着色量的值;
21: Terrain Width/Height/Length 地形的宽度/高度/总长度;
22: Heightmap Resolution地形灰度值(高度)的精度;
23: Detial Resolution: 细节精度值,越大,细节越精细;
24: Detial Resolution per patch: 每小块地形设置的精度值;
25:Control Texture Resolution: 将不同的纹理插值绘制到地形上时设置的精度值;
26: Base Texture Resolution:在地形上绘制基础纹理时采用的精度值;

27:Heightmap:导入地形和导出地形

关于Unity中地形的创建的更多相关文章

  1. GJM : 【技术干货】给The Lab Renderer for Unity中地形添加阴影

    感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...

  2. 给The Lab Renderer for Unity中地形添加阴影

    The Lab Renderer for Unity是Valve针对VR在Unity的体验渲染器,提高VR的渲染效率,更多的大家可以查相应资料,在这,说个The Lab Renderer for Un ...

  3. Unity中创建二维码

    在网络上发现了一个可以把字符串转换成二维码的dll,但是我们要怎么使用他呢.不废话,直接进入主题. 用到的引用 using UnityEngine;using ZXing;using ZXing.Qr ...

  4. 在Unity中创建可远程加载的.unity3d包

    在一个Unity项目中,发布包本身不一定要包括所有的Asset(译为资产或组件),其它的部分可以单独发布为.unity3d,再由程序从本地/远程加载执行,这部分不在本文讨论范围.虽然Unity并没有直 ...

  5. Unity中一键创建常用文件夹

    Unity中一键创建常用文件夹 说明 项目测试版本Unity5.3. 这个一个小工具:功能非常简单,就是一键给新建工程添加所有文件夹.到此结束. 但是具体咋操作呢? 与把大象装进冰箱一样,三步,下载代 ...

  6. 在Unity中创建攻击Slot系统

    http://www.manew.com/thread-109310-1-1.html 马上注册,结交更多好友,享用更多功能,让你轻松玩转社区. 您需要 登录 才可以下载或查看,没有帐号?注册帐号  ...

  7. Unity中动态创建Mesh

    什么是Mesh? Mesh是指的模型的网格,3D模型是由多边形拼接而成,而多边形实际上又是由多个三角形拼接而成的.即一个3D模型的表面其实是由多个彼此相连的三角面构成.三维空间中,构成这些三角形的点和 ...

  8. 【Unity】4.1 创建组件

    分类:Unity.C#.VS2015 创建日期:2016-04-05 一.简介 组件(Component)在Unity游戏开发工作中非常重要,可以说是实现一切功能所必需的. 1.游戏对象(Game O ...

  9. 关于Unity中GrabPass截屏的使用和Shader的组织优化

    GrabPass截屏 可以用来截屏,截屏后把纹理传给下一个通道使用. 1:使用抓屏通道, GrabPass {} 或 GrabPass { “ 纹理名称”}; 使用GrabPass {}后,可以用_G ...

随机推荐

  1. 基于ASP.NET MVC的ABP框架入门学习教程

    为什么使用ABP 我们近几年陆续开发了一些Web应用和桌面应用,需求或简单或复杂,实现或优雅或丑陋.一个基本的事实是:我们只是积累了一些经验或提高了对,NET的熟悉程度. 随着软件开发经验的不断增加, ...

  2. 如何高效的学习 TensorFlow 代码? 以及TensorFlow相关的论文

    https://www.zhihu.com/question/41667903 源码分析 http://www.cnblogs.com/yao62995/p/5773578.html 如何贡献Tens ...

  3. linux怎么关闭iptables linux如何关闭防火墙

    Linux系统下面自带了防火墙iptables,iptables可以设置很多安全规则.但是如果配置错误很容易导致各种网络问题,那么如果要关闭禁用防火墙怎么操作呢,咗嚛本经验以centos系统为例演示如 ...

  4. ny525 一道水题

    一道水题时间限制:1000 ms  |  内存限制:65535 KB 难度:2描述 今天LZQ在玩一种小游戏,但是这游戏数有一点点的大,他一个人玩的累,想多拉一些人进来帮帮他,你能写一个程序帮帮他吗? ...

  5. cocos2dx-lua class解析

    function class(classname, super) local superType = type(super) local cls --如果父类既不是函数也不是table则说明父类为空 ...

  6. 网摘Android调用WebService

    这边特别注意调用的.net WCF 接口的绑定方式.以前一直用的wxHttpbinding,一直连不上.改成BasicHTTPbinding就能连上了 上篇文章已经对Web Service及其相关知识 ...

  7. 在IIS7上部署aspx网站

    在IIS7上部署aspx网站 2016-12-06 1 示例代码 WebForm.aspx内容: <html> <head> <script language=" ...

  8. java 泛型详解-绝对是对泛型方法讲解

    Reference:  http://blog.csdn.net/s10461/article/details/53941091 1. 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模 ...

  9. Inner Functions - What Are They Good For?

    Referece: https://realpython.com/blog/python/inner-functions-what-are-they-good-for/ Let’s look at t ...

  10. ThinkPHP使用Smarty

    ThinkPHP支持多种php模板引擎,可以根据个人需要加以配置. 第一步: 首先去Smarty官网上下载一个Smarty. 第二步: 解压压缩包,会有两个文件夹:demo和libs.打开libs文件 ...