Unity3D中的地形转成模型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity3D中的地形转成模型相关的知识,希望对你有一定的参考价值。

参考技术A 为什么要把地形转成模型呢?在Unity3D中创建地形很方便,用它自带的地形编辑工具,各种跌宕起伏的地形都能很容易的创建出来。但是也有一些不方便的地方,比如创建好的地形不能整体缩放,只能通过修改长宽等参数进行调整。偏偏就有这样的需求,我们要把地形放到虚拟研讨厅的桌子上当做数字沙盘去展示。如果把地形对象的长宽高都缩小的话,高度图也要缩小,地形效果就太不好了。如果地形对象能像模型对象一样,随意的缩放就好了。

终于在网上找到了解决方法,有大神贡献了一个脚本,能够把地形对象转换成模型对象,模型格式为obj,可以直接导入到Unity3D中使用。

给脚本命名为ExportTerrain.cs。
这个脚本文件一定要放到工程中Assets文件夹下面的Editor文件夹中(没有的话自己创建)才能正常工作。
完成前两步之后,unity菜单项会多出一个Terrain/Export To Obj...的菜单(4.3以前的版本本来就有Terrain菜单,只是多了个子菜单;4.3版本里面默认没有Terrain菜单了)。

选择场景要转成模型的地形对象。如果什么都没选的话,会使用默认的active terrain。

然后选择Terrain/Export To Obj...菜单,弹出下面的对话框,选择导出格式(triangles or quads)、Mesh分辨率(full, half, quarter, eighth or sixteenth)、文件名和路径,然后点击Export。

等待进度条跑完之后就OK了,obj文件就导出成功了。

和地形转模型的方法相反的一个操作,还有模型转地形的方法,类似的也是有脚本完成的,感兴趣可以参考Object2Terrain[2].

http://wiki.unity3d.com/index.php?title=TerrainObjExporter
http://wiki.unity3d.com/index.php?title=Object2Terrain

cesium 加载地图、地形、模型不显示提示CORS policy错误

参考技术A cesium加载所有外部资源都需要服务器端允许跨域;解决方法在服务器端;

1.若服务端可控:添加跨域头

2.若服务器端不可控:添加代理服务器

nginx添加代理示例:

location /3dtiles

include nginx_cors;

proxy_set_header Host $host:$server_port;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://61.181.250.183;

以上是关于Unity3D中的地形转成模型的主要内容,如果未能解决你的问题,请参考以下文章

unity3d 中的模型加了重力之后就会穿过地面往下掉,我模型和地面都加了碰撞啊,没有选择trigger

Unity3D游戏开发 地形系统

Unity3D自带功能:地形(Terrain)

unity4怎么创建一个横向的洞穴,用地形降低的方法不行

unity3D绘画手册-----地形及术语解释

unity3D中,给物体添加刚体后,为啥不是掉在地面上,而是穿过地形一直往下落呢?