关于Unity中地形的创建
地形创建
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中地形的创建的更多相关文章
- GJM : 【技术干货】给The Lab Renderer for Unity中地形添加阴影
感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...
- 给The Lab Renderer for Unity中地形添加阴影
The Lab Renderer for Unity是Valve针对VR在Unity的体验渲染器,提高VR的渲染效率,更多的大家可以查相应资料,在这,说个The Lab Renderer for Un ...
- Unity中创建二维码
在网络上发现了一个可以把字符串转换成二维码的dll,但是我们要怎么使用他呢.不废话,直接进入主题. 用到的引用 using UnityEngine;using ZXing;using ZXing.Qr ...
- 在Unity中创建可远程加载的.unity3d包
在一个Unity项目中,发布包本身不一定要包括所有的Asset(译为资产或组件),其它的部分可以单独发布为.unity3d,再由程序从本地/远程加载执行,这部分不在本文讨论范围.虽然Unity并没有直 ...
- Unity中一键创建常用文件夹
Unity中一键创建常用文件夹 说明 项目测试版本Unity5.3. 这个一个小工具:功能非常简单,就是一键给新建工程添加所有文件夹.到此结束. 但是具体咋操作呢? 与把大象装进冰箱一样,三步,下载代 ...
- 在Unity中创建攻击Slot系统
http://www.manew.com/thread-109310-1-1.html 马上注册,结交更多好友,享用更多功能,让你轻松玩转社区. 您需要 登录 才可以下载或查看,没有帐号?注册帐号 ...
- Unity中动态创建Mesh
什么是Mesh? Mesh是指的模型的网格,3D模型是由多边形拼接而成,而多边形实际上又是由多个三角形拼接而成的.即一个3D模型的表面其实是由多个彼此相连的三角面构成.三维空间中,构成这些三角形的点和 ...
- 【Unity】4.1 创建组件
分类:Unity.C#.VS2015 创建日期:2016-04-05 一.简介 组件(Component)在Unity游戏开发工作中非常重要,可以说是实现一切功能所必需的. 1.游戏对象(Game O ...
- 关于Unity中GrabPass截屏的使用和Shader的组织优化
GrabPass截屏 可以用来截屏,截屏后把纹理传给下一个通道使用. 1:使用抓屏通道, GrabPass {} 或 GrabPass { “ 纹理名称”}; 使用GrabPass {}后,可以用_G ...
随机推荐
- Atitit 转移特效attilax总结
Atitit 转移特效attilax总结 总结一般从按钮,转移到大点的方框上回比较好看点.. <!--jq ui--> <style type="text/css" ...
- remoting生命周期
https://www.cnblogs.com/luomingui/archive/2011/07/09/2101779.html
- sql索引唯一
alter table et_tb_1111 add constraint tbunique unique (itemid) alter table 表名 add constraint 约束名 uni ...
- FlexPaper:使用flash在线展示pdf
WFTools工具包中的PDF2SWF工具可用来将PDF格式文件转换成SWF格式.使用下面的命令可以将pdf文件转换为单页swf文件. pdf2swf pdfPath –o swfPath –T ...
- 深入浅出HTTPS基本原理
基础知识准备:在了解HTTPS的基本原理之前,需要先了解如下的基本知识. 一.什么是HTTPS,TLS,SSL HTTPS,也称作HTTP over TLS.TLS的前身是SSL,TLS 1.0通常被 ...
- Fluent UDF【2】:学习途径
要怎样做才能做到无畏惧编写任何UDF程序?估计很多与UDF打交道的人都会问到这个问题. 面对UDF文档中那众多的宏描述,小伙伴们是不是感觉到茫然无措,不知从何入手.有时候读别人写好的程序感觉并不难,然 ...
- 【设计模式】装饰器模式与Java Servlet、Spring Session在其中的使用
简述 装饰器模式,可以通过装饰器类,通过依赖原实现的方式(不使用继承),达到扩展原实现的目的.UML图如下: ServletRequestWrapper于其中的使用 ServletRequestWra ...
- 【嵌入式】bootloader,linux,filesystem的烧写
平台: 深圳市优龙科技有限公司的FS2410(基于ARM9) 准备: 1.用串口(UART1,J8)线与PC机相连,这个是用来传输数据和显示信息的 2.连接USB数据下载线(usb device),注 ...
- hive内部表、外部表、分区
hive内部表.外部表.分区 内部表(managed table) 默认创建的是内部表(managed table),存储位置在hive.metastore.warehouse.dir设置,默认位置是 ...
- CentOS 6.5 yum安装mysql5.6或其他版本【默认yum只能安装mysql 5.1】 by jason
by jason [备份配置文件] CentOS 6.5 默认yum只能安装mysql 5.1 安装前要检查机器原来是否安装过mysql,如有安装需要先进行数据备份.清理. [root@snails ...