虽然这篇文章是讲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解决,所以接下来讲这个的思路
为了之后暴露代码为参数,首先当然别忘了改这个

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

然后暴露参数

首先当时要可以决定runover opinput0还是runover opinput1
以及runover 哪个class
然后根据帮助文档,不能用int决定opinput,得用string,否则不能使用高级的参数
所以内部代码一开始:
创建好searchsourceop和searchtargetop

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

这里出现了分歧,是否influenced by N,其实就是pccone()和pcfind()的区别
然后开始pciterate()
有经验就知道bypass_equal_elemnum是啥意思

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

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