用rhino做一个地球
最后的效果
思路
- 利用全球的地形图,根据灰度生成高度不一的柱体
- 将球的UV展开
- 柱体铺满UV,使用曲面流动到球上
操作
- 准备一张地形图,这里随便找了一个全球地形图,有灰度区分高度的最好,颜色的区分的相对的高程不够真实。
- 打开rhino,绘制一个球,将球的UV展开。
- 根据UV的大小绘制一个面,用于在grasshopper中拾取作为生成地形的范围。
- 打开grasshopper,拾取这个面,按照如下电池连接。其中UV的count可以调节分割的格子数,数值越大分辨率就越高。Domain的start和end调节拉伸的映射,其中start是负数,也就是说最低向下拉伸start,最高向上拉伸end。提取高程这里之所以使用蓝色通道的图片,是因为这张图是颜色区分高度,如果直接用灰度无法正确的区分(陆地向上,海洋向下),所以使用蓝色通道可以看到海洋的蓝色较浅,灰度低,陆地的蓝色较深,灰度高,能够使大体上拉伸方向正确。
- 设置好参数,烘焙出结果到rhino。
- 切换到着色显示模式,在曲面流动前要检查球和平面的法线和UV方向,若不对需要调整UV或调整法线。否则得到的地球奇形怪状的,看不出来。
- 最后就是分好图层,将柱体打组,然后曲面流动到球体上。
- OK,再看看大洋彼岸
改进
- 可以使用dem和彩色的地形图一起制作更加符合真实的地球
- 可以在grasshopper中将格网的拉出变为点的拉出,然后使用嵌面工具生成圆滑的地球
- 注意比例,地球平均半径是6371km,模型的半径是多少。那么对应的最高点(珠穆拉玛8848m多)和最低点(约11km多)应该是多少
- 做了以上三点就可以研究下地球表面的凹凸不平到底对地球有多圆有多大的影响