数字场景的绘制

2024-07-30

数字场景的绘制 篇1

"CG”这个名词相信大家都不会陌生。在如今的数字化信息时代, 互联网的飞速发展为我们的生活带来了很多的便利和乐趣, 同时也让我们更多地了解和感受到了计算机图形 (也就是我们所说的CG) 所产生的魅力。

在从事动画行业的这段时间里, 我对于CG的发展可以说感触颇深。回忆儿时喜爱的那些动画片, 与现如今的动画片相比, 二者除了在剧情设计和功能上有了一些变化以外, 给我感触最直观的就是视觉上所带来的改变。

在动画发展的过程中, 数字化技术的发展对其产生了深远的影响。传统动画的制作主要是以手工绘画为主, 这在某种程度上大大增加了繁琐的制作流程, 导致动画产量不大, 且不易修改的问题。在计算机图像发展以后, 动画的制作慢慢地从传统的有纸动画发展到如今主要的无纸动画的制作方式。数字技术的发展给动画的制作带来了很多的便利, 让其中过多的环节得以简化, 图像制作更为细致, 产量大大增加, 从而在目前的市场经济环境中体现出其巨大的市场价值。随着计算机图像的飞速发展, 动画的表现形式也从传统的二维动画发展到了视觉效果更加逼真的三维动画, 同时也延伸到了影视特效的一些制作领域, 从而带来了前所未有的视觉革命。

当然, 传统的动画制作形式也拥有数字化动画很难达到的优势。传统动画保留着自然、写意的一些艺术特点, 数字制作的画面虽然在视觉上给人以极大的享受, 但是总会表现出一些生硬的感觉。

那么如何在使用高效的数字制作手段的同时, 还能保留传统绘画的那种自然的感觉呢?数字手绘板的诞生解决了这一问题。它虽然不能完全地模拟传统绘画的那种自然的感觉, 但是其效果和使用方式上已经相当接近了。数字手绘板结合软件的使用, 实现了绘制着色一体化的方式, 优化了创作环节, 同时也更便于修改。如今数位板在CG创作的领域中使用已经相当普遍, 不仅在绘画软件的使用上有着不可替代的位置和作用, 并且在一些三维制作和设计等软件中也得到了广泛的应用。

那么在数字化图像的创作中, 数位板的使用能达到一种什么样的效果, 与传统绘画的过程有什么样的区别呢?本文将以参照真实场景的绘制实例, 来介绍并分析使用数位板绘画的一些绘制过程, 希望对需要的朋友有些帮助。

一、工具的选用

既然是模拟现实绘画的方式, 那么在计算机中绘制时需要的工具便和传统绘画中使用的画笔在使用方式上基本相同, 其功能也与画笔类似。一只具有压力感应的数字画笔和一块接收压力感应的模拟画板相结合, 在画笔压力的感应下, 计算机上可以显示出与之相符的绘画笔画, 并带有虚实、轻重之分的效果。这种数字绘画的工具称为数位板。

数字绘画的画面是呈现于计算机中的图像, 那么必须有一个平台作为其在计算机中显示的载体, 这个载体就是绘制软件。用于在计算机中进行绘制的软件有很多, 比较主流的有Photoshop和Painter两款软件, 同时还有一些小巧好用的图像制作软件。这两款主流软件的功能齐全, 并且数字笔刷模拟得较为真实, 对于喜欢创作插画和艺术绘画的朋友应是首选。但是, 在软件的使用和选择上, 软件毕竟只是创作的工具, 绘画的作品成功与否主要还是和自身的造型能力、色彩把握能力等相关的美术基础有关, 所以只要选择适合自己的就好。在此文中我将以Painter作为绘制工具给大家介绍。

二、绘画前的准备

在正式绘制之前, 需要做一些准备工作。首先是确定绘制的对象, 是场景、角色还是其它一些绘画形式内容。在确定好绘画对象之后, 就需要根据对象绘制线稿。当然这个线稿可以直接在软件中绘制, 也可以在纸上绘制, 然后通过扫描仪传输到电脑中去。在动画场景或者插画绘制的时候, 我们可以根据绘制内容的需要在现实场景中寻找一些有关的影像素材, 然后通过修改和加工来作为绘制的基础。这样的好处是可以快速地把握画面的内容和创作元素。本例中将以真实的雪山场景作为素材进行绘制 (如下图) 。

三、绘制第一阶段——色调的把握

在一切工作准备就绪以后, 我们就可以进入到绘制软件中来进行绘制了。

