受布雷
这个东西是一个凹凸映射球体,它使用了来自此处的行星地图数据/图像:
http://www.johnstonsarchive.net/spaceart/cylmaps.html
具体来说,我用的是这款:
http://www.johnstonsarchive.net/spaceart/moonbumpmap2.jpg
基本上,我用了和制作这个碗时一样的凹凸映射技术:http://www.thingiverse.com/thing:13991
也就是说,将这张图片用作高度图。利用该高度图来移动球体周围的顶点位置。同时,如果你想让模型看起来更逼真,还可以用这张图片为其添加颜色效果。
接下来是关键部分。既然月亮已经到了我手里,我想把它切开,看看它是由什么组成的,一劳永逸地解开这个古老的谜团。
于是,我把它拆开一看,发现里面果然是空的!没有绿人,没有亚马逊女战士,没有奶酪,什么都没有,空空如也。和回答复活节兔子的问题不同,这次的结果实在令人大失所望。
最后,我用MeshLab工具探索月球表面时,终于找到了传说中的“月球人”。你可以看到他被用红色高亮标注出来,正朝我们微笑呢。
这对科学探索来说肯定是个绝佳的机会!
关于.stl文件的说明。我使用Banate CAD直接生成模型。满月模型约有50万个顶点,面数则翻倍。半月模型的顶点数量翻倍,因为它需要同时生成内侧和外侧的结构。在我这台标配的三年旧Phenom II处理器上,每个模型的生成时间约为40-50秒。生成时间主要取决于顶点数量,而非其他复杂因素。程序会为每个面生成法线,无论是否需要,但在不需要法线的情况下,生成时间或许
若想生成任何球形物体,只需在.fab文件中修改一行代码即可:
局部高度采样器 = ImageSampler.new({ 文件名 = 'moonbumpmap2_720_360.png', 尺寸 = 尺寸, 分辨率 = 分辨率, 最大高度 = 16, }) 将 "文件名 = '...'" 改为其他路径或文件名即可。
它可以是任何你想用于法线贴图的文件。
这是快速而粗糙的凹凸/高度映射方法。要想提升这类效果的质量,应该注意两点:首先,我是直接将高度图转换为高度值,但实际上应该取平均值,这样才能避免出现明显的锯齿边缘。其次,对于球体来说,应用纹理的更好方法不应是简单地将矩形图像进行环绕贴图。通过这种方式在球体表面贴图时,极点区域会出现失真现象。我需要更优质的图像素材,以充分展现球体的立体特质。
不过,嘿嘿,仅仅改动一行代码而已,这也不失为一种不错的方法嘛。
操作指南
1) 下载大型模型文件
2) 打印
3) 欢欣鼓舞吧!
定制板块
修复后的.stl文件
这么多年过去了,我终于用Windows 3D Builder修复了那个.stl文件。
태그
모델 소스
