这是关于没有Maya (或任何此类GUI)界面的19。
Renderman文档清楚地解释了如何定义实体:19/ribBinding.php#rib-entity-file-example,但它没有定义如何将实体包含在我们的主要代码中。
由于链接将来可能会失效,我将在这里引用文档的部分:
肋骨实体文件包含一个用户实体。肋骨实体文件是不完整的,因为它们包含的信息不足以向渲染器描述框架。肋骨实体文件依赖于渲染管理服务来集成到“合法”或完整的肋骨文件中。这些文件为3D“剪贴画”提供了机制,允许渲染管理器将对象插入到已有场景中。 肋骨实体文件必须符合“用户实体”部分中描述的用户实体约定。总之,用户实体必须由属性块分隔,必须具有name属性,并且必须完全包含在单个属性块中。还必须满足三项额外要求:
并附上实体示例的下列代码:
##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现在,将同一段代码一次又一次地包含在主肋骨文件(所需的抽象)中是非常麻烦的,因此实体似乎是一个很好的方法。
那么,我应该如何将这些实体包含在我的主文件中呢?
发布于 2016-01-08 15:52:54
这可以通过使用Archive指令来完成。假设,我想将上面的代码包含在另一个文件中,比如main.rib,我只想说:
# main.rib
# other_stuff
ReadArchive "unitcube.rib"就好像rib代码是在main.rib文件中编写的。
https://stackoverflow.com/questions/28971868
复制相似问题