What & How & Why

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
vfx:houdini:concepts:geo:primitive [2019/10/09 12:48] – [Displacement and subdivision surfaces] codingharevfx:houdini:concepts:geo:primitive [2021/11/11 08:07] (当前版本) codinghare
行 2: 行 2:
 <color #7092be>//Ver.17.5//</color>\\  <color #7092be>//Ver.17.5//</color>\\ 
 Houdini 关于 //Primitives// 的相关知识点 Houdini 关于 //Primitives// 的相关知识点
-===== =====+----
 ====什么是Primitives==== ====什么是Primitives====
 在 //Houdini// 中,//Primitive// 代表了几何体的单位。//Houdini// 中可以表示为 //Primitive// 的单位有: 在 //Houdini// 中,//Primitive// 代表了几何体的单位。//Houdini// 中可以表示为 //Primitive// 的单位有:
行 94: 行 94:
     * 其他实例共享该划分过的实例     * 其他实例共享该划分过的实例
   * 这意味着远处的对象可能会获得更多的(不必要)的细节。这可能会导致渲染的减速;但因共享而带来的好处可能要更加有价值一些。 \\ \\ 在比较极端的情况下,如果上述这种“不正确”的划分导致了问题,我们可以将该用于分享的实例分解为两个对象,一远一近。这样我们就可以对不同的对象进行不同等级的细分,从而达到按照远近进行恰当划分的效果。\\ \\ 同时,我们也可以解包离摄像机近的对象,将其从 ''highest necessary dicing level'' 选项中移除。   * 这意味着远处的对象可能会获得更多的(不必要)的细节。这可能会导致渲染的减速;但因共享而带来的好处可能要更加有价值一些。 \\ \\ 在比较极端的情况下,如果上述这种“不正确”的划分导致了问题,我们可以将该用于分享的实例分解为两个对象,一远一近。这样我们就可以对不同的对象进行不同等级的细分,从而达到按照远近进行恰当划分的效果。\\ \\ 同时,我们也可以解包离摄像机近的对象,将其从 ''highest necessary dicing level'' 选项中移除。
 +==Attributes==
 +  * Disk / Memory Packed primitives 中的实例实质上是一个简单的指针。该指针指向被分享的源几何体的内存地址(或硬盘位置),因此所有的实例都无法拥有自身的属性(除开 material / vel attribute ,Houdini 对该两种属性做了特别处理)
 +  * Packed fragment 实例可以拥有//独立//的属性,因为这些 fragment 是被“//拼合//”在一起的(引用的源几何体的子集)。但这也意味着 Packed fragment 的效率并不如 Disk / Memory Packed primitives 。
 +  * Alembic primitive 也不能拥有自身的独立属性。不过,在 Mantra 中,针对 Alembic 有一个 ''unshare'' 的选项。该选项会消耗大量的内存,但允许 Alembic 的实例拥有独立属性,并可以在 render time 使用。
 +<wrap lo>How Material / Vel works</wrap>\\ \\ 
 +Mantra 会为 Packed primitives 建立一棵虚拟的对象树,然后会将对应的 material attribute 拷贝到该书上的每一个虚拟的对象(如果这些虚拟的对象都没有 material attribute 的话)。因此 几何体对象上的 materials 将会正确的应用到 Packed primitives 上;''vel'' 同理。
 +\\ \\ 
 +可以通过 ''Render State''(VOP)/ ''renderstate'' (VEX)访问在 //Packed primitives// 上的属性。
 +\\ \\ 默认情况下 Houdini 不会查看 //Packed primitives// 中的 ''material'' 属性。在 Mantra 中启用 ''Declare all SHOPs'' 可以修复该问题,但也会导致 IFD 体积增大。
 +
 ====Polygon soup==== ====Polygon soup====