human grasshopper 下载_Grasshopper做有光影效果的砖墙
从案例的分析图里已经可以看出,砖墙是由七种不同形状的砖块组成,从顶视图上看,这些砖块都是一个相同的长方形再加上不同形状的三角形。这七种砖块按照对应的图片排布,就得到了富有光影效果的图案。
做都做了,顺便让砖块的种类也可以调整,我这做了8种:
首先在grasshopper里把这8种砖块画出来:
按照标准砖尺寸240*115*53mm画出每个砖块顶视图轮廓的前四个点
再通过旋转,确定8种第五个点
调整数据结构,连出8条多段线
成面、挤出,转换为网格
砖块准备就绪,接下来处理曲面:
用lunchbox的Staggered Quad Panels将曲面等分
等分数量计算方式:曲面尺寸/(标准砖尺寸+灰缝厚度/2)
通过测量面积删除两侧的半砖
求剩下的砖的中心点 在曲面上对应的uv点,并用uv点连接image sampler进行图片干扰
至于图片干扰,就很基操了,按照灰度值确定砖块种类即可。
问题来了,灰度值最多可能有256种,而砖只有8种,如何对应?
先用bounds求出灰度值的范围,再用range将这个范围等分8份,得到8+1个数。
这些数通过Consecutive Domains依次配对,就构成8个区间
再用Find Domain找到灰度值对应的区间索引,也就相当于得到了砖块型号。
最后通过evaluate surface找到砖块定位点在曲面上对应的切平面,用orient将砖块定位到切平面上。
效果已经有了,但是如果有多个这样的墙,网格数量会很多,造成电脑卡顿,占用内存,这是坏的。
所以不如将每一种不同的砖块分别定义为图块,用放置图块的方法替代orient。
这就用到插件human的相关电池了:
首先定义图块:
使用图块名称放置图块:
点击按钮就可以啦
效果图:
用到的图片干扰素材:
文件下载:
链接:https://pan.baidu.com/s/1Nl4ZlGuTRDNBy7lSkUb6rA
提取码:9841
需要lunchbox、human、grasshopper1.0及以上