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中的地形转成模型的主要内容,如果未能解决你的问题,请参考以下文章