これは、Maya (またはそのような GUI) インターフェイスのない Renderman Pro Server 19 に関するものです。
Renderman のドキュメントは、エンティティを定義する方法を明確に説明しています: https://renderman.pixar.com/forum/docs/RPS_19/ribBinding.php#rib-entity-file-example、しかし、エンティティを私たちのメインコード。
リンクは将来的に無効になる可能性があるため、ドキュメントの一部をここに引用します。
RIB エンティティ ファイルには、単一のユーザー エンティティが含まれます。RIB エンティティ ファイルには、フレームをレンダラーに説明するのに十分な情報が含まれていないため、不完全です。RIB エンティティ ファイルは、Render Management サービスに依存して、「合法的な」または完全な RIB ファイルに統合されます。これらのファイルは、Render Manager が既存のシーンにオブジェクトを挿入できるようにすることで、3D の「クリップアート」のメカニズムを提供します。
RIB エンティティ ファイルは、ユーザー エンティティのセクションで説明されているユーザー エンティティの規則に準拠する必要があります。要約すると、ユーザー エンティティは属性ブロックで区切られ、名前属性を持ち、単一の属性ブロック内に完全に含まれている必要があります。3 つの追加要件も満たす必要があります。
ヘッダー ヒント: ##RenderMan RIB-Structure 1.1 Entity をファイルの最初の行として含める必要があります。
エンティティは、原点を中心とするオブジェクト座標系で構築する必要があります。
エンティティには、ユーザー エンティティ内のすべてのジオメトリ プリミティブの単一の境界ボックスを提供する RIB バインド リクエストが必要です。
エンティティの例として次のコードが添付されています。
##RenderMan RIB-Structure 1.1 Entity
AttributeBegin #begin unit cube
Attribute "identifier" "name" "unitcube"
Bound -.5 .5 -.5 .5 -.5 .5
TransformBegin
# far face
Polygon "P" [.5 .5 .5 -.5 .5 .5 -.5 -.5 .5 .5 -.5 .5]
Rotate 90 0 1 0
# right face
Polygon "P" [.5 .5 .5 -.5 .5 .5 -.5 -.5 .5 .5 -.5 .5]
# near face
Rotate 90 0 1 0
Polygon "P" [.5 .5 .5 -.5 .5 .5 -.5 -.5 .5 .5 -.5 .5]
# left face
Rotate 90 0 1 0
Polygon "P" [.5 .5 .5 -.5 .5 .5 -.5 -.5 .5 .5 -.5 .5]
TransformEnd
TransformBegin
# bottom face
Rotate 90 1 0 0
Polygon "P" [.5 .5 .5 -.5 .5 .5 -.5 -.5 .5 .5 -.5 .5]
TransformEnd
TransformBegin
# top face
Rotate -90 1 0 0
Polygon "P" [.5 .5 .5 -.5 .5 .5 -.5 -.5 .5 .5 -.5 .5]
TransformEnd
AttributeEnd #end unit cube
現在、メインの RIB ファイルに同じコードを何度も含めるのは非常に面倒なので (抽象化が必要です)、エンティティを使用するのが良い方法のようです。
では、これらのエンティティをメイン ファイルに含めるにはどうすればよいでしょうか。