2008年8月26日星期二

Draw Order Display插件

概况

Rhino4 发布早期,所有的视图都默认使用OpenGL作为主要显示管线,然而Rhino的默认OpenGL引擎使用深度缓存绘图来绘制所有物体,包括线和面以及文字等。这意味着所有东西以一种明确规定的风格显示,也就是基于和相机的距离(深度)。因此就没有办法使距离相机较远的物体显示到前面来。

有了DrawOrder这个插件以后, 你就有了更多对物体显示的方式和顺序进行选择的可能性. 首先, 物体可以基于图层显示, 然后在指定图层, 物体可以按照用户自定义的顺序显示.

Rhino通常通过图层顺序将物体归类,但是因为之前提到的深度缓存,这种归类方式无法影响物体如何在屏幕上被显示的顺序 . 这个插件改变了这种情况,物体可以完全按照图层管理器里从上到下的顺序显示在屏幕上. 当你下移一个图层,这个图层上的所有物体将被移动到排列在这个图层之上的所有图层之后,上移图层就会得到对应相反的效果.

有时候仅仅只是给图层排序是不够的, 很多时候你要让一个物体显示到另外一个物体的前面或者后面. 这个插件同样试图解决这个问题. 一些命令允许你给特定图层里的物体排序, 让他们前移,后移,移到最前或者移到最后. 但是必须记住,这些命令只对同一图层的物体有效. 换句话说,你不能让物体显示到图层管理器里位置比它高的物体前面.

安装

下载并像安装其他Rhino插件一样简单……把插件拖放进Rhino, 或者用插件管理器加载. 然后你就可以创建一个新的显示模式或者只是修改现有的显示模式,并更改显示管线为"Display2D".

例子: (首先安装插件)

  1. 选择菜单Options->Appearance->Advanced Settings
  2. 选择显示模式,比如"Wireframe", 点击下面的copy按钮.
  3. 把模式重命名为"Ordered Wireframe" 或者其他什么...
  4. 点击新建的现实模式的"Other Settings"选项 ( Options->Appearance->Advance Settings->Ordered Wireframe->Other Settings) 更换显示管线设置为 "Display2D".

就这么简单. 现在任何一个你设置为"Ordered Wireframe" 显示模式的窗口, 就会按照图层的顺序显示. 当你在图层树中上下移动一个图层时会立刻显示更改.

不是所有着色模式(shaded modes)都很好的被支持, 无论如何, 深度测试只是在一个通过物体的基础上完成... 还没有方法让物体被正确深度缓冲(depth-buffered)又让他们显示在其他深度缓冲物体前面或者后面 . 但是, 任何3D物体(即非平面)会被深度缓冲然后因此被正确渲染.

界面

这个插件的界面就是层级管理器:

利用图层管理器和两个按钮(上图画圈部分), 你可以上下移动图层来确定物体显示的顺序. 但是上面方法可能还不是很灵活,因此还有以下四个命令可供选择:

  1. MoveForward  向前移动
  2. MoveBackward 向后移动
  3. MoveToFront  移动到最前
  4. MoveToBack  移动到最后

这些命令可以让你随意安排一个图层内的物体. 只要选择一个物体并使用上面的命令, 物体会做相应的改变. 同时有一个简单的工具栏 (下图所示) 对应上面的命令,如果你不愿意自己输入命令的话.

已知的限制

  • 当前不支持块物体. 显示结果无法预测.

*注:翻译的不是很好,有些词句可能不是很好理解,去掉废话,就是这个插件可以让物体按照图层顺序显示,一个图层内的物体又能按照指定顺序显示。这些功能在平面软件里比较常见。还有就是这个插件并不是很完善,有些情况不适用,但是基本上可以输出平面图效果的图纸。

没有评论: