Houdini中lsystem功能详解 - 纳金网
联系我们

给我们留言

联系我们

地址:福建省晋江市青阳街道洪山路国际工业设计园纳金网

邮箱:info@narkii.com

电话:0595-82682267

(周一到周五, 周六周日休息)

当前位置:主页 > 3D教程 > 3D教程

Houdini中lsystem功能详解

来源: 未知 | 责任编辑:比巴卜 | 发布时间: 2013-08-07 14:41 | 浏览量:

Houdini
关于lsystem的介绍
Houdini内提供了一系列强大特别的工具,来帮助用户实现各种先进的特效,他们中的一个就是lsystem sop。这个lsystem sop提供了一种生成复杂有机生长动画的手段,我们可以使用他来模拟诸如树木,闪电以及其它一些包含有分支的结构。
建立在self-similarity的基础上
有多个因素联合发挥作用来表现出来了有机生物比如植物的复杂结构,从而表现出来他们的特色,这些因素包括了:
对称symmetry;
自我相似性self-similarity;
发育法则developmental algorithms
在lsystem内,我们主要关注的是第二条法则。Self-similarity描述出来了包含在植物内部的分形结构特点。关于self-similarity的准确描述参看Benoit Mandlebrot的定义:
如果某一个形状的一个部分类似与其自身形状,则这个形状以及这个部分的特性被称为self-similar。

obj
ambient object
这个ambient object在给出的一个场景中,控制环境灯光的颜色和强度。
blend object
这个blend object是一个多输入的object。她允许可动画的输入,融合输入跟部分继承的变换。
bone object
这个bone object是一个可以用于关节链的object。
camera object
camera object是一个扮演摄像机角色的object。你通过他来查看你的场景,然后从他的视角来渲染场景。
fetch object 通过拷贝另一个object的变换信息来获得自己的变换信息。这表示通过他可以很容易的获得包含在一个subnet里面得一个object得变换信息,然后可以在object层级里面,把获得得信息做为父来来连接一个object。
atmosphere object
这个object在渲染得时候生成雾的效果。
force object
force object被用来在object――level中表现对某几个pops(包括force ,fan,还有rbdconstrain pops)的作用效果。这个object提供在world――level中对这些pops的可视化表现,同时允许你在world――level的角度中控制这些pops的参数。
geometry object
geometry object是一个被用来渲染的object。
handle object
handle object被设计以通过几个末端操纵器来对各个成组的骨骼实行操控。他被用来跟chop的handle进行联合应用。如果有多个bones,那么会有对应的handle附属到他们身上。
light object
light object是一个发射光到其他物体上的object。你也可以从他的视角看,或者渲染。
macrophone object
macrophone object是在使用spatialaudio chop的时候,定义一个听点。一个spatialaudio chop可以使用多个macrophones,这样子可以生成立体声或者环绕声效果,同时还能生长各种音效,包括多普勒效应,随着距离表现出来的音量损失,干涉,大气过滤,定位发声。
要设定一个spatialaudio场景,要有一个或者多个sound object被用来发射声波。至少需要一个macrophone被用来捕捉声波。然后需要一个spatialaudio chop来渲染音波。如果场景中有障碍物或者滤波器,那么至少还需要一个acoustic chop被用来设计频率的过滤。
移动sound 和microphone object会在音量和音调上产生各种变化,特别是如果有任意一个object是具有方向性的时候,效果更明显。设定一个方向性的macrophone或者sound object非常类似于设定一个方向性的灯。
null object
null object扮演的是一个在场景中空间占位的角色。他可以被用来表示一个空间坐标位置。这样子可以被用来当作目标物体,或者可以做为ik链的末端效果器。
null object的变换被用来在rib或者ifd渲染中定义坐标系统。
sound object
sound object被用来为spatialaudio chop定义一个声波发射点。多个音源可以通过一个spatialaudio chop来产生立体声或者环绕声效果,还包括各种特别音效,比如多普勒效应,随着距离表现出来的音量损失,干涉,大气过滤,定位发声。
要设定一个spatialaudio场景,要有一个或者多个sound object被用来发射声波。至少需要一个macrophone被用来捕捉声波。然后需要一个spatialaudio chop来渲染音波。如果场景中有障碍物或者滤波器,那么至少还需要一个acoustic chop被用来设计频率的过滤。
移动sound 和microphone object会在音量和音调上产生各种变化,特别是如果有任意一个object是具有方向性的时候,效果更明显。设定一个方向性的macrophone或者sound object非常类似于设定一个方向性的灯。
subnet object
subnet object被用来对复杂的节点网进行简化。他可以把几个object放到一个节点里面。这个object提供了四个input,以用来把subnet里面的object跟上游的object进行连接。
switcher object
switcher object允许你在需要观察或者渲染你的场景的时候,在不同的摄像机之间切换。
可以给switcher设定关键帧来获得类似转场镜头切换的效果。