对于第一次使用Painter软件绘制的朋友, 可能会被软件中琳琅满目的笔刷所迷惑, 不知道该选用何种笔刷来进行绘制。其实大家不必担心, 在逐渐熟悉数字绘画软件以后, 你会发现常用的笔刷并不是很多。不同的笔刷所对应的笔触效果不一样, 刻画出来的图像表现的画面感也不一样。但是对常规绘制来说, 不需要在画面的表现形式和肌理效果上有突出的强调, 那么两到三种笔刷就足够使用了。为了突出绘制过程中的一些方法和技巧, 而不是把注意力放在笔刷的使用上, 此例中将只使用“钢笔”笔刷进行绘制 (如下图) 。

在绘制开始后, 第一步要做的就是确定画面的大体色调。

相信学习过绘画的朋友都知道色调的重要性。但在这里需要注意的是, 在现实绘画中, 比如画水粉画或水彩画的时候, 我们通常会把色调、明暗关系和固有色一起处理在画面上, 因为现实颜料在使用中不易覆盖的局限性, 颜料的涂抹不易叠加, 很多时候要求上色一步到位, 所以要求我们对画面的色彩关系、素描关系有很高的掌握能力, 否则就很容易沉浸在细节的处理上而失掉了画面的整体感, 让整个画面凌乱不堪。

那么在数字绘画中就不存在这样一种局限。我们可以很方便灵活地在软件中为绘画的每一步分离图层来进行绘画, 而且可以使用颜色叠加的方式产生丰富的画面, 而不会像现实绘画那样因为颜料的覆盖让画面脏掉。同时, 对不满意的地方可以用橡皮擦去擦除, 而不会留下任何痕迹。从这两点来说就大大增加了数字绘画的灵活性, 从而也大大增加了创作的体验感, 让创作者体验不同的色彩搭配和绘画方式而不必担心破坏画面。

在使用数位板绘画的时候, 开始应先确定画面的大体色调。确定色调有利于很快地把握和确定画面中的光源、素描关系和色彩倾向。这样会为后面的绘制带了很多的便利。

在确定大体色调的时候, 要分析画面的主要光源和环境光源。因为这两个光源是直接影响画面的色彩和素描关系的主要因素。本例中的主光源为阳光, 环境光源为天光。在最初绘制大体色调的时候, 我比较习惯把画面整体处理成和天光相近的冷色调。因为在整个场景中, 天光的覆盖面积最大, 而且对山体来说, 本身就比较偏向冷色调。这样的好处是首先能够把握大体的一个环境基调, 而且在后面绘制的过程中, 对受主光源阳光照射下的受光面来添加暖色的基调, 为受天光影像下的山体的背光部添加较重的冷色调, 这样就很容易地体现出冷暖对比, 为场景添加空间感和层次感 (如下图) 。

四、绘制第二阶段——为画面强调素描关系

素描关系的重要性不言而喻。色彩图像绘制的主要基础因素就是对画面素描关系的把握。

绘制画面的素描关系, 在大体色调的基础上, 为画面添加受光部和暗部的层次, 以此来拉开明暗的对比和空间的变化。对受光部的绘制, 以太阳光的暖光源为主;对暗部的绘制, 主要以环境光的冷光源为主。

在明暗关系的处理上, 我们可以大体分四个层次, 如受光面、次光面、背光面和反射面。在不同层次绘制的时候, 可以利用软件的图层来独立绘制, 这样的好处是可以独立地控制和调整每一层的画面内容。

对于前景的枯草和树林, 我们可以大致地描述一下, 因为画面以后面的雪山为主体, 前景我们可以人为地去削弱, 以此体现画面的层次感 (如下图) 。

在分层绘制不同层次的明暗关系时, 对于笔刷的透明度控制要随着叠加的层次而不断降低。因为本例中的场景是自然状态下的山体, 其结构层次比较复杂。那么在绘制的时候要尽量降低钢笔笔刷的透明度, 以达到在绘制完一层的时候可以看到下面一层的内容和效果, 从而产生交错复杂的画面内容, 以此模拟山石嶙峋的自然效果 (如下图) 。

五、绘制的第三阶段——为物体添加固有色

在素描关系绘制完毕后, 下面就是为场景中的物体添加固有色了。

相对于前面的一些基础准备步骤, 固有色的绘制可以说是整个绘制流程中另一个阶段的开始。所以要在前一阶段准备的基础上新创建一个图层, 并以正片叠底的方式叠加图层 (如下图) , 这样在添加物体固有色的时候, 同时也显现出前一阶段绘制的光影效果。在此基础上, 固有色的添加就相对比较简单了, 只需考虑场景的固有的色彩而不用考虑场景的明暗关系。

