程序化建模基础 attribcreate节点
>创建⼀个新的属性
给点的属性更名<命名该点的属性名>
Name点的属性名 pscale定义了点的⼤⼩Value更改数值
copy to point节点,类似C4D中的克隆,把另⼀个物体克隆到另⼀个物体的点上
sort节点对点的序号重新进⾏排序
2021/7/12
copytopoint跟随了pscale控制点的缩放,点缩放,物体就缩放@ptnum代表了每个点的序号
@numpt点的总数
@ptnum/@numpt 也就是代表点的序号除以总数
这时候pscale就会以等差数列的形式进⾏排布对应的克隆效果如下
此时利⽤另⼀个sort节点进⾏排序的话就可以更改克隆的内容
reverse 倒序
shift偏移,类似C4D中的偏移克隆random随机
也可以添加多个sort
偏移了点的序号就等于偏移了克隆的球的缩放本节知识点
数值为该点的X轴数值
顶点定义,⾯与⾯之间重合的点
可以想象⾯与⾯之间位置⼀样的点不过是没有焊接上多少个⾯汇集成⼀个点就是这个点的顶点参数vertices顶点属性⼀般是⽤来存储UV和法线信息的
Normal节点,显⽰发现
这个点显⽰了三个⽅向的法线
可以将法线写⼊点,写⼊顶点
如果写⼊点的话,就会只有⼀个点的法线(这个点经过了插值运算)
2021.7.14
Primitive 原始的,不是nurbs也不是poly,类似于C4D中的对象
如果⽤的是polygon模式,那这⾥的代表的就是⾯的序号
再插⼊assemble节点后,代表的就是模型的每⼀个碎块,⽽不是⾯记得要勾选 create packed geometry把每⼀个碎块打包成⼀个对象
如上图共有20个碎块(从019)
从左⾄右,点,顶点(vertices), ⾯(primitive),整体(detail,⼀般不⽤)
如何让两个不同的物体的参数产⽣关联,第⼀个在参数上右键copy parameter(范围),第⼆个右键paste relative reference粘贴相对参考
当⼀个参数使⽤表达式进⾏控制的时候,他的颜⾊变成了深绿⾊
当点击前⾯的参数的时候他才会显⽰当前的表达式,如果不点击的话他显⽰的是当前执⾏出来的数值
ch代表channel路径、函数
(”“)中是字符串,第⼀个点.代表当前节点也就是sphere2,第⼆个点代表跳转当上⼀层级也就是scene,/代表到下⼀个层级,也就是geometry⼏何,在geometry中选择sphere1,选择radius(半径)中的x数值(简写为radx),同理rady,radz。
故表达式为ch("../sphere1/radx")
ch函数的功能是:返回⼀个参数的数值
在window下的Hscript窗⼝可以查看命令的⽤法和释义
在window下的Hscript窗⼝可以查看命令的⽤法和释义语法
clear清空命令⾏
输⼊exhelp XX命令
bound节点定义了模型的边界框
相当于⼀个物体的外接⽅体
bbox命令:找到物体的边界点
找到边界点后,给⼀个transform节点,让transform节点的Y轴减去merge1的Y轴的最⼩ 值,就相当于让两个物体永远在地⾯上
节点如下
注意bbox表达式的使⽤,⼀样是bbox("../merge1“,D_YMIN") bbox函数中不仅有D_YMIN,还有
有XYZ的最⼩值以及XYZ的外接框的尺⼨⼤⼩
在houdini中创建字体,C4D中叫TEXT,houdini中叫font
scatter在物体表⾯洒点的节点【只是表⾯,如果内部洒点就⾏不通了】 在试图的view界⾯按D键在geometry中可以调节点的显⽰⼤⼩
如果想在内部填充点的话可以使⽤pointsfromvolume
但是默认调节的特别规矩
可以调节这两个属性以改变
或者先使⽤vdbfrompolygons让polygons模型转化为vdb,再⽤scatter去连接,产⽣内 部点
可以不勾选relaxlterations
⼀个是这个功能会让点重新排布让点的分布不那么随机,另⼀点是这个功能会增加计算量
vdbfrompolygons勾选fill interior
switch节点,切换多条路线
调整input数值就可以选择路线
做⼀个预设,当模型加载进来的时候显⽰模型,当模型未加载的时候显⽰HOUDINI预设物体的状态,⽤SWITCH切换
npoints函数,计算物体点的数量
例如npoints("../merge1")即显⽰merge1物体的点的数量
代表opinputpath代表从某路径检索,"."代表当前节点,0代表第0条路径,当然直接写
object_merge1也可以
检测结果,当物体的点的数量等于0的时候,输出结果为1,switch输⼊1,输出路径1的结果,当物体的点不为0的时候,输出结果为0,输出路径0的结果,总结
TRUE = 1
FAULSE = 0