houdini中文教程 的 base group 这个表达示怎么写

关于houdini快捷键 Back Tab的用法_houdini吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:9,147贴子:
关于houdini快捷键 Back Tab的用法收藏
今天在看教程的时候看到了这个快捷键,在hotkey里面查看到默认是按shift+tab教程是fxphd-hou211 的第二章节 08.30的时间点上,这一章说的是对船体细小的模型进行删除,方便之后结算用,之后作者反复操作了几次,可我自己一直没使用出来看作者操作功能是这样的,在选择面blast之后,发现有面漏选了,能用这个快捷键返回到选择状态继续选择,当然如果不纠结这快捷键的话可以再加多一个blast删掉,或者直接敲入相应的面编号,不知道有人用过或者看过这教程的么~这是乐大上传的教程地址链接: 密码: h49o
CGWANG影视特效培就业工作多,速度快
不知道诶,没用过
我也没用出来,试了半天还是不行
我也纠结
reselect 快捷键吧,是 ` (esc下面的按键) 。H14 在节点 group 参数框后面有个鼠标button,也可以做同样操作。
我也没有看懂那是什么快捷键,不过我自己摸索出来一个方法如果要添加选取的面就单击 blast 节点中的有个白色鼠标指针的按钮,点了该按钮以后就会现实上次选择的面,然后继续按住shift选择其他要添加的面如果要之前的多选了,按住ctrl键减选
最后选择完毕以后按回车键
这样就和视频中讲的效果是一样的 houdini里面每个节点都有相同类似的参数记录的选框,通过修改参数一样可以达到目的学习软件就是要自己摸索,相信你也可以的。可以加QQ一起探讨,我的QQ
14节点上blast填编号那地方后面有个选择图标。点那个就好了。。很方便
---贴吧极速版 For UWP
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或Houdini 虽然不是最快最方便的,但一定是万能的。大概在Houdini 10的时候,Houdini 就开始支持分布式的解算器。这次的“Masterclass”整体的介绍了一下这些解算器当前的状态,包括了烟雾模拟以及箱体水域(water tanks )这样最新刚被Houdini 15支持的类型。视频的前半部分主要介绍了一些现有的工具以及HQueue这个分布式解算工具的设置。后半部分是一个完整的案例。大家可以回复“Houdini” 或者“GPU”来获得更多信息。GPU的模拟一直都在被人讨论,现在也有不少工具有GPU的选项,Houdini有,realflow我记得也有,而且TurbulenceFD这个插件已经将GPU模拟提高到了可用的水平。不过大家在使用的时候还是仔细的测试一下现在的workflow,因为虽然GPU解算的速度是CPU的很多倍,但是一旦出什么问题,那基本上就是没办法自己解决,只能等软件开发商来更新软件……如果大家也有使用TurbulenceFD for Cinema 4D的,欢迎来交流经验与泪水。AB特效旗舰欢迎投稿,稿件请发送至Luowx@. 采用的稿件将会署作者/译者的姓名,或者也可以到ArTek社区发表讨论欢迎点击“阅读原文”,光临我们的微站收看更多精彩内容~长按二维码,订阅AB特效旗舰AB特效旗舰(ab_vfx)
 文章为作者独立观点,不代表大不六文章网立场
ab_vfxAB特效旗舰由ArTek及Base FX联合主办。汇聚国内外特效精英,分享行业技术与发展,即时更新资讯及动态。热门文章最新文章ab_vfxAB特效旗舰由ArTek及Base FX联合主办。汇聚国内外特效精英,分享行业技术与发展,即时更新资讯及动态。&&&&违法和不良信息举报电话:183-
举报邮箱:Copyright(C)2017 大不六文章网请教关于Group节点的问题_houdini吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:9,147贴子:
请教关于Group节点的问题收藏
如下图,想用Group节点将一些Point分组,可是,一旦我将Entity选项置为"Point",Houdini就会出现如下的崩溃,请问这是为什么?我该怎么解决呢?第二个图是Group之前的一个节点的信息。
CGWANG影视特效培就业工作多,速度快
@一下大神吧 麻烦了~
关掉三维视图,然后再试,如果不崩,就说明之前的崩溃很可能是显卡问题。
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或【houdini笔记】学习houdini时整理的笔记
【houdini笔记】学习houdini时整理的笔记
例1:使用粒子控制物体(text)的运动
1.本例主要是对表达式的理解。创建一个geo1,进入其中,然后拖入一个Font SOP,在text中键入自己需要的字体,本例我使用Houdini。再拖入一个PolyExtrude SOP给字体一个厚度。
2.接下来我们要做的就是给字体分组,使相应的粒子控制相应的字体。所以使用Connectivity SOP来打组连接的物体,将Connectivity Type该为Primitive,其它默认。然后使用Partition SOP将连接的物体放入到相应的组中,将Rule改为:yourName+$CLASS。
3.拖入一个Delete SOP来得到每个组中的中心点,将Operation改为Delete Non-Selected。其它保持默认,再拖入一个Group Geometry SOP命名为allpoints,将Entry该为Points。然后再拖入一个Add SOP来创建一个点,为了使创建的点的数目和物体组的数目相同,接下来要用到Copy SOP。
4.在Add SOP后拖入一个Copy SOP,在Number of Copies中写入表达式:argc(primgrouplist(“../facet1″)),使用该表达式可以得到组的数目,其中primgrouplist是列出组,而argc是得到组的数目。然后勾选Stamp Inputs,创建一个变量名ncy,值为$CY。
5.在步骤3中,我们创建了一个Delete SOP,接下来我们要在它的Group中写入如下表达式:`arg(primgrouplist(“../facet1″),stamp(“../copy1″,”ncy”,0))`,即得到单个的组。然后我们在步骤4中,即add1后拖入一个Delete SOP,删除组allpoints。这样就得到了单个的点,而这个点正是add1添加的。接着我们修改点的位置,使其在相应物体组的中心,在add1的Point0中分别键入$CEX, $CEY, $CEZ。这样我们得到了相应的单个的点,而且都在相应物体的中心上。
6.接下来我们所做的就是要得到相应的单个物体。在facet1的输出中按鼠标中键,拖入一个Delete SOP,将Operation改为Delete Non-Selected。然后再在其后拖入一个Copy SOP,勾选Stamp Inputs,创建一个变量名ncy,值为$PT。连接Input1到delete2即刚才创建的节点,Input2到copy1。再在delete2的Group中写入表达式:`arg(primgrouplist(“../facet1″),stamp(“../copy2″,”ncy”,0))`。接下来你只需要在copy1中插入粒子系统,就可以完成粒子控制物体了。见样例:particle_control_geoemtry.hip。
例2:随机选择多个物体,并从旋转前的图片变换到旋转后的图片: 下图分别为变换前后
1.首先我们来构造单个物体,在/obj层次上拖入一个geometry,进入到geo1(默认)中,创建一个Circle SOP,并命名为single_brick,然后将Primitive Type该为Polygon,Orientation改为ZX plane,Divisions改为3(即等边三角形)。接下来我们将要修改single_brick的半径。
2.创建一个Grid SOP,命名为wall,Orientation改为XY plane,Rows为11,然后Columns参考Rows的通道(即ch(“rows”))。接下来我们将借助wall中的单个面的大小来决定single_brick中的半径大小。 而wall中单个面的边大小为:ch(“../wall/sizex”)/(ch(“../wall/rows”)-1),这样由上图的公式可得single_brick的半径大小为:(ch(“../wall/sizex”)/(ch(“../wall/rows”)-1))/(2*cos(30))。
3.在single_brick下拖入一个Copy SOP,Number of copies改为2,在Translate的ty中键入:ch (“../wall/sizex”) / (ch (“../wall/rows”)-1),即为wall中单个面的边长。
4.在copy1下拖入一个Skin SOP,勾选Keep Primitives。然后再拖入一个Fuse SOP,命名为brick。再在其后拖入一个AttribCreate SOP,命名为prnum,在Name中键入$OS,Class为Primitive,Value中的value1为$PR。为什么要创建这个属性呢?因为这在进行UV坐标转换的时候发挥了作用(即根据面的数值来打组)。
5.好,接下来我们来给wall进行一系列操作。首先在wall后拖入一个Facet SOP,勾选Unique Points,然后拖入一个AttribCreate SOP,命名为center_point,在Name中键入centerpt,Class为Primitive,Size为3,Value分别为$CEX, $CEY, $CEZ。这样给每个面添加了一个中心点位置的属性。接着我们再在其后拖入一个Point SOP,将Position分别改为:$CENTERPT1, $CENTERPT2, $CENTER3。即将相应面的所有点放到相应面的中心上。最后拖入一个Fuse SOP, 勾掉Remove Degenerate,来合并点。这样将相应的单个点放到了相应面的中心上。为了得到随机的点,在其后拖入一个Sort SOP,将Point Sort改为Random,然后再在其后拖入一个AttribCreate SOP,命名为ptnum,在Name中键入$OS,Value中的value1为$PT。这个点属性在控制物体随机旋转时发挥作用。
6.拖入一个Copy SOP,命名到copy_to_grid,将brick连入到Input1,ptnum连入到Input2。转换到Stamp栏,勾选Stamp Inputs,在Variable1中键入rot,Value1中键入rand($PT*360)。这将会在随后加入的Transform SOP中来控制single_brick的随机旋转,使复制的brick不是以一种统一的方式摆放。
7.首先我们来创建一个Null SOP,命名为master_controller,来达到一种控制全局参数的目的。然后再在其中添加控制参数,添加一个float类型的参数,Label命名为Rand Rotate Rate,Parm命名为rate,锁定值范围为0到1,默认值为0.36。
8.在brick后拖入一个Group Geometry SOP,命名为rand_rotate,在Group Name中键入$OS,将Operation改为Group by Expression,然后在下面键入if(stamp(“../copy2″,”rot”,0)&=ch(“../master_controller/rate”),1,0),来打组满足条件的物体。
9.在rand_rotate后拖入一个Transform SOP,在Translate的ty和tz中分别键入:-ch(“py”)和ch(“../single_brick/radx”)/2,Rotate的ry为30,rz中键入(控制复制物体的随机旋转):if(stamp(“../copy2″,”rot”,0)&=ch(“../master_controller/rate”),90,0),Pivot的py中键入:bbox(“../brick”,D_YSIZE)/2。Py中键入的表达式是将物体的y轴放到brick的中心上。而tz中的表达式是将面对其到YX平面。
10.拖入一个Delete SOP,命名为delete_rand_rotate_group,Group为rand_rotate。然后再拖入一个Connectivity SOP,将Connectivity Type该为Primitive。再在其后拖入一个Foreach SOP (用来得到单个物体的中心点),命名为get_each_center_pivot,将For该为Each Attribute Value,Attribute为class。这样通过属性class来分离物体。
11.进入get_each_center_pivot,在each1下拖入一个AttribCreate SOP,命名为centerY,在Name中键入centery,Value的value1中键入$CEY。然后再拖入一个Delete SOP,将Operation Type该为Delete Non-Selected,Entity为Points,Pattern为0,即保留点0。
12.创建Point SOP (用来放置点0到单个物体的中心上),在Position的tx, ty 和tz中分别键入:(point(“../each1″,0,”P”,0)+point(“../each1″,1,”P”,0)+point(“../each1″,2,”P”,0))/3, $CENTERY,(point(“../each1″,0,”P”,2)+point(“../each1″,1,”P”,2)+point(“../each1″,2,”P”,2))/3
13.然后再在其后创建一个AttribCreate SOP用来存储单个物体的中心位置,命名为center, Name为newcenter,Type该为Vector,在Value中分别键入:point(“../point1″,0,”P”,0), point(“../point1″,0,”P”,1), point(“../point1″,0,”P”,2)。
14.拖入一个AttribTransfer SOP,连接each1到它的Input1,center到它的Input2,然后勾选Points,并选择属性newcenter。这样每个brick的点都有了属性newcenter。
接下来我们要给物体展UV,在get_each_center_pivot后拖入一个UV Project SOP,将Group Type该为Vertices,为什么要改为Vertices而不是Points呢?这是因为在单个的brick中,每个面的点有独立的UV信息,而Points会使每个面和其它的面共享UV信息。
16.拖入一个Foreach SOP,命名为uv_transfer,For为Each Attribute Value,Attribute为class。进入到uv_transfer中,接下来我们要做的就是转换brick的uv信息。在each1后拖入一个Attribute SOP,命名为delete_centery_attr,在Delete Attributes中键入newcenter。在其后拖入一个Group Geometry SOP,命名为sideGrp,Operation为Group by Expression,在Filter Expression中键入$PTNUM == 4,这样我们得到侧面,即上图中的面4。再拖入一个Group Geometry SOP,命名为frontGrp,Operation为Group by Expression,在Filter Expression中键入$PTNUM == 2,这样我们得到侧面,即上图中的面2。(注意记得在两个组的Group Name中键入$OS,后面创建的这个组也是一样的)。然后我们再打组其余的面,拖入一个Group Geometry SOP,命名为restGrp,转换到Combine下,在Group下分别选择$OS和frontGrp,符合为不等号,然后再在下面选择Intersect (And),符合也是不等号,然后键入sideGrp,这样就将其余的面放到了组restGrp里面。
17.接下来我们要分离出面,在restGrp后拖入一个Delete SOP,命名为keep_front,在Group中选择frontGrp,Operation为Delete Non-Selected,然后按中键创建另外一个Delete Sop,命名为keep_side,在Group中选择sideGrp,Operation为Delete Non-Selected,然后按中键再创建另外一个Delete Sop,命名为keep_rest,在Group中选择restGrp,Operation为Delete Non-Selected。由于我们的随机旋转只是在侧面和正面,因此我们要将正面的UV信息复制给侧面的面,那怎样去做呢?这时我们用到Point SOP。
18.首先给组sideGrp和frontGrp中的点分类,因此分别拖入一个Sort SOP,命名为front_sort和side_sort,Point Sort都为By vertex order。然后再拖入一个Point SOP,将front_sort连接到Input1,side_sort连接到Input2,然后再Position中分别键入$TX2, $TY2, $TZ2。这样我们就将正面的UV信息复制给了侧面(注意这时的侧面实际上还是正面,我们只是将正面移到了侧面的位置,因此接下来非常重要的一步就是重新给侧面打组),在其后拖入一个Group Geometry SOP,命名为newSideGrp,转换到Combine下,在Group中分别键入sideGrp和frontSide,符号为等于号,这样才完全完成了UV的转换。然后再拖入一个Merge SOP,连接front_sort, newSideGrp, restGrp到merge1上,最后再在其后拖入一个Fuse SOP。拖入一个AttribTransfer SOP,将fuse1连接到它的Input1,each1连接到它的Input2,勾选Points,并选择newcenter。
19.接下来我们要完成非常重要的一步,那就是完成brick的随机旋转。首先我们回到master_controller节点,并添加两个全局控制参数,它们分别是speed和delay。再拖入一个AttribCreate SOP,在Name中键入rotation,Class为Primitive,Value的value1为:clamp($T*ch(“../master_controller/speed”)-$PTNUM*ch(“../master_controller/delay”),0,120)。
20.拖入一个Primitive SOP,勾选Do Transformation,在Rotation的ry中键入$ROTATION,在Pivot中分别键入$NEWCENTERX, $NEWCENTERY, $NEWCENTERZ。
21.接着我们选中delete_rand_rotate_group到primitive1之间的所有节点,然后复制,并粘贴。将delete_rand_rotate_group1重命名为keep_rand_rotate_group,将attribute2的属性名Name改为rotation1,将primitive2的Rotation的rx改为-$ROTATION1,并删除ry的通道。
22.拖入一个Merge SOP,将primitive1和primitive2连接到merge1。然后再在其后拖入一个UVQuickShade,Group为frontGrp。接着在拖入一个UVQuickShade,Group为sideGrp,最后在拖入一个Facet SOP,这样就完成了制作。你可以再Texture Map中插入自己喜欢的图片,而不是默认的。见文件rand_rotate_brick_demo.hip。
转载请保留链接: /4300.html
Copyright (C) 2014&&Powered by

我要回帖

更多关于 houdini下载 的文章

 

随机推荐