六、绘制的第四阶段——为画面添加局部细节

在以上工作绘制完成后, 画面的整体感基本体现出来了。下面的工作就是给画面添加细节的处理。

细节的处理包括高光的添加、明暗交界线的增强、环境光的调整和虚实关系的调整等 (如下图) 。

在细节处理工作中, 需要不断地观察和比较, 在色彩和明暗关系的把握中要细心地体会。待完成后, 对画面的整体色调和光感再进行最后的调整。在最后画面的绘制处理上, 整体运用比较明确的笔触效果和饱和度较高的色彩关系, 并以此达到较为生动自然的画面感觉 (如下图) 。

论实时绘制大规模场景的各种技术 篇2

关键词:三维场景;大规模场景

Various Technologies of Real-time Rendering Large-scale Scenes

Zhang Fengjuan

(Tianjin University,Tianjin300072,China)

Abstract:In recent years,real-time computer graphics,graphic design has become a research focus.In this paper,I will introduce in detail the development of a real-time rendering large-scale program system for three-dimensional scene by the various techniques used.

Keywords:Three-dimensional scene;Large-scale scene

一、采用3DS Max建模软件对三维场景进行建模

作为一款历史悠久,极富特色的强大三维软件,3DS Max具有强大的三维建模功能。它的建模方式多种多样。在3DS Max里可以进行面片、网格和NURBS曲线建模,使许多复杂物体的建模得到简化。3DS Max的建模技术很多,一个对象的建立可以使用多种造型技术实现。如基本造型、放样造型、合成造型等。本次课程设计中,通过使用3DS Max建模,得到了建筑物等模型。

二、纹理映射技术

为了使我们要绘制的图形看起来更真实,可以在物体表面实现绘制纹理的功能。纹理其实就是指物体表面的二维图形,我们把纹理按照一定的方式贴到物体表面,能够使物体看上去更加真实。

要将指定的多个纹理根据自己的需要映射到不同的面上,需要对位图创建一个数组,用来存储位图的名称,然后在初始化OpenGL的时候,可以读取这些位图,然后生成多个纹理存储到一个纹理数组中,接着就可以指定绘制的某个面,对该指定的面进行纹理映射。

使用纹理映射的步骤一般为:载入贴图、绘制贴图、贴图模式的开启与关闭、带光照效果和纹理贴图的图形绘制。

OpenGL中通过指定三角形顶点的在纹理数组的二维坐标,就可以确定三角形内部各个点的贴图纹理座标,从而实现纹理对三角形的覆盖。

三、融合技术

融和(blending)是OpenGL中的一种特殊效果处理方法。融合提供了一种透明或半透明技术。它允许我们混合像素,我们通常用已经光栅化的像素光栅化同一位置的像素。换句话说就是我们在图元上混合图元,这种blending技术允许我们完成多种特效。

首先我们需要结合像素颜色,就是用以前写过的目标像素值去估算源像素值。通过设置不同的源和目的要素,我们能够创造很多不同的混合效果。我们还可以利用一个alpha通道制定透明度来渲染一个纹理,Alpha通道是额外的设置位,用它来保存每一个点的alpha值。当一个纹理被映射到一个图元上时,在alpha通道中的alpha信息也被映射,并且它们利用alpha信息为每个像素赋予纹理。概括的说,使用融和技术的必要步骤是:设置混合要素;假如使用alpha,要指定材质和alpha通道;允许alpha混合渲染状态。

四、三维地形模拟技术

地形是自然界复杂的景物,因此三维真实感地形的绘制一直是国内外计算机图形学关注的热点。随着计算机及图形图像技术的发展,地形可视化的应用越来越广泛。三维地形可视化是研究数字地形模型或数字高程域中显示、简化、仿真等内容的学科。由于OpenGL具有可实时交互操作的优点,所以更适合于空间信息的三维构建,因此它的应用最为广泛。

真实地形的构造,通常采用经纬度构成的规格化网格体逼近的方法,其主要关键技术在于获取网格点的关键参数。

五、粒子系统

粒子系统的应用非常广泛,大量的自然现象可以被精确或近似地使用粒子系统模拟。火焰,喷泉,爆炸,鱼群,气体,星空等等。他们的原理相似。粒子的运动一般都遵循一定的物理学方程。通常这些粒子有如下这些相同的属性集:位置、速度、加速度、生命值、衰减。

下面的伪代码描述了粒子系统运行的流程:

对每一个粒子组

指定group j为当前粒子组

产生新的粒子

改变粒子组属性

更新粒子位置

