首页 > 代码库 > 基于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引擎制作大地图