【微笔记】houdini16 redshift instance实例代理渲染2枚
—— 微资讯 · 微课程 ——
利用零碎时间,走上超神之路!
教程导读
instance实例代理在很多渲染器中都有,比如redshift和arnold,这种方法的好处是可以渲染大量模型物体,速度非常快,因为本质上是指向一个或者多个reference物体。不过使用instance中有几个点需要注意的,一个是reference物体中的属性决定了大部分的渲染属性,比如在rs中,需要在reference物体中开启matte之后instance物体才会有matte效果等等。另一方面就是如何对参考物体的变化,比如如何采样多个instance物体,如果控制缩放大小和旋转,如何控制不同材质和渲染属性等。这个有点类似与houdini自身的material的实例化或者是copy节点的做法。
下面是两枚redshift 渲染instance的教程,其实和houdini自身的instance渲染很像,只是要注意一些小区别就行了。比如rs如果使用了instance,自身本体reference物体是不会渲染的。
视频教程
instance实例复制原理讲解
instance实例复制属性控制
学习笔记
第一部分:实例流程讲解
在obj层级下创建instance节点,进入内部其实是要给add节点,这个add节点在圆点创建了一个点。
在instance外部,找到instance标签,把需要实例复制物体拖拽到instance object物体栏中。设置point instacing模式为fast point instance,这样就完成了一个会实例复制。
如果进入instance内部,把这个add节点使用一个grid网格替代,可以看到类似与copy的效果,shpere是实例化复制到所有网格点上的。
instance的效率比copy的高效率很多,或者说类似与copy重点pack物体,本质上都是保留点(用来存储位置信息),而渲染的时候索引指向被替代物体。
然后直接赋予rs材质给背替代物体,用rs可以直接渲染。这里和houdini自身的instance流程是一致的。
第二部分:中级部分
如何使用属性进行自定义控制。比如随机不同的索引物体,大小和旋转
答案就是给point创建对应的属性进行控制
索引路径随机(实例复制不同的物体)
创建字符属性 instance属性
s@instance ="/obj/sphere_object1";
这样,教程中创建了一个数组,用于存储需要调用的物体的路径,然后通过@ptnum进行控制选取
string instances[];创建一个空的字符数组;
push(instances,"/obj/sphere_object1"); 使用push()函数给这个空数组添加两个物体路径。
push(instances,"obj/box_object1");
s@instance = instances[@ptnum%2];//通过下标进行索引值,因为目前数组一共有2个元素,也就是0-1,那么通过点序号与2的求余数可以获得0-1的两个值。
大家还可以试一下随机创建@pscale和@orient(4元素)进行控制。
获得教程的方法:
CG猎人VIP技术群:同步更新资源,交流技术,共同进步
其他获得资源方法