很大声周刊,在这里记录日常工作、生活所见,每周一发布。
上期聊到通过手动增加 name 属性,将多个物体分布到点上,这种方式多数情况下是管用的。
可是想把被拆分成 100 块的石头,和另外一些多边形同时使用时就不能手动操作了,这种情况就是循环最擅长的事。
这里指的 循环 是编程中的概念,和字面意思一样,在特定条件下重复做某些事情。不止是 Houdini,任何编程沾边的环境下都是这样。
比如示例中,被拆分成 100 块的石头,和 3 个多边形,总共 103 个物体。
循环有一个很重要的特性是它的迭代值,是一个变量,它代表循环的次数,在当前需求下,正好可以用它来给每个物体命名。
这里创建了整数 variant 属性,属性值就是循环中的迭代值(示例中的写法是 Houdini 中定义的写法,不同编程环境写法会有差异,但逻辑完全相同),顺便还给每个物体创建了 UV。
接下来再通过刚刚定义好的 variant 属性将物体复制到点上。
做示例的过程中发现,不用循环也行,通过 Connectivity 节点 的 class 属性也可以做到,循环的重点在于分别对每个物体进行操作,比如示例中给每个物体创建 UV,就必须要通过循环才能完成。