【微笔记】houdini难点之点云pcopen讲解
—— 微资讯 · 微课程 ——
利用零碎时间,走上超神之路!
课程概述
通过vop和vex两种方法还原attribute tranfer的功能。重点是理解点云的使用原理,同时理解属性传递的原理。
教程难度 ★★
教程质量 ★★★
点云是非常有用的功能,一种是教程中的用来获取指定范围内的属性,另外一种是用来制作扩散效果(其实原理都一样)但是对于很多新人来说理解起来比较困难。本案例通过对attribute transfer功能的vop和vex的点云还原,讲解了这个功能。小编也把自己思考和对比写下来,让大家更加清晰点云输入和输出必备元素和原理。PS:听日本人讲英语真心逗比~
视频教程
学习笔记
一 attribute transfer属性传递
对于属性传递,我们常用的是attributetransfer,它的核心原理是基于空间位置进行传递,也就是基于点的位置P属性之间的distance。
transfer中的核心元素
1颜色传递输入端:input2
2需要传递的属性Cd
3distance 传递半径
4隐含条件,是基于位置P属性进行传递。当然还有基于点序号@ptnum的比如attribute copy等
二 在pointvop节点中使用点云方法进行获取
pointcloud open节点中 四个必备参数
P输入位置P属性
file为输入源头,也是Opinput2,这个等价于attributetransfer的第二个输入端口
radius 半径,类似于distance
maxpoints 最大采样数量,这个在attributetranfer中没有
通过这个节点可以采样出端口二中点的各种属性,那么需要提取特定的属性
这个类似于attribute transfer中的points层级选择Cd
最终输出给Cd属性。
三使用vex完成点云功能
vex实际上就是vop的代码模式,使用了pcopen()函数和pcfilter()函数,重点是理解里面需要输入和输出什么参数,可以参考vop中的节点
pcopen的函数解释
返回值是int整形数组(返回点的各种属性)
pcopen(输入端口,路径P,矢量属性P,半径,最大点数量)
通过pcfilter 进行过滤,获得对应的Cd属性。
获得教程的方法: