首页 > 代码库 > 基于Unity3D引擎制作大地图

基于Unity3D引擎制作大地图

基于Unity3D引擎制作大地图

1.下载Unity3D:
http://www.devzone.cn/thread-17305-1-1.html

2.制做一张灰度图:

需求:Photoshop 
          GIMP

先Google 搜 WorldMap-A_non-Frame.png  这个地图下载一张到你pc

然后gimp打开它, 右键图片,弹出菜单——选择——按颜色

这张图的好处在于海洋就是几种蓝色,按照颜色分别  左键 选取这几个蓝色,按下delete键删除颜色,清理干净后如图【狗刨学习网】

技术分享
然后 菜单栏 图像——模式——灰度
然后 菜单栏  颜色——反向
保存,用ps打开它,,,,用 滤镜——模糊——高斯模糊

有个问题需要注意!图像必须是边长相等的正方形!

做完,这个地图的灰度图一定要  点菜单栏 的编辑——变换——水平变换  (你肯定问为啥要这样!地图反了?对,反了,因为unity导入raw后会水平翻转,所以你要翻转高度图进引擎才是正的。)
保存为.raw
技术分享
3.U3D的地形

运行unity,前面怎么可以找找教程,创建完工程后,新的场景里,我们开始地图工作, 左上角找到Create ,菜单里面选 Terrain.

技术分享

于是我们得到了一个地形,如下图,找到那个齿轮图标

我们叫这个图标设置,其他我们不管,找下面的Resolution

然后Wides 宽度 Length长度 都设置为高度图的边长像素,也就是图片的长宽

Height可以随时调节,是地图的最大高度。

然后下面的Import raw...导入咱的高度图,然后弹出小窗口,其他别动,把默认的mac设置为windows.然后import,然后我们的地形就进去了。
技术分享



调整到你认为合适吧,然后我们说下如何导出为 obj格式的。。。
这个我们需要导出脚本了:http://wiki.unity3d.com/index.php?title=TerrainObjExporter

用法我简单说下吧,懂英语的可以看懂上面网址里面说的用法。
如下图那是个管理资源的窗口,右侧那个大窗口的空白部分右键一下,菜单里点show in explorer  你发现资源管理器能打开一个文件夹,没错这是在你电脑文件夹里都有的(这一行文字只是让你了解构造。。。
so。。右键右侧空白部分,菜单里点 create....然后选 c# script 或  java script

然后如果你用c#了,刚才那个地址里的你就复制c的代码,往里面粘贴(新脚本都有几行代码,全删掉然后再粘贴。) JS 就粘贴JS的。
技术分享



然后unity 的菜单栏的就会多一个Terrain选项,点一下选 Export to obj....

然后没什么了。。。。
    export format  为Triangles    三角形默认的不用碰

    resolution 很重要: 
                           Full  当前地形网格的完整面数
                           Half 当前地形网格面数的一半
                           Quarter  四分之一
                           Eighth    八分之一
                           Sixteenth 十六分之一


注意: obj地图模型要先导入max,再往max导入一个native的地图的obj(别问我怎么把骑砍地图弄obj导出),对比着骑砍的地图obj旋转 移动 ,校准网格坐标。然后往编辑器导入才能正确。 

矫正坐标后导出obj到你的编辑器的map data里,然后编辑器就能导入了。。。。

一般导出后进max看看有几十万面以上的就不要导入编辑器了。。。。

细节大家自己摸索摸索吧

还有如果对手绘地图比较偏好的同学,你们可以结合着地图编辑器和unity用,具体你们看看。
但是纯属unity手绘的虽然细节你很爽,但是面数你会不爽。。。。


有些基础的东西我没说那么详细,不过摸索下就会了



补俩截图: 

技术分享

技术分享


基于Unity3D引擎制作大地图