Memo of some HScript and VEX Variables| 一些HSript Expression和VEX变量备忘整理

Houdini中代码主要有三种语言:Python,HSript,VEX。HScript有点像MEL,Maya里的老祖宗语言;Python是最近支持的,可能有点像PyMel这种。这三种语言的复杂关系可以看这个科普帖子

Python和HScript都可以写Expression的,笔者见到的还是用HSript比较多,Expression可以写在所有node的channel里,感觉主要是起控制作用的。VEX是写在wrangler这种node里的,语法类似C++,在Obj这个context里主要是用来建模用的。其它Contex里好像还有很多用处,笔者是不太懂了。目前主要用的是Houdini的建模功能。。。。
看教程的时候,经常见到写Expression时候信手拈来一堆HScript变量,但是又很难查到定义,用起来的时候又经常记不住,在这里总结一下和Vex里类似的变量吧。

定义
Expression-当前几何体
Expression-其它几何体
VEX
包围盒中心点
$CEX $CEY $CEZ
centroid(“../node”, id) —— 0-X 1-Y 2-Z
getbbox_center()
point数量
$NPT
npoints(“../node”)
@Npt, npoints(0)
primitive数量
$NPR
nprims(“../node”)
@numprim, nprims(0)
point id
$PT
 
@ptnum
primitive id
$PR
 
@primnum
vertex id
$VTX
 
@vtxnum
vertex数量
$NVTX
 
@numvtx, nvertices(0)
point颜色
$CR $CG $CB
 
@Cd.r @Cd.g @Cd.b
point位置
$TX $TY $TZ
 
@P.x @P.y @P.z
point法线
$NX $NY $NZ
 
@N.x @N.y @N.z
包围盒
$BBX, $BBY, $BBZ
bbox(“../node”, id)
getbbox_size(), getbbox()

用上面这些变量就可以快速获取信息,不用写函数了。

HSciprt Expression函数的参考文档见这里

个人见的比较多的是神奇的stamp,在foreach和copy里都会用到。其它的眼界太窄没太见过。。。

VEX函数的参考文档见这里

个人用的比较多的,point/vertex/prim/detail函数来获取几何体的attribute,各种addattribute,各种addgroup添加组,另外神奇的pc点云系列查找函数。。。。

有关HScript的变量定义的文章很少,官方文档里也不全(基本没人写过$CG是啥。。。),文章后面列了一些参考文章

参考文献:

有关各种Variable定义的

http://blog.sina.com.cn/s/blog_6856498b0100m55n.html

http://houdini.wikia.com/wiki/Expressions

https://sites.google.com/site/fujitarium/Houdini/sop/wrangle

http://www.sidefx.com/docs/houdini/ref/expression_cookbook.html

另外

HScript Expression的参考文档

VEX function的参考文档

欢迎关注微信公众号:码工图形

发表评论

邮箱地址不会被公开。 必填项已用*标注