unity3d中地形的制作
2013-08-26 11:29
134 查看
Unity3D手册中介绍了两种地形制作方法: 一、在SceneView中使用height tools直接绘制 二、使用外部工具制作的heightmaps 直接绘制地形很简单,不过只适合小面积地图的制作,对于真实游戏项目来说,这样拉地形实在太复杂,一般我们都会使用外部工具,比如PS,比如max来制作高度图,然后导出为一张灰度图,在引擎中将其转换为地形。 Unity3D也支持了这种做法,即导入HeightMap的方式,不过对HeightMap的格式有一个限定,必须是16bit的RAW格式灰度图,但是除此之外手册中再没有更多的描述。 没关系,Unity3D提供了将地形导出为HeightMap的方法,我们可以做一张小地图将其导出来,看一看就知道了。 如下图所示,将地形长宽高都设定为2个单位,地形精度设定为33,这个数值是能够设置的最小值了。这样就表示在一个单位内会有17个高度值,即16条边。然后把这个地形导出为16bit Raw格式文件。
![](http://img66.ph.126.net/jqer9QxounFCcP68hAgCjw==/834291830972052501.jpg)
按照上面的数据,这个raw文件将会由33 * 33个16bit数据构成,所以文件大小应为 16 * 16 * 2 = 2178字节。导出来的文件也确实如此,证明我们的推断是正确的。 注意这里的Heightmap Resolution一定是2的n次幂加1,至于为什么会这样,找一个介绍HeightMap的文档看一下就明白了。 既然验证了我们的推断是正确的,那试着在PS中创建一张HeightMap放到Unity3D中看看。我们创建的HeightMap大小为129 * 129象素,如果我们让一个Unity3D单位由4个象素点构成,那么地图大小则为 (129 – 1) / 4 = 32,即32 * 32,高度值不需要太大,高为12就够了。
![](http://img66.ph.126.net/jqer9QxounFCcP68hAgCjw==/834291830972052501.jpg)
按照上面的数据,这个raw文件将会由33 * 33个16bit数据构成,所以文件大小应为 16 * 16 * 2 = 2178字节。导出来的文件也确实如此,证明我们的推断是正确的。 注意这里的Heightmap Resolution一定是2的n次幂加1,至于为什么会这样,找一个介绍HeightMap的文档看一下就明白了。 既然验证了我们的推断是正确的,那试着在PS中创建一张HeightMap放到Unity3D中看看。我们创建的HeightMap大小为129 * 129象素,如果我们让一个Unity3D单位由4个象素点构成,那么地图大小则为 (129 – 1) / 4 = 32,即32 * 32,高度值不需要太大,高为12就够了。
相关文章推荐
- Unity3D地形的制作
- 虚拟现实软件(unity3d)地形制作
- Unity3d学习 制作地形
- [Unity3D]Unity3D游戏开发之基于Terrain Toolkit实现地形的制作
- 使用Unity3D 自主实战开发的赛车游戏实例,关键点记录 (二)之地形场景漫游导览制作
- 转载 教你使用PS来制作unity3D随机地形
- 【Unity3D实战】零基础一步一步教你制作酷跑类游戏(1)
- Unity3D游戏制作(一)——3D横版场景的角色移动控制
- Unity3d 制作铁链子
- Unity3D制作高通AR(增强现实)图片识别应用
- Unity3D 制作#字棋
- Unity3D For iPhone游戏引擎之构建游戏地形的基本元素(五)
- unity3d制作弧形血条,魔条
- unity3d 在UGUI中制作自适应调整大小的滚动布局控件
- unity3d制作小地图(MiniMap)的简单Demo
- 【Unity3D】学习笔记(第2记) 2D游戏开发基本技巧之背景制作
- Unity3D教程:无缝地形场景切换的解决方法
- Unity3D--学习太空射击游戏制作(一)
- Unity3D学习之第二次课(碰撞体、树的制作等等...)
- Unity3D研究之2D游戏开发制作原理