houdini帮助文档_用houdini做个简单版本的pcopen

虽然这篇文章是讲PCOPEN,但是17.5以后fuse SOP绝大多数时候都可以取代用vex写点云搜索,所以

用VEX写点云这个速度极慢的算法前,请先想想fuse SOP能不能做

众所周知,pcopen()(用handle的方法)比别的直接取ptnum的方法快,例如:nearpoints(),pccone(),pcfind()

原理上pgfind()也很快(根据文档),但是实际测试我测试是慢上百倍,甚至崩溃的

但问题是写起来特别累,我因为强迫症,每次用点云都写pcopen,写了几百遍,总结抽象出了FeE Point Cloud Open Wrangle SOP,现在很好写啦

类似的还有FeE Meta Wrangle SOP,不过这个懒得写文了,提一下

建议先学会做下面这个在做本文这个

五行精灵:用houdini生成参数方程图形的通用方案​zhuanlan.zhihu.com

核心也是一个attrib wrangle SOP解决,所以接下来讲这个的思路

为了之后暴露代码为参数,首先当然别忘了改这个

f94891c0691a3b8bfc2d580adf0f90b2.png

首先我们先写好pcopen()本体(核心)

91ecd1e2a056f9d9852699eeb75e6302.png

然后暴露参数

851bda9c077e080ac6177132c080c08f.png

首先当时要可以决定runover opinput0还是runover opinput1

以及runover 哪个class

然后根据帮助文档,不能用int决定opinput,得用string,否则不能使用高级的参数

所以内部代码一开始:

创建好searchsourceop和searchtargetop

1eed1f01e5824895256f12fec684ecac.png

然后将上面定义的参数统统传入pcopen

37ceb4392d5b27df1203950ca2b1efcd.png

这里出现了分歧,是否influenced by N,其实就是pccone()和pcfind()的区别

然后开始pciterate()

有经验就知道bypass_equal_elemnum是啥意思

e9d950e80fea55987c549dba850c3617.png

最后把pcopen整个流程可能会添加代码的部分暴露为参数即可

523f6a38cf363f68a38d32767905e9c2.png

关于run over opinput1的参数设定方面,有写过类似的经验就会知道要用run over number(所以说不是给新手看的啦),不过这里比一般的要复杂一些,所以要注意一下

b4d664316b21191a5d5a9aa2b5ebf8a1.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值