grasshopper教程「grasshopper教程基础篇」
请问这个grasshopper的这个工具怎么烘培出颜色呢?
我也是刚学GH,不知道讲的对不对,希望能对你有些帮助
先是烘培(bake)的几种方法:

菜单栏,如图:
选中需要烘焙的运算器,右击:
如图:
鼠标中键按一下,如图:
就是那个类似“煎鸡蛋”的图标
然后需要烘焙出颜色,就需要加着色运算器
如图:
这是我之前在看一个PDF教程时上面有讲到着色的例子,最后自己需要的话烘培一下就可以了,烘培的方法也告诉你了,如果不清楚,我把那个PDF教程的网站连接发给你,你自己下载下来看看,我感觉对新手挺好的一本教程,上面就是里面彩色立方体的例子,网站连接:;rsv_spt=1issp=1rsv_bp=0ie=utf-8tn=baiduhome_pgrsv_n=2rsv_sug3=1rsv_sug1=1rsv_sug4=45inputT=1060
叫《The_Grasshopper_Primer中文正式版》,我也是初学,希望对你有帮助,共同交流提高,我之前在看那个教程时由于我用的GH版本不一样,找运算器就找了好长时间,哈哈
有不懂的在留言吧,图片现做的,纯手打,希望采纳最佳
Grasshopper趣味教程(Demo)_第三关_数据魔法训练场_初级版
接上回预告:
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) - 连线**
???
开局一条曲线!再把这根曲线细分成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.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的底层建构逻辑,才能快速掌握它的用法。”
- "好吧,我去赚经验了。"
(本关结束,下一关是中级训练场,更多挑战等着你哦!)
Grasshopper趣味教程_第一关_新手村任务
作为一名百折不饶的黑魂白金玩家同时也是个狂热的异形建模爱好者,一直想要有时间教大家怎么像游戏闯关一样把GH也玩得溜溜的,想要啥奇怪的造型,啥炫酷的表皮,都能像玩游戏一样轻松愉快。于是乎,借助**产生的空档期,我起草了一份GH白金攻略,希望大家能喜欢。
首先,像玩任何大型单机游戏,时长是个很重要的因素。笔者是2018年11月的假期正式开始学习GH的,看了skywolf的数字冥想,表叔白云山的小红书,网上流行的各种GH电子书,再加上一些Youtube上的视频,C# for grasshopper等等......笔者学习的时候每个案例都做了,每天学2-6个小时,期间使用了番茄钟进行监督和计时,3个月学成一共花费了400小时。但是!并不意味着大家学会GH也需要那么多时间,按照初步学会一项技能需要20小时来计算,搞定这份攻略,也就是20小时的时长,对于这样的游戏,也就2天时间而已啦,so easy~~
那让我们开始吧!
像玩任何游戏一样,一开始当然是熟悉快捷键啦,快捷键都不背熟怎么捡装备,怎么打小怪?
OK,首先我们点击可爱的小蚂蚱图标,打开GH。
好的,界面弹出来了,首先我们把GH这样摆好。左边是Rhino,右边是GH。(当然也有一个GH小插件,可以让Rhino的页面像画中画一样显示进来。但后来我发现用途不大,装逼的话倒是挺酷。)
(咦,你的Rhino 6版本怎么跟我不一样?其实一样的,只是Rhino界面的颜色我自己设置过,做灰暗一点可以保护眼睛。)
接下来,我们来熟悉基本操作:
读者可能会说我这里又跟别人的教程不一样了,人家教GH不是都要先过一遍这头上的图标吗?Nonono,完全没必要先了解那么多。我的经验是,要学好任何一个软件或者技能,兴趣最重要,而不是强迫自己去接受和吸收知识。带着心理负担是很难坚持得下去的。只有觉得GH既有趣又实用,形成学习的正向反馈,你才能解锁更多成就直到拿到白金奖杯~
就像学任何程序语言的第一句话是:Hello,world。我们学任何建模软件的第一步都是画一个点,Hello,point!
然而尴尬的事情发生了,页面什么东西都没有,Point图标也黄了...
我们把鼠标移到Point图标上,看看它写的什么:Empty Point parameter,啥意思?
啥,看不懂,英语不好?没关系的,忍忍就习惯了,GH没有中文版哦(^_^)
在这里,没有点的参数是因为GH中的初始参数是需要来自Rhino的,毕竟是个插件,不是独立的建模软件。如果我们在Rhino中画好一个点,再把这个点的信息给到GH,不就可以了吗?
接下来我们在Rhino当中随便画一个点,在GH中Point图标上右键单击Set one Point,再选中这个点,就可以把这个点的数据给进来了。这是RH-GH联动建模的第一步思维。
我们的点画好了,接下来怎么办呢?我们试试看移动这个点吧!我们知道Rhino中的移动需要输入命令:move,那GH做为它的好基友,也能这样操作吗?
答案是当然可以啦!基本上Rhino所有的命令都可以在GH中找到。OK,输入Move以后,又出现了一个小图标。接下来我们来到愉快的连电池环节。
(为了让点更显眼,我把Rhino的背景设置成了黑色)
等等,现在这个点是默认向上移动的,我可以改变它的移动方向吗?当然可以,聪明的盆友已经发现了。把鼠标移动到Motion这里,有提示语:
这又是什么意思呢?可以设定移动的方向吗?我们要输入什么呢?
先别慌,我们先来看看这个点在数据中长什么样子。为了解释方便,我把刚刚Rhino当中画的点移动到了0,0,0,接下来再给个Panel,观察数据的变化。那什么是Panel呢?Panel就是面板,可以用来读取GH运算器中的数据。就当它是个X光扫描器吧!
(为了显示更清楚,我把点的颜色做成了黄色。)
这个“//”在C#中是指用于写注释,不进入程序计算中的语言。而GH本身就是C#写的程序打包组件,所以C#的语言习惯也可以用在GH。
注意,这个Panel除了读取数据以后,也能输入数据。比如:
先双击GH空白处,谈出输入框,然后敲//再加上数字。你就拥有一个定值啦~
在这里,我们又要熟悉一个新的概念,那就是定值和变量。顾名思义,定值指的是固定不变的参数。反之亦然,变量就是可以调节的参数噻。咱们不是经常看参数化大神拉一个数字小条来调节参数,模型就跟着变化吗?看着超级炫酷的功能叫啥?这个就是GH中的Number Slider啦(slider就是滑动的意思)。
好的,那么我们怎么用快捷键找到Number Slider呢?接下来我们使用第三个快捷键:
怎么样?惊不惊喜,意不意外?
“某羊,我要设置小数点怎么办啊,只能输入整数吗?我怎么给它规定范围啊?” No worries, 我们只要右键单击图标,选择Edit 就行了。
既然是和数学设置区间是一个原理,那么我们能输入数学的表达式直接设置我们想要的NumberSlider吗?比如我想要个5.5 到15范围的数。那么我双击输入框:5.515
咦,真的会出现一个最小值为5.5,最大值为15的NumberSlider吗?这个嘛,你就自己试试咯~~~
接下来我们打一组小怪! 依次输入单个数据:0.1, 0.2, 1, 10. 1.1,10.1, 11, 100, 你发现了什么?是不是系统自动为你的单值加上了一个区间?
那这个区间是从哪里开始的呢?怎么都是0?
比如0.1就默认为[0.0, 0.1]。但是数字超过了1,10,100,怎么办呢?哦,系统会自动给你增加到下一个区间了。嗯...这不难理解的,多尝试下摸清规律就可以了。
其实是这样的,输入负数要稍微麻烦一点,得像上面一样输入表达式:X 0 比如输入-12,就得输入 120 (别打我)
怎么样,很高级吧,数学大神的既视感有么有?
好了,咱们NumberSlider的玩法已经摸清了。接下来继续看刚刚的move图标。
那移动多少的位置呢?这时候就把刚刚玩的NumberSlider连上去呗~ 这样,你的点就可以移动啦~
图中蓝色的点(我设置了display)就是刚刚移动以后的点,拉拉Slider试试吧!你的点也会实时移动哦~~
想不想继续玩下去?
那我们来移动一组点吧!
在平时的Rhino建模中,我们想把单个的物体转化为一个组,是不是要用Array命令?那么我们在好基友GH的空白处双击敲个Array试试?
(如果有的命令我的屏幕里有而你的电脑里没有,千万别担心,不是版本问题,是我的GH插件太多了...)
在这里,我选择了一个线形阵列Linear Array。
接下来,把我们的点连在Array上,屏幕自动出现了一排10个相同距离的点。按照上面设置move的思路,我们来设置一下Direction方向和Count数量。
OK,那我们接下来试试把所有的点都一起向上移动一下吧?这时候要遇到我们这篇攻略的第四个快捷键了。
接下来,我们把Linear Array中输出端与刚刚的Move输入端连接起来,一排向上移动的点就有啦!
有了两排点,是不是手痒,想再来做点啥?本着点-线-面-体的建模思路,我们先把点竖向连接起来看看?
嗯,连线,直接输入Line试试?哟,还真有。但是注意别选中那个黑色六边形的line,因为那是需要从前面的端口中获取参数的标志。我们想要上下连接两个点,得选上图打勾的Line。
好简单的样子,那我们把下面一排的点也连起来试试?额...两点画一条直线,那我只要找到第一个点和最后一个点不就行了吗?
怎么找呢???通过前面的练习,我们知道了GH的工作模式就是通过电池来进行各种数据传递,那除了单纯的读取数据,我们有办法能提取其中的数据吗?
当然有咯!在这里,我来介绍一位超级好用的NPC,它是一位数据屠夫,名字叫List Item (李斯特 · 爱藤木)。想象一下咱们的一组数据是头整猪,我们只想要这头猪的一个部位,就得请这位屠夫帮忙砍一下。但是!这位屠夫在一次战斗中失去了视力,看不见要砍的部位在哪里,但是可以通过特殊的超能力感知到对方 - 那就是Index(编号)!所以你只要告知这头猪的各部位编号,这位屠夫就能手起刀落,砍下你需要的部分。
这啥意思?请看以下对话:
- 您好,李斯特 · 爱藤木先生,能帮我把这头猪的头和尾巴砍下来吗?
- 不行啊,我看不见猪在哪里。不过我可以感知到一种名叫Index(编号)的神奇物质。你只要把头和尾的Index编号告诉我,我就能帮你分解出任意想要的部分。
- 好的!让我查看一下这头猪的数据列表。(双击//,弹出Panel,连接上,显示出的一串数字就是List.)
- 哦,猪头在0的位置,猪尾巴在19.
-好的,here you go!
原点的位置就是我们的猪头,最后一个点的位置就是我们列表中的19号。左边是爱藤木先生需要的编号,右边是猪尾巴所在的3维坐标上的位置。
请注意!在数据列表中的显示是从0开始的,聪慧的玩家已经注意到了,我们有20个点,但是列表最后一位却是19, 这也就是我们看很多GH高端玩家在玩Range的时候会输入表达式X-1。现在不必理会, 我们还没出新手村呢,先杀杀猪,逮逮鸡,干点农活儿积累经验值吧。
在这里你已经注意到了,我屏幕上的显示又发生的变化,之前做的步骤都被隐藏了???这是怎么办到的呢?
现在来学习本章攻略又一个重要的快捷键:
这样,我们就看不到前面运算器所呈现的步骤啦~~~但并不意味着它们不存在了,只是被隐藏了而已。同样点击鼠标中间那个正常人头图标,你又可以看到它们了。
接下来,按照连接下面点的原理,我又把上面的点连了一遍。
按照Rhino的好基友理论,按住Alt键也是可以**的,只是不好操作,得先拖动到移动得状态再按Alt才行。不如Ctrl+C来得方便,所以推荐新手村的玩家们先使用最万能的**方法~
现在我们有了两条线了,是不是有种想要loft的冲动???既然跟Rhino同根生的,那我们直接输入loft看能找到这个命令吗?
又成功了!我说了嘛,一直想着Rhino的建模步骤,GH就迎刃而解啦~~~对吧?
注意这里的Loft,选择Curves的时候,需要按住Shift进行加选,反之,按住Ctrl就是减选啦~~~
有了Loft,我们是不是习惯性的想要挤出这个面?无它,纯手痒尔... (某只建模羊的下意识反应。)
充满智慧的读者们啊,请看看这步挤出面的操作吧,还是熟悉的配方,熟悉的味道啊!跟move那是一模一样啊!
所以,只要熟悉了GH运算器那点小九九,咱们就能举一反三,见招拆招啦!
好了,今天的新手村任务就到这里,请带着你的战利品回家吧!!!
恭喜获得!!!GH...方块一个!!!
- 啊,我还忘记提了。GH中所有的图形都以data数据的形式存在,不像Rhino是实体建模。GH需要将数据进行实例化才可以在Rhino中进行操作。
- 听不懂,说人话。
- ......想象GH中的空间就是天界,所有的图形都是以灵魂的形式存在的,它们从一个电池投胎到另外一个电池。而Rhino就是人间,灵魂想要诞生在世上,需要一个肉身,而赋予肉身的过程就叫实例化...
- “咚咚” (某羊被揍了) 正常点!!!
- 请右击“Bake”...
也许Grasshopper的制作者希望大家把这个平台看成一个大厨房吧,我们在连电池的过程就是烹饪料理的过程,最后放入烤箱或者煎锅里Bake一下,我们的菜就做好啦。
看到这里先别走!!!你刚刚解锁了本关卡最后一个成就 Bake!!!
好了,今天的攻略就到这里~~~我们下次再见吧!
下回预告:爱戴木先生想造一个房子,需要我们山上收集木材。但山间传说有怪物出没,要如何打败它们呢?
作者简介:土冒某只羊
澳洲皇家理工RMIT 建筑系研究生,今年7月家里蹲儿大学毕业了。
热爱参数化设计,异形建模,3D打印。熟悉Rhino+GH,也会一点Maya, Zbrush, 一知半解C#。