Unity 等高线数据 生成山体

Unity使用等高线数据生成山体

等高线数据通过QGIS导出

{ "type": "Feature", "properties": { "fid": 3042, "ID": 3041, "ELEV": 220.0 }, "geometry": { "type": "LineString", "coordinates": [ [ 116.14026623630302, 40.045426917886395 ], [ 116.140266236144541, 40.045426917569436 ], [ 116.140266236038883, 40.045426917886395 ], [ 116.140266236144541, 40.045426917992046 ], [ 116.14026623630302, 40.045426917886395 ] ] } },

这是一行的数据,包括了经纬度,和等高线的高度。

算法部分主要用了 Geometry Algorithms 这个插件,插件可以平面挖洞,用来生成带湖的地形。生成带有约束的点云mesh,可以用来计算地形。插件支持多线程计算,所以可以在程序运行中,实时生成地形

一、UV

因为生成出来的Mesh UV是没有的,所以自己需要在一定规则下给每个点一个UV值,我的做法是把所有点的XZ用一个矩形完美包住,矩形左下角为0,0  右上角为 1,1

这样做可以让贴图根据尺寸等比平铺

二、地形数据

等高线数据如果很稀疏,可能计算出的效果有问题,因为距离太远,点与点就不会生成连线和Mesh了

地形数据可以通过QGIS或者ArcGIS 导出一个Json文本数据,然后在Unity中将经纬度转为坐标点,然后Y轴高度就是等高线的高度。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值