VEX —— Intrinsic attribute

编程入门 行业动态 更新时间:2024-10-15 16:23:21

<a href=https://www.elefans.com/category/jswz/34/1624874.html style=VEX —— Intrinsic attribute"/>

VEX —— Intrinsic attribute

目录

查看

使用

PackedGeometry


Intrinsic attribute 内在属性是已经被计算的(从几何体派生出来的),可像属性一样访问;

查看

  • ginfo -I,打印所有内在属性;
  • geometry spreadsheet,查看内在属性,默认不显示;
  • inspect tool,监视工具

注,不同类型的几何体,显示的内在属性也不同;

使用

  • 在Hscript内,属性名前需添加前缀 intrinsic:
  • 在VEX内,属性名前无需添加前缀;
  • 在Python内,可使用 hou.Geometry.intrinsicNames/.intrinsicValue()/.intrinsicValueDict() ;
  • 在组内,可使用如 @intrinsic:indexorder<100 ;
//Hscript
prim('.', 0, intrinsic:bounds, 1)
//VEX,不可使用@attribute读取内在属性
f[]@bounds = primintrinsic(0, 'bounds', 0);
i@pointcount = detailintrinsic(0, 'pointcount');

typeid、typename

PackedGeometry

  • primintrinsic()、setprimintrinsic();
  • getpackedtransform()/setpackedtransform(),packedtransform();

注,setpackedtransform与packedtransform,相差pivot;

//prim层级,以packed自身的pivot旋转和缩放
matrix3 m = ident();
rotate(m, ch('ang'), chv('axis'));
scale(m, ch('scale'));
setprimintrinsic(0, 'transform', @primnum, m);
//prim层级,packed对象
vector pivot = primintrinsic(0, 'pivot', @primnum);matrix m = ident();
rotate(m, @Frame*0.1, normalize(sample_sphere_uniform(rand(@P))));
translate(m, pivot);translate(m, normalize(pivot)*ch('dist'));setpackedtransform(0, @primnum, m);
vector pivot = primintrinsic(0, 'pivot', @primnum);matrix m = ident();
translate(m, -pivot);
rotate(m, @Frame*0.1, normalize(sample_sphere_uniform(rand(@P))));
translate(m, pivot);translate(m, normalize(pivot)*ch('dist'));packedtransform(0, @primnum, m);

 

更多推荐

VEX —— Intrinsic attribute

本文发布于:2023-11-15 12:46:05,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1599878.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:VEX   Intrinsic   attribute

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!