sop
clip sop
clip sop使用一个无限的平面剪切,折叠多边形几何体。
cap sop
cap sop被用来使用flat或者rounded面来对开放区域进行封口。meshes通过在uv方向扩展,或者通过增加面来实现cap。faces通过扩展face或者一个空cap来实现cap。
bound sop
bound sop通过计算,然后给输入的几何体生成一个包围的体积体。这个体积体可以是box或者sphere。如果是box的话,那么就可以应用到了lattice操作上。
comb sop 
comb sop是被设计用来允许你在视图中直观的调整曲面点的法线。正如他的名字所暗示的,他常常被用来初始化毛发生长的依据法线。
在视图中,通过在曲面点法线上拖动笔刷,法线就随着拖动的方向倾斜。
copy sop 
copy sop允许你对其他操作中的geo进行拷贝,然后把变换信息赋予拷贝物体。他也允许你在template时候在copy data中,拷贝geo然后然后赋予template的点。
crease sop 
crease sop的作用是当你进行subdivide操作的时候,用来增加polygon边的“creaseweight”属性。
divide sop
divide sop分割或者光滑输入的多边形。
duplicate sop
duplicate sop允许你拷贝输入的原型,然后施加变换给这些拷贝。
duplicate跟copy不同的地方在于:在template上拷贝是不支持的;duplicate是依附于上游source的,不可以提取出来;因为duplicate做的工作比较少,所以比较快。
edit sop
edit sop允许你互动的编辑源几何体。
sop支持transform,soft transform ,peaks和soft peaks。soft transform/peak只应用于point。
edit的作用取决于你的建模任务中的特定需要。认真的把edit sop 跟其他op联合使用能够给你提供最大的建模能力跟弹性。
edit是一个可堆积的op,这意味着多个edit任务可以在一个op里面实现。因此,多次重复使用edit并不会在节点网络里面产生多个edit sop。
edit是不可动画的。要对变换进行动画,需要使用point,transform,soft transform,peak,soft peak跟其他那些ops。
metaball
metaball ops允许你来生成mataballs和meta-superquadric曲面。
lsystem sop
lsystemop被用来生成有机的物体,比如树,植物,花。他们可以随着时间生长。
box ops
box ops用来生成可以当作geometry的立方体,也可以在lattice ops里面被分割。
circle ops
circle ops被用来生成开放的或者封闭的各种各样的圆线段。
curve sop
curve ops被用来生成polygon的,nurbs的或者bezier的曲线。也有一个可选择的输入项,允许你指定某个geometry使得curve去捕捉。
grid sop
grid ops允许你以polygon,mesh,bezier或者nurbs的形式来生成栅格或者矩形,同时你也可以在polygon的参数里面使用open polygon或者individual points来生成一根或者多个polyline。isosurface sop isosurface op使用精确的公式来生成参数化的曲面。
line sop
line ops被用来生成polygon,beziers或者nurbs的line。
null sop
空ops。
platnic solids sop
platonic solid ops生成各种理想的实体。可以生成的实体包括tetrahedron四面体,cube六面体,octahedron八面体,icosahedron二十面体,dodecahedron十二面体,soccer ball足球体,utah teapot。attribute sop attribute ops可以对point/primitive的属性进行rename,并且允许进行renderman属性的映射。
clay ops
clay ops可以对任何face或者hull上面用户定义的point施加变形。在primitive上面,点是在[0,1]之间参数化定义的。与其他,比如point,ops不同,他们都是操纵cvs,而clay ops则是在primitive自己的contours上面施加作用。
在参数里面,uv sharpness这个参数是非连续的。虽然他们的区域在[0,1]之间,但是他们的取值是跟primitive的uvdegrees有关的。滑杆的数值越接近1,增加的knots越多。
在参数里面有四个不相关的方法来指定变形的方向跟强度。通过这四种方法,primitive上的point通过指定的uv处的点的image来变形,这导致在那个区域里面,primitive进行了变形。
bulge ops
bulge ops通过在第二输入端的一个或者多个影响物来对第一输入端的points进行变形。影响物“磁力场”的作用范围是通过一个metaball的场来定义的。这个ops可以说是Magnet ops的简化版本。
bulge op可以对多种geo施加效果。如果deform group没有被特别指定,那么不管group type是指定的哪种,所有的points都会被变形。
curveclay op
curveclay op通过轮廓外形曲线或者3d曲线来对一个或者多个nurbs或者bezier曲面进行变形。他有一个,两个或者三个输入端。第一个输入端包含的是被变形的物体,这个物体一定要指定。如果只有一个输入端,那么curveclay就会在输入的曲面上寻找轮廓外形曲线,然后沿着轮廓外形曲线进行变形。这种行为就通过displacementtab来控制。如果轮廓曲线是封闭的(或者说多个轮廓曲线相交形成了封闭),那么curveclay一样可以对环中进行变形。
如果第三个输入端,deformed faces被指定了,而第二个却没有,那么第一输入端就会开始扮演rest face的角色,同时第三输入端就开始扮演变形目标物体的角色。
如果两个deformed face和rest faces都被定义了,那么rest faces首先被映射到曲面上,曲面上的任何轮廓曲线都被忽略。然后,最后的结果轮廓曲线将向着第三输入端的目标faces变形。
smooth op
smooth op来光滑polygons,meshes和curves,同时并不增加点。他通过对已有点的重新布置来消除粗糙。smooth op同时也可以对浮点属性,包括1,2,3,来光滑,这意味着包括颜色还有纹理坐标都可以施加效果。如果在使用vertex属性或者point属性之间产生模糊,那么就采用point属性。
peak sop
peak op对primitives points edges或者breakpoints沿着他们各自的法线进行移动。如果没有指定组,那么所有的点都被沿着法线进行变换。
当使用primitives的时候,点被沿着他们的primitives的平均法线进行变换。这与沿着点的法线进行变换的不同之处在于,只有在指定的group之内的primitives被考虑,而点的法线属性将被忽略。
soft peak sop
soft peak op对源点沿着他们的法线进行移动旋转等等。与Peak op不同,soft peak op引入了rolloff参数跟radius of influence。在选择的组之内,在radius distance之内的点,将被根据同比的距离进行移置。
fit sop
fit op面对一系列的点,用一条spline来适配,或者是面对一个m*n的mesh,用一个spline曲面来适配。在第一种情况下,那些点必须扮演的角色就是描述一个face primitive(polygon或者curve)上的cvs。在第二种情况中,那些点必须扮演的角色是一个hull(外壳) 
primitive上的cvs。approximation适配将采用比源data少的cvs来生成spline,于是生成的spline并不是一定通过源points的。interpolation适配将产生一个最精简的通过所有points的spline。
sweep sop
sweep op通过cross(截面)-section输入端的input,沿着backbone输入端的input,来形成sweep primitives,这产生一种丝带或者管装的物体。输入的截面primitives在backbone上面的每个点上面按照切线方向放置。如果给出了reference point,那么每一个primitive就会旋转以指向他对应的参考点。
这个sop的作用总的来说类似于nurbs的沿着路径进行挤压,不过比挤压具有更大的灵活性,在输出栏中可以设定skin选项,也就是相当于把skin节点集成了进去。
skin sop
skin op使用不限数的面,然后通过他们来生成一个skin曲面。如果给出了两个或者更多的曲面,不管怎么样,这个op会生成四个skins,每个有各自的边界曲线。
point ops
point ops操控source里面的位置,颜色法线,纹理坐标等等还有其他很多属性。这些属性可以被增加,移除,或者pass。他支持两个输入端,默认情况下采用第一个输入端。
object merge sop
object merge op允许你把把不同类型得geo物体合入到一个sop 网络中。
align sop
align op把一组primitives相互对齐,或者如果在有附加得输入端得时候,通过在输入得primitive上面参数化得分配,来获得变动或者旋转效果。
align类似于参数化得捕捉。在这个节点中,左或者右得概念取决于上下输入输出。如果有了一个附加得输入,那么他总是右,而主输入端就是左。如果只有一个输入端,那么在
对齐得每一对当中,有左有右。这就是意味着相对于不同的primitives,一个primitive可能又是左又是右。
一般来说,align sop是采用两个输入端的几何体的uv数值来进行对齐操作的。
primitive sop
primitive op可以使得所有的primitive开放或者封闭,反转所有的面的vertex顺序,设定primitive颜色和变换,旋转和放缩。
他也可以对外形轮廓进行操作,也可以混和primitives。他可以同时变换一个spline曲面和他的剖面。剖面只可以在x和y上面放缩,沿着z旋转(这是取决曲面所在的域。
sort sop
sort 允许你通过很多种方法给point,vertices和primitives分类。有时候primitives是按照需要的顺序排列的,而point却不是,这时候就用到了sort。op之内有很多种组合方式。
blend op
blend sop在具有同样的拓扑结构的形状之间计算出来变形效果。他可以在16个输入端之间运用各个输入端的通道的平均weight来进行blend。它在不同的形状之间插值计算point color和或者纹理坐标。
join ops
join op连接faces或者hulls,然后把他们转化成为一个primitive。这些faces或者hulls不需要是同一类型,同一顺序或者相同得vertices数目。他们的连接方式可以是rounded或者straight,可以允许或者不需要融合endpoints。
uvtexture sop
uvtexture op赋予源geo纹理uv坐标,使得被用于纹理和凸凹贴图。
spring sop
spring op通过力对源geo进行变形和移动,来模拟物理定律。
facet sop
facet允许你控制一个给定物体的面的光滑程度。同时他也允许你巩固给定的点或者面的法线。
group pop
group pop根据各种标准来生成粒子组。
Profile sop
这个sop可以获取被某个trim的曲面表明的减切轮廓,然后就可以进行trim轮廓的操作。
Trim sop
Trim sop根据映射在曲面上的减切曲线来对曲面进行减切操作,可以设定是保留减切曲线的内部曲面还是外部曲面。
Reverse sop
Reverse sop可以在U,或者V上面翻转法线。
Ray sop
Ray sop可以将一个曲面映射附着在另一个曲面上。比如说将a曲面雕刻为丘陵的形态,b曲面在a曲面上方,则ray操作就将b曲面附着到a曲面上,于是b曲面也成了丘陵的形态。
Subdivide sop
就像名字所描述的,这个sop是对上游节点进行细分操作,可以设定细分度,depth
Polyextrude sop
这是在多边形建模中最常使用到的面挤压操作。
Dissolve sop
类似与delete sop,不过他可以将指定的边,点融解掉,尽量保持原来的几何结构。
Blast sop
Blast sop可以删除不需要的点,边,primatives和breakpoints。
Carve sop
Carve是切开的意思。这个sop允许你对nurbs曲面或者曲线依照UV数值来进行减切,然后获得减切后的曲面或者曲线,还可以在参数面板中设定是获得cut后的曲面还是获得3d的参数线。
Polyknit sop
这个polyknit sop就是编织多边形的操作。对于两个多边形,可以使用这个操作来将两个多边形连接起来。比如说a多边形有两个连续顶点1,4,而b多边形有 两个连续顶点2,3,则可以采用顺时针或者逆时针的顺序采用1234或者4321将这四个点连接,于是新生成了一个多边形。
如果1,4,或者2,3不是连续的顶点,则仍然可以新生成多边形,不过将不是一个多边形,houdini自动在中间添加新的边。
对于新生成的多边形面,可以在操作的参数面板中设定其法线指向。
Fractal sop
这个是分形变形节点,他可以将一个曲面变形成为一个类似山区的形状,你可以设定变形的种子,方向,细分度。
Bound sop
Bound sop可以根据参数中的box或者sphere设定来计算出来输入几何体的一个包围box或者包围sphere。
他的作用也可以使用单独的box sop或者sphere sop来实现。
Facet sop
Facet,雕琢面的意思。这个sop允许你控制输入几何体的面,法线细节,便于在下面的光滑操作获得更好的结果。

houdini中非常高频使用的一些功能默认没有快捷键
界面上也没有相应的按钮
如果将他们设成快捷键会明显提高工作效率
1 循环切换坐标空间 
/Houdini/Panes/Geometry Viewers/Handles/Transform Handle/Handle Alignment
建议设成h 
2 父子关系变动开关
/Houdini/Keep Position When Moving
建议设成 ctrl+`
3 组
/Houdini/Group Geometry
建议设成 ctrl+g

更多Houdini资源请继续关注纳金网


相关文章
网友评论

您需要登录后才可以发帖 登录 | 立即注册

关闭

全部评论:0条

推荐
热门