消除锯齿
伴随着市场的飞速成长,客户对我们的软件也提出了更高要求。在虚拟浮雕中,矩形网格的特性决定了,在设计深浮雕、棱角清晰的浮雕(如部分饰品或带建筑物的纪念币等)、或设计简单的有直侧壁或准直侧壁的注塑模等模型时,侧面通常会有锯齿出现。设计上的锯齿现象影响加工出来的产品效果,增大了后期处理工序的难度,在一定程度上限制了虚拟雕塑的应用范围。
为了积极响应市场需求,在JDPaint5.5中,创新性的引入准矩形网格曲面的概念,根据准矩形网格的特性增加了消除锯齿功能,开创了浮雕类软件侧面无锯齿的先例。从而很大程度上的弥补了原有浮雕模型在加工成金属模具时所暴露出的不足,也必将进一步扩大虚拟浮雕在模具行业的应用范围。
▲图 1-A 矩形网格
▲图 1-B 准矩形网格
▲图 1-C 光滑 90 度直侧壁云板(局部)
▲图 2 同一云纹模型局部(消除锯齿前)
▲图 3 同一云纹模型局部(消除锯齿后)
图 1-A 和图 1-B、图 1-C 分别为用矩形网格和准矩形网格设计的模型,图 A 中圆圈处有锯齿(放大观察比较明显),图 1-B 及图图 1-C 中圆圈处是光滑的。
要实现消除模型的锯齿,在虚拟雕塑中除对原有的操作命令作适当调整外,还增加了相应的新功能。为了便于正确理解和操作准矩形网格,应用好消除锯齿功能,接下来要对准矩形网格的概念、命令实现的基本原理、操作步骤及相关选项等作详细的说明。
消除锯齿所涉及到概念名词解释:
1、什么是锯齿
用矩形网格曲面表示的浮雕模型,直侧壁或准直侧壁通常会有不光滑的现象,称之为锯齿。矩形网格是通过改变网格顶点的 Z 坐标来描述模型的,在所有的后续操作中顶点的 X、Y 坐标是不改变的。
利用矩形网格的这种简化约定,才有可能在渲染的状态下对数百万到千万顶点数的模型进行浮雕造型。也正是这种简化约定决定了用矩形网格为构造框架的浮雕类软件(图像软件)不能表现严格的直侧壁(90 度直侧壁),边界会有小于 0.5 个步长的误差,直侧壁,准直侧壁处会有锯齿现象。要解决边缘锯齿现象,必须从否定浮雕软件中最基本的假设――简化约定的网格顶点 X、Y 坐标不能改变入手,创建一种新的网格基型,那就是准矩形网格。
2、什么是准矩形网格曲面
所谓准矩形网格曲面是在矩形网格曲面的基础上,去掉顶点 X、Y 坐标不能移动的约定,为了适应现有的硬件环境,同时约定其移动的范围非常很小,绝大部分情况下小于一个步长;
并且把所有顶点分为边界顶点及非边界顶点,对边界顶点及非边界顶点在磨光等操作时可采取不同的策略,消除锯齿的过程就是把边界顶点与 2D 曲线或 3D 曲线对齐的过程。
3、边界顶点――引用该顶点的所有四边形中的顶点数,至少有一个顶点的颜色值与其颜色不相同。
4、内、外边界顶点――在消除单个特征的锯齿时,如果一个点是边界顶点,而且顶点的颜色与特征的颜色相同,则为内边界顶点。反之则是外边界顶点。
5、边界多边形――至少有一个顶点是边界顶点的四边形叫边界多边形。
消除锯齿的过程就是把边界顶点吸附到其附近的 2D 曲线/点(改变边界顶点的 X 、Y 坐标)或 3D 曲线/3D 点(改变边界顶点的 X、Y、Z 的坐标)上,并为这些顶点设置已对齐边界标志。消除锯齿后边界顶点的 X、Y、Z 坐标发生改变,边界多边形受到影响,边界局部可能出现新的不光滑现象,这时用磨光命令可消除新的不光滑现象。
在菜单栏里,新增了线框显示方式,在这种显示方式是按照模型步长为单位的网格显示,便于我们直观的理解消除锯齿命令的工作原理,能够清晰的显示边界顶点。如图 4 所示,蓝色区域显示的是特征边界。
▲图 4
▲图 5 没有消除锯齿前的矩形网格俯视图的局部显示
消除锯齿,特征边界对齐边界曲线的过程,图中边界顶点都用菱形小块标注了。
▲图 6
运用消除锯齿里的“指定特征边界”命令后,边界顶点与 2D 曲线在 X、Y 方向上对齐,如果是 3D 边界曲线就是在 X、Y、Z 方向对齐。
▲图 7
在 JDPaint5.5版中,既可以像以前的版本一样处理矩形网格曲面,也可以处理准矩形网格曲面。达到消除锯齿的效果,可以在建模的过程中与其它命令有机结合;亦可直接用以前的方式用矩形网格建模,完成之后再对需要消除锯齿的地方进行消除锯齿操作。
消除锯齿功能的详细说明:
实现命令的操作步骤及其选项详解,冲压勾选生成光滑直侧壁选项,擦除边界标志说明,磨光中的相关选项。
1、矩形网格与准矩形网格的相互转化
在虚拟雕塑环境下,有两种方式把矩形网格转化成准矩形网格:在颜色特征内冲压时,预选边界曲线,选择生成光滑直侧壁,就可把当前的矩形网格转化成准矩形网格;在特征菜单下,选择消除锯齿命令后,也可把当前的矩形网格转化成准矩形网格。通过消除锯齿下的转为矩形网格选项,可以把当前的准矩形网格转为矩形网格。
▲图 8
冲压,选择生成光滑直侧壁,可把当前模型转为准矩形网格。
2、消除锯齿
消除锯齿通常要具备的两个条件,不同颜色特征之间的边界和边界上的 2D/3D 线,单线定义边界方式消除锯齿例外。
▲图 9 消除锯齿命令导航栏
A. 指定特征边界——指定单个要消除锯齿的特征边界。具体操作是先预选该特征边界的边界曲线,再左键点击指定的颜色特征。如图 10 所示指定其中蓝色区域单独进行消除锯齿操作。
▲图 10
B. 所有颜色边界——对模型中所有的特征边界消除锯齿操作。预选所有边界曲线,选择该项右键结束命令,完成操作。预选所有的边界曲线对所有颜色区域进行消除锯齿操作。
▲图 11
C. 单线定义边界——可以不需要颜色特征,仅通过单线定义对齐边界。预选单线,选择该项右键结束命令,完成操作。在单线定义的区域内填色,以及相关后续设计的浮雕模型直侧壁是光滑无锯齿的。
▲图 12
在单线定义的区域内填色,以及相关后续设计的浮雕模型直侧壁是光滑无锯齿的。
▲图 13
▲图 14
D. 删除特征内边界——在进行消除锯齿的操作时,需要指定特征边界,同时会在模型上指定的位置作上标志,以保证边界顶点在坐标 X、Y 向不动,使直侧壁光滑。当新的特征区域与已经消除锯齿区域相交,已经指定的特征边界位于新特征区域内部,那么在该处所作的边界标志会影响后续操作,这时需要运用删除特征内边界命令把特征内部边界删除,以便操作。
▲图 15
应用命令后,特征内的边界标志被删除掉了。
▲图 16
E. 转为矩形网格——根据需要可以应用该命令把现有的准矩形网格模型转为矩形网格。
F. 调整特征边界顶点 Z 坐标——根据需要,对边界顶点进行适当的调整以保证准直侧壁或90 度直侧壁光滑。在不勾选只操作流动层的情况下,边界顶点调整到的数值就是把该特征边界顶点的 Z 坐一致标置为输入的数值;在勾选只操作流动层的情况下,输入的数值就是流动层上的边界顶点 Z 坐标的变化范围。
只操作流动层选项——该选项只对调整特征边界顶点 Z 坐标命令有效。
只操作颜色那边界选项——该选项只对指定特征边界命令有效,勾选该选项,只有特征内边界顶点与边界曲线对齐,特征外的边界顶点则不变。
3、曲面上特征消除锯齿
这是一种针对实际应用消除锯齿的说明。如图 17 所示,圆的里面要起个区域浮雕,然后在曲面上做出花瓣,要求边缘清晰无锯齿。
▲图 17
首先,圆形区域内填色,运用消除锯齿功能里面的指定边界命令消除圆形边界锯齿,再起区域浮雕。
▲图 18
基高为 1 的区域浮雕直侧壁边缘不光滑。
▲图 19
运用调整特征边界顶点 Z 坐标,边界顶点 Z 调整到 1,直侧壁变光滑。
▲图 20
对曲面上的花瓣填色。
▲图 21
为了让所做的花瓣边缘清晰无锯齿,可以先对填色区域进行消除锯齿操作。
▲图 22
再做区域浮雕,则花瓣边缘清晰无锯齿。
▲图 23
消除锯齿(边界磨光)
消除锯齿(边界磨光)它的优点是不需要线,直接把颜色区域的边界顶点磨光,可用在没有二维线、外型尺寸要求不高、仅是要求边界光滑的场合。如图 24 所示。
▲图 24 消除锯齿(边界磨光)
▲图 25 消除锯齿(边界磨光)对话框
操作步骤:
1、选择命令“特征→消除锯齿(边界磨光)”。
2、设置参数,输入磨光次数、磨光选项。
3、点击磨光边界周围的颜色区域,达到所要磨光效果即可。