之前在Pinterest看到这么一张图
觉得挺有意思的
(图片来自Pinterest)
有植被的地方
百叶平行于视线方向
把景观给敞露出来
其余地方百叶垂直视线方向
有一定的遮挡效果
思路的话
可以看到百叶在经过这些红色的线框的地方发生了扭转
百叶扭转过后
将里面的景露了出来
下面我们看具体操作
一、百叶
首先用阵列和loft做出第一面百叶
为什么要将短直线阵列后再放样来做呢
因为我们后面对百叶进行扭转
实际上是对参与放样的直线进行旋转
所以loft只是来看看效果
我们继续操作的对象是line
将第一面百叶往上阵列20份
然后再loft看看效果
我们会发现并没有横向的百叶出现
因为是往上阵列的
所以每一竖排的20根line对应为一组
这20根line在组内放样形成了这种奇怪的面
而我们要做的是横向的放样
所以就要将横向的一排43根line归到一组
这时候可以用到flip matrix运算器
将原先的以竖向分43组每组20根line
转变为以横向分20组每组43根line
loft一下效果已经正常
用path mapper可以取得同样的效果
不过这里不多说,知道有这么个东西就行
如果你想不用flip matrix也行
之前我说了
之所以竖直的20根line会成为一组,一共49组
是因为每组都是由最下面的那根line阵列上去的
而如果我阵列前把最下面的第一面百叶作为一组
再阵列上去
这样横向的49根line自然就在一组
把之前第一面百叶的49根line打个group即可
阵列完后再ungroup
二、扭转
a.判断
取我们最后得到的line的中点
干扰线框就是我们需要百叶扭转的区域
前面说过
百叶扭转其实就是line的旋转
所以我们这里就要判断line的中点是否在该线框内
在里面,line就旋转
不在,就不旋转
所有line包括其中点都在XZ平面内
所以在线框范围内的中点
其X坐标和Z坐标也必然在
线框四角点X坐标和Z坐标的范围内
两头开工
1、explode将干扰线框炸开
2、deconstruct得到点的坐标,bounds取得线框X坐标和Z坐标的区间范围
3、用Includes运算器判断中点X和Z坐标是否在线框X坐标和Z坐标的区间范围内
includes输出的是布尔值
不在区间范围内就是false
再把两个布尔值接给gate and
只有两个布尔值都为ture,gate and输出的才是ture
(高中数学的且,或)
b.筛选
用dispatch将线框内的line筛选出来
然后用rotate将它们旋转
1、以每根line中点各自成yz平面
2、别忘了rotate的A端右键degree将弧度改成角度制
绿色的是旋转过后的
c、替换回去
将旋转过后line把旋转之前的line替换掉
这样loft出来的“百叶”才有 扭转的效果
本来我想着
1、先用member index将dispatch筛选出来的line在之前组里的序号提取出来
2、再用replace items将旋转过后的line给替换回去
然鹅
这哥们不给我面子
说实话我还没搞懂它为何报错
不过程序还得做啊
总有办法的
于是我找到了它:
sift pattern
光看图标不明白,sift是筛选的意思
没错,它是 sift的老哥
它和dispatch都是用来筛选数据
不同之处在于sift pattern将数据筛选到另外一个端口后还保留着其之前所在的位置
将其位置用null占着
而就在sift pattern旁边就有一个replace nulls
用其可以用指定数据将数据中的null依次替换
可以看到已经替换进去
再loft一下看看效果
再然后我们可以选中这部分运算器
打个包
再右键改下输入端名字
想多些干扰线框就讲打包运算器复制一下
每一个线框的开和角度可以单独调节
可以加几棵树大概看看效果
今天的案例就到这里
窗由景开,扭转百叶窗
链接:http://pan.baidu.com/s/1miqYwC4 密码:mdst
感谢 建筑小蝈蝈 授权分享
欢迎关注他们的微信公众号
微信号:ArchiGG