接上回预告:
Param Viewer老先生要准备传授我们掌控数据森林的魔法了,这时候他呼唤来一个可爱的童子助理 - 小樱桃(Cheery Picker)。
小樱桃说:“修炼数据魔法可不是一件简单的事情,你可得做好心理准备啊,我们一共有6个训练场哦,难度是一关大于一关的,做好准备了吗?”
- .......等等,难道没有轻松学会魔法的方法吗?比如吃一颗聪明果知识就进脑子了!”
只见小樱桃默默递来一碗鸡汤:“你机器猫看多了吧,这个世界上没有不劳而获的事儿!掌握好了数据魔法,以后GH的世界才能真正为你打开大门。还想不想做炫酷的参数化建筑了?”
“想.......” 于是,喝完鸡汤的你充满斗志地跟着小樱桃来到修炼场的入口的地图前面。
1. 初级训练场(EXP+6) - 树的生长与截断
1.1 Graft,1.2 Flatten Tree
2. 初级训练场 (EXP+12) - 树枝的变换
2.1 Reverse List,2.2 List Length,2.3 Partition List,2.4 Dispatch,2.5 Shift List,2.6 Flip Matrix
3. 中级训练场 (EXP+30) - 特殊魔咒训练
{?;x} [ i ]
4. 中级训练场 (EXP+60)- 魔咒的运用
4.1 Simplify Tree,4.2 Shift Path,4.3 Tree Branch,4.4 Split Tree,4.5 Explode Tree 4.6 Tree Statistics
5. 高级训练场 (EXP+120) - 新人劝退者
Path Mapper
6. 隐秘修炼所(EXP+ 200) - 连线大师
???
初级训练场1 - 树枝的生长与截断
开局一条曲线!再把这根曲线细分成10份,再提取曲线上的点,这样我们就有11个点了。再给个Point List,标出每个点的List Index,可以看到曲线点是按照从右到左的顺序排列的:0,1,2,3...9,10。
(Gif.1)
接下来,我们再让数据开始发个芽看看?Graft准备!
(Gif.2)
请注意观察Graft以后数据出现的变化,List Indx变成了0,0,0...0,0。同时,运算器之间的连接线也变成虚线了。
(对话)
- “小樱桃,我有点疑惑,给我们的数据树末端再增加分枝有什么作用呢?把每个点都单独成组有什么作用啊?”
- “哈哈,待会儿你就知道了!请看下图。”
(Gif.3)
首先我们复制了一份与刚才相同的曲线,同样细分为10份,提取曲线上的11个点。接下来,我们首先上下直接连线,发现它们很老实地按照顺利直接连接起来了,跟栏杆一样。然后再和下端刚才发过芽的点再连接一次...
??!!! 啊,为啥是那样的凌乱,发生了什么?
别慌,我们先把其中一个点提取出来看看?
没有Graft之前,我们的上下连线是非常规则的,但是graft以后,我们曲线上端的一个点与下端Graft后的曲线上每一个点都发生了连接,这是为啥啊?
聪明的你注意一定注意到了,下面那一排点在没有Graft之前是0,1,2,3...9,10。但是Graft以后变成了0,0,0,...0,0 。这有什么意义呢?这时候需要知道我们GH的运算规则:当我们再执行两点相连的过程中,我们实际上所做的是两颗数据树彼此之间的List Iindex与List Index之间的相连。
所以,当我们在Graft下端曲线点的以后,我们上端的原始曲线点与下端的每一个点都发生了相连。
(对话)
“啊,我知道了!当我需要与图形里的每一个点都发生运算的时候,我就需要Graft一下我的数据树!!!”
“嗯嗯...可以这么说,看来Graft魔法你已经初步懂得了。” 小樱桃带着可爱的微笑回答道。
“物有相互作用之力,学会了Graft,让我们再看看它的逆向魔法 - Flatten”
于是小樱桃给刚才graft以后的数据加上了一个Flatten。
Flatten这个词汇来自于Flat,指的是扁平化,大神口中常说的数据拍平就是它了。执行起来很简单,去掉数据树的枝芽,只剩一个树干,就是把所有的数据合并到一个大组里的意思。
如图所示,Flatten以后,所有的点都重新组合到了一个大组中,所以我们的连线又可以恢复之前的模式了。
小练习(只有自己亲自操做才能获取升级经验值):
请自己在GH里敲一个Square, 再给个Point List,观察Graft后与Flatten后的数据变化。
做完 可以得到 EXP+5,同时解锁成就:护林工!!!
(对话)
- "额?我怎么知道在啥情况下使用数据拍平Flatten呢??"
-"很简单的,比如你需要计算一颗数据树的到底有多少个list啊,你可以先flatten一下,再给个List Length就行了。"
- “哦...总量啊...还有呢?”
-“比如把list都和起来,再按你的需求重新分组啊!”
- “嗯?还有这样的操作?”
-“不仅如此,你还可以把树枝们换来换去呢!”
-“听起来真是神奇,小樱桃,快教教我吧!”
初级训练场2 - 树枝的转换
2.1 Reverse List 反转列表
(Gif.4)
非常简单的一个运算器,用上之后我们List的顺序就翻过来了,这个运算器常和List Item一起连用。
例如下图:
(Gif.5)
当模型比较复杂,组数太多的情况下可以使用reverse list + List Item的组合快速定位到最后一组数据。
2.2 List Length 列表长度
非常简单的运算器,告诉你一个list有多长,需要与Flatten连用,在后面的关卡中会经常遇到它,现在先在脑子里留个底儿就行。
2.3 Partition List 隔断分组
(Gif.6)
Partition - 啥意思?在平面系统施工图中不总有个Partition Plan吗?Partition就是隔断的意思,那么Partition List的作用像是在是在一个大组里重新立墙,分为不同的小组。Size就是你想要分组的数量。
2.4 Dispatch 分离
与Partition List 的功能类似,也可以对List进行分组。
(Gif.7)
那是Dispatch pattern在搞鬼,这里的pattern是布尔值,输入不同的ture/false对list进行重新分组。
(Gif.8)
2.5 Shift List 偏移列表
(Gif.9)
Shift的意思是偏移,那么shift list就是根据你的设置前后偏移List的顺序。
2.6 Flip Matrix 翻转矩阵
这个名称听上去很高级,但其实用法很简单的。
请看动图演示:
(Gif.10)
Flip Matrix主要用于连线的时候,如果发现自己想连竖线的时候GH里的点却是横着连的,这时候你需要使用它了,别被这个奇怪的名称吓倒了,这货要用的时候自然就会啦!
小练习(只有自己亲自操做才能获取升级经验值):
请自己在GH里画一个面,根据第二关的方法进行细分,然后再依次演练一下以上的运算器,每演练一个可以获得EXP+2。
做完6个可以得到 EXP+12,同时解锁成就:树的魔法!!!
(画外音)
- “羊,我到底要学多少树的操作才可以建模捏形啊?你这训练场关卡也太多了吧?我只想速通GH。”
- “打鬼武者是不是要练一闪?打只狼是不是要练弹刀?打黑魂是不是要练盾反?”
- “。。。。。。。。。”
- “别问了,快去练吧!想速通是不可能的,除非你是计算机图形学毕业的,了解GH的底层建构逻辑,才能快速掌握它的用法。”
- "好吧,我去赚经验了。"
(本关结束,下一关是中级训练场,更多挑战等着你哦!)