Class 03

在6種合成類型中,Sublayers方式注重的是不同資源的整合,比如模型,動畫,燈光等組合成一個Stage。
References方式注重的是對資源的再次利用,比如從一個usd文件中引用一棵樹,從另一文件中引用一輛車放到某個位置,再次引用這輛車更改顏色后放到其他位置。為了更靈活的使用這些資源,根據(jù)不同的目的,References方式拓展出了其他4中合成方式,Inherits,Variant Sets,Payloads,Specializes。

在LOP里,Reference節(jié)點包含了其他4種合成方式,可以證明這一點。


Payloads方式和References的區(qū)別是Payloads方式可以選擇是否載入引用的資源,從而減輕場景負(fù)擔(dān)。

通過Configure Stage節(jié)點可以控制是否載入。


Variants方式把引入的資源當(dāng)作某個Prim的變體,是一種可以切換的References。



Inherits方式引入的資源可以繼承當(dāng)前場景某個Prim的屬性,從而達(dá)到不需要更改源usd文件而統(tǒng)一更改屬性的目的。這個Prim的specifier一般是def,over,class中的class類型。Inherits方式比較耗費性能,不建議過渡使用。



Specializes方式和Inherits方式相似,同樣是可以繼承當(dāng)前場景某個Prim的屬性。如果把這個Prim看作老板,所有的References看作員工,Prim要求換上白色外衣。對于Inherits方式,無論員工穿沒穿白色外衣,都要換成白色,對于Specializes方式,如果有的員工已經(jīng)穿上黑色外衣,那不需要再改成白色。


不同的usd文件合成在一起,如果不同種類的References都定義了同一Prim的同一屬性,那合成結(jié)果要采取哪一個屬性值。USD提供了LIVERPS?(“l(fā)iver peas”“肝豌豆”)強(qiáng)度排序規(guī)則,它是Local, Inherits, VariantSets, References, Payload, Specializes的縮寫,強(qiáng)度從強(qiáng)到弱。