绘制粒子

end

六、雾化技术

雾是大自然中最常见的现象之一,有了雾的效果,场景看起来会更加真实。在OpenGL中,很容易实现雾的效果。

在OpenGL中,雾的工作模式有两种:线性模式和指数模式。这两种模式是根据雾的浓度变化来区分的。

在线性模式下,只需要提供一个距离视点的开始位置和结束位置。从开始位置到结束位置之间,雾的浓度越来越高,浓度的变化和距离成正比。

在指数模式下,雾的浓度随着距离的增加呈指数增长。这种模式通常用来用于烟雾、烟幕等效果。

启用雾化的效果必须使用glEnable(GL_FOG),同样,取消雾的效果就是glDisable(GL_FOG)。启用雾化后,还需要设置雾的参数才能够真正实现雾的效果。设置雾的参数的命令是glFog。

七、碰撞检测技术

为了增强真实感,在虚拟场景中进行漫游时,必须进行碰撞检测。这是因为,有了碰撞检测,才可以避免诸如观察者飞入地下或者穿墙而过等不真实情况的发生。目前,有多种方法可以实现碰撞检测技术。本程序从观察者的角度出发,采用运动中的观察者与静态的虚拟环境之间的碰撞检测算法。

在可视化系统中进行碰撞检测的一个常用的方法是采用包裹着物体对象的包围盒(bounding boxes),包围盒的各线段与坐标轴平行,包围盒即虚拟物体的最小长方体。采用包围盒进行碰撞检测的最大好处是可以快速进行碰撞检测。

八、计算机动画技术

利用计算机图形学生成动画,不仅缩短了动画制作的周期,而且还产生具有震撼力的视觉效果。计算机动画技术让我们的世界发生了翻天覆地的变化。

计算机动画就是借助计算机技术生成一系列的画面,其中当前帧画面是对前一帧画面的部分修改。

OpenGL是在帧缓存中存储和操作像素数据。OpenGL通过双缓存技术来实现动画。也就是说,在显示前台缓存内容中的一帧画面时,后台缓存正在绘制下一帧画面,当绘制完毕,则后台缓存内容便在屏幕上显示出来,而前台正好相反,又在绘制下一帧画面内容。这样循环反复,屏幕上显示的总是已经画好的图形,于是看起来所有的画面都是连续的。实现这样的技术,我们需要调用SwapBuffers()函数,。SwapBuffers()函数要等下一屏幕更新之后才能较换前提和后台视频缓存中的内容。在交换前台和后台缓存中的内容之前,必须采用glFlush()和glFinish()进行同步。

九、billboard技术

公告牌技术,即billboard技术,在3D游戏中有着广泛的应用.它的本质就是用预先做好的几幅位图来代替3D物体,极大地节省资源和提高速度。

billboard技术采用于控制场景中的Texture的方向的方法,让他始终以一定的角度对着我们的镜头(一般是垂直于镜头)。如我们在3D游戏中看到的怪物的蓝、红和怪物名字、一些花草树木等,无论我们在哪个方向看它总是对着我们。

十、阴影效果

阴影投射矩阵的生成算法。设计函数void GenerateShadow()计算阴影投射矩阵,记录在二维数组shadow[4][4]中。

绘制阴影。

1.关闭光照和纹理贴图,设置阴影颜色。2.为防止阴影与投射平面重合导致绘图层次混乱,将阴影绘制平面上移一个小单位。3.对于四个阴影投射平面,分别计算阴影投射矩阵,并与当前模型视图矩阵相乘。4.由于当前模型视图矩阵被修改,要恢复之前的状态必须将运算前的矩阵压入矩阵栈,阴影绘制结束后弹出。

5.调用地球仪绘制函数DrawEarth()即可完成阴影绘制。通过对OpenGL和其扩展库glut的应用,采用天空盒、三维地形的绘制、3D模型的载入和贴图、动态水面绘制、雾化、计算机动画等技术,可以得到较为满意的场景演示效果。同时通过键盘和鼠标对视角的控制,漫游的用户体验较好。

当今计算机行业正以日新月异的速度发展,产业界和学术界也结合得越来越紧密。很多图形学的最新进展被用到商业游戏中,从而提高了真实感,增加用户体验。

参考文献:

[1]Donald Trim.App lied Partial D ifferential Equations[M].PW S2Kent,1990

[2]Ernst Hairer,Gerhard W anner Solving O rdinary D ifferential Equa2.tions I: Nonsitiff Problem s[M].New York:Sp ringer2Verlag,1996

上一篇:织里童装下一篇:地方地理课程资源