Unity的地形性中尺度系统系统对大地图的支持,性能怎么样?

查看: 23924|回复: 6
【地图】基于Unity3D引擎制作大地图
在线时间 小时
本帖最后由 ヤ鋆╮哥メ 于
17:25 编辑
1.下载Unity3D:
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格式的。。。
这个我们需要导出脚本了:
用法我简单说下吧,懂英语的可以看懂上面网址里面说的用法。
如下图那是个管理资源的窗口,右侧那个大窗口的空白部分右键一下,菜单里点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手绘的虽然细节你很爽,但是面数你会不爽。。。。
有些基础的东西我没说那么详细,不过摸索下就会了
补俩截图:
第纳尔 +10
原创内容,值得鼓励!
鲜花鸡蛋&&在 22:14&&送朵鲜花&&并说:支持&&在 18:34&&送朵鲜花&&并说:我非常同意你的观点,送朵鲜花鼓励一下
在线时间 小时
先收藏着看看
在线时间 小时
好大......
在线时间 小时
基于unity的高精度台湾超大地形制作:
本帖子中包含更多资源
才可以下载或查看,没有帐号?
在线时间 小时
不错,学习了,巧妙了利用了unity地形的功能。
在线时间 小时
楼主求教~、
在线时间 小时
楼主,可否请教一下,为啥我导入raw之后没啥动静啊?中间还有什么别的坑吗?
Powered by温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(985)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'Unity中基于高度图的地形系统总结',
blogAbstract:'\r\n一、高度图\r\n&&&&&&&& 什么是高度图?从狭义上来理解,高度图是一张带有灰阶的图片,图片中的每个像素具有不同的灰度值,这些灰度值代表了不同的高度:像素的灰度值越大,表示对应的高度越高;像素的灰度值越小,表示对应的高度越低。从编程的角度来理解,高度图是一个二维数组。因为从高度图映射到一个地形,需要创建一个与高度图大小相同的顶点网格,所谓大小相同指的是高度图中的每个像素对应顶点网格中的一个顶点。这个代表高度图的二维数组,其中的索引值用来定位不同的顶点,而对应的存储值则表示了顶点对应的高度,也就是像素的灰度值。如图1所示是一个顶点网格,X-Z维度分别对应了高度图的两个维度:',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:3,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}鏌ョ湅: 9216|鍥炲?: 16
椋炶?妯℃嫙澶у湴褰㈡晥鏋滃拰鎬ц兘鐨勮В鍐虫柟妗

我要回帖

更多关于 军事地形知识 的文章

 

随机推荐