首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Renderman中的呈现实体

Renderman中的呈现实体
EN

Stack Overflow用户
提问于 2015-03-10 18:55:20
回答 1查看 89关注 0票数 0

这是关于没有Maya (或任何此类GUI)界面的19。

Renderman文档清楚地解释了如何定义实体:19/ribBinding.php#rib-entity-file-example,但它没有定义如何将实体包含在我们的主要代码中。

由于链接将来可能会失效,我将在这里引用文档的部分:

肋骨实体文件包含一个用户实体。肋骨实体文件是不完整的,因为它们包含的信息不足以向渲染器描述框架。肋骨实体文件依赖于渲染管理服务来集成到“合法”或完整的肋骨文件中。这些文件为3D“剪贴画”提供了机制,允许渲染管理器将对象插入到已有场景中。 肋骨实体文件必须符合“用户实体”部分中描述的用户实体约定。总之,用户实体必须由属性块分隔,必须具有name属性,并且必须完全包含在单个属性块中。还必须满足三项额外要求:

  • 标题提示:必须将##RenderMan肋骨结构1.1实体作为文件的第一行。
  • 实体必须建立在以原点为中心的对象坐标系中。
  • 实体必须有一个肋骨绑定请求,以提供用户实体中所有几何原语的单个边界框。

并附上实体示例的下列代码:

代码语言:javascript
复制
##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

现在,将同一段代码一次又一次地包含在主肋骨文件(所需的抽象)中是非常麻烦的,因此实体似乎是一个很好的方法。

那么,我应该如何将这些实体包含在我的主文件中呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-08 15:52:54

这可以通过使用Archive指令来完成。假设,我想将上面的代码包含在另一个文件中,比如main.rib,我只想说:

代码语言:javascript
复制
# main.rib
# other_stuff
    ReadArchive "unitcube.rib"

就好像rib代码是在main.rib文件中编写的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28971868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档