关于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 ...
随机推荐
- android使用百度地图SDK 去掉百度Logo的小技巧
// 隐藏logoView child = mMapView.getChildAt(1); if (child != null && (child instanceof ImageVi ...
- IBAction:IBOutlet:注意事项
1.IBAction: 1> 能保证方法能够连线 > 相当于void 2.IBOutlet: 1> 能保证属性能够连线 3.常见错误 setValue:forUndefinedKey ...
- tengine 增加ngx_http_cache_purge_module 模块
wget http://labs.frickle.com/files/ngx_cache_purge-2.1.tar.gz tar zxvf ngx_cache_purge-2.1.tar.gz -- ...
- # tail -f /var/log/zabbix/zabbix_agentd.log sudo: sorry, you must have a tty to run sudo
/etc/sudoers 1)Defaults requiretty,修改为 #Defaults requiretty,表示不需要控制终端. 2)Defaults requiretty,修改为 Def ...
- centos 7 五笔安装
# yum install ibus ibus-table-wubi 需要重启动
- 【嵌入式】S3C2410平台移植linux 2.6.14内核
小续 第一次接触内核的东西,有点小激动啊 激动归激动,这实验还是要继续做下去,书上三两句话就带过去的,剩下的就留给我们了,着实考验动手能力啊 当编译过内核之后,发现这个过程也不复杂嘛(复杂的是内核的配 ...
- 关于事件冒泡和键盘事件 以及与Angular的区别
一.事件冒泡 方法一.使用event.cancelBubble = true来组织冒泡 <div @click="show2()"> <input type=&q ...
- 如何在一张ppt中插入多张图片并能依次播放
我们在做ppt的过程中,有时遇到在一张ppt中插入多张图片还想让其能依次播放的情况,针对上述情况我们可以根据下列步骤进行设置.(新手必看) 1.首先,用鼠标点击桌面Microsoft PowerPo ...
- js 将数字转换成人民币大写的方法
//将数字转换成人民币大写的方法 var digitUppercase = function (n) { var fraction = ['角', '分']; var digit = [ '零', ' ...
- 分布式唯一id生成器的想法
0x01 起因 前端时间遇到一个问题,怎么快速生成唯一的id,后来采用了hashid的方法.最近在网上读到了美团关于分布式唯一id生成器的解决方案, 其中提到了三种生成法:(建议看一下这篇文章,写得很 ...