5月注定是开端月,虚拟现实学习从此开始。
做一个立即的行动派。
【第一天】概述
一、概念
1、定义:
虚拟现实技术是仿真技术的一个重要方向,是仿真技术与计算机图形学、人机接口技术、多媒体技术、传感技术、网络技术等多种技术的集合,是一门富有挑战性的交叉技术前沿学科和研究领域。虚拟现实技术(VR)主要包括模拟环境、感知、自然技能和传感设备等方面。
2、 内容
模拟环境是由计算机生成的、实时动态的三维立体逼真图像。
感知是指理想的VR应该具有一切人所具有的感知。除计算机图形技术所生成的视觉感知外,还有听觉、触觉、力觉、运动等感知,甚至还包括嗅觉和味觉等,也称为多感知。
自然技能是指人的头部转动,眼睛、手势、或其他人体行为动作,由计算机来处理与参与者的动作相适应的数据,并对用户的输入作出实时响应,并分别反馈到用户的五官。
传感设备是指三维交互设备。
3、发展历史:
虚拟现实技术演变发展史大体上可以分为四个阶段:
有声形动态的模拟是蕴涵虚拟现实思想的第一阶段(1963年以前);
虚拟现实萌芽为第二阶段(1963 -1972 );
虚拟现实概念的产生和理论初步形成为第三阶段(1973 -1989 );
虚拟现实理论进一步的完善和应用为第四阶段(1990 -2004 )。
二、技术特征
1、多感知性
指除一般计算机所具有的视觉感知外,还有听觉感知、触觉感知、运动感知,甚至还包括味觉、嗅觉感知等。理想的虚拟现实应该具有一切人所具有的感知功能。
2、存在感
指用户感到作为主角存在于模拟环境中的真实程度。理想的模拟环境应该达到使用户难辨真假的程度。
3、交互性
指用户对模拟环境内物体的可操作程度,和从环境得到反馈的自然程度。
4、自主性
指虚拟环境中的物体,依据现实世界物理运动定律动作的程度。
三、关键技术
虚拟现实是多种技术的综合,包括实时三维计算机图形技术,广角(宽视野)立体显示技术,对观察者头、眼和手的跟踪技术,以及触觉/力觉反馈、立体声、网络传输、语音输入输出技术等。下面对这些技术分别加以说明。
1、实时三维计算机图形
相比较而言,利用计算机模型产生图形图像并不是太难的事情。如果有足够准确的模型,又有足够的时间,我们就可以生成不同光照条件下各种物体的精确图像,但是这里的关键是实时。例如在飞行模拟系统中,图像的刷新相当重要,同时对图像质量的要求也很高,再加上非常复杂的虚拟环境,问题就变得相当困难。
2、显示
人看周围的世界时,由于两只眼睛的位置不同,得到的图像略有不同,这些图像在脑子里融合起来,就形成了一个关于周围世界的整体景象,这个景象中包括了距离远近的信息。当然,距离信息也可以通过其他方法获得,例如眼睛焦距的远近、物体大小的比较等。
在VR系统中,双目立体视觉起了很大作用。用户的两只眼睛看到的不同图像是分别产生的,显示在不同的显示器上。有的系统采用单个显示器,但用户带上特殊的眼镜后,一只眼睛只能看到奇数帧图像,另一只眼睛只能看到偶数帧图像,奇、偶帧之间的不同也就是视差就产生了立体感。
3、用户(头、眼)的跟踪:
在人造环境中,每个物体相对于系统的坐标系都有一个位置与姿态,而用户也是如此。用户看到的景象是由用户的位置和头(眼)的方向来确定的。
跟踪头部运动的虚拟现实头套:在传统的计算机图形技术中,视场的改变是通过鼠标或键盘来实现的,用户的视觉系统和运动感知系统是分离的,而利用头部跟踪来改变图像的视角,用户的视觉系统和运动感知系统之间就可以联系起来,感觉更逼真。另一个优点是,用户不仅可以通过双目立体视觉去认识环境,而且可以通过头部的运动去观察环境。
在用户与计算机的交互中,键盘和鼠标是目前最常用的工具,但对于三维空间来说,它们都不太适合。在三维空间中因为有六个自由度,我们很难找出比较直观的办法把鼠标的平面运动映射成三维空间的任意运动。现在,已经有一些设备可以提供六个自由度,如3Space数字化仪和SpaceBall空间球等。另外一些性能比较优异的设备是数据手套和数据衣。
4、声音
人能够很好地判定声源的方向。在水平方向上,我们靠声音的相位差及强度的差别来确定声音的方向,因为声音到达两只耳朵的时间或距离有所不同。常见的立体声效果就是靠左右耳听到在不同位置录制的不同声音来实现的,所以会有一种方向感。现实生活里,当头部转动时,听到的声音的方向就会改变。但目前在VR系统中,声音的方向与用户头部的运动无关。
5、感觉反馈
在一个VR系统中,用户可以看到一个虚拟的杯子。你可以设法去抓住它,但是你的手没有真正接触杯子的感觉,并有可能穿过虚拟杯子的“表面”,而这在现实生活中是不可能的。解决这一问题的常用装置是在手套内层安装一些可以振动的触点来模拟触觉。
6、语音
在VR系统中,语音的输入输出也很重要。这就要求虚拟环境能听懂人的语言,并能与人实时交互。而让计算机识别人的语音是相当困难的,因为语音信号和自然语言信号有其“多边性”和复杂性。例如,连续语音中词与词之间没有明显的停顿,同一词、同一字的发音受前后词、字的影响,不仅不同人说同一词会有所不同,就是同一人发音也会受到心理、生理和环境的影响而有所不同。
使用人的自然语言作为计算机输入目前有两个问题,首先是效率问题,为便于计算机理解,输入的语音可能会相当啰嗦。其次是正确性问题,计算机理解语音的方法是对比匹配,而没有人的智能。
7、虚拟现实渲染
① 渲染,是CG的最后一道工序(当然,除了后期制作)也是最终使你图像符合你的3D场景的阶段。英文为Render,也有的把它称为着色,但一般把Shade称为着色,把Render称为渲染。因为Render和Shade这两个词在三维软件中是截然不同的两个概念,虽然它们的功能很相似,但却有不同。Shade是一种显示方案,一般出现在三维软件的主要窗口中,和三维模型的线框图一样起到辅助观察模型的作用。很明显,着色模式比线框模式更容易让我们理解模型的结构,但它只是简单的显示而已,数字图像中把它称为明暗着色法。在像Maya这样的高级三维软件中,还可以用Shade显示出简单的灯光效果、阴影效果和表面纹理效果,当然,高质量的着色效果是需要专业三维图形显示卡来支持的,它可以加速和优化三维图形的显示。但无论怎样优化,它都无法把显示出来的三维图形变成高质量的图像,这是因为Shade采用的是一种实时显示技术,硬件的速度限制它无法实时地反馈出场景中的反射、折射等光线追踪效果。而现实工作中我们往往要把模型或者场景输出成图像文件、视频信号或者电影胶片,这就必须经过Render程序。
② 预渲染帧数,就是让CPU预先渲染游戏画面的一部分,然后让显卡处理剩下的,现在的高端显卡一般处理能力都比较强,所以预渲染就可以降低,使CPU功耗降低。
最大预渲染帧数就是让CPU满载运行,渲染游戏画面,CPU占用率会提高,一般不提倡,CPU高端就开,如果不高端,开了之后画面就会卡顿。两个都差不多,综合你的实际情况来开。
③ 渲染过程
首先,必须定位三维场景中的摄像机,这和真实的摄影是一样的。一般来说,三维软件已经提供了四个默认的摄像机,那就是软件中四个主要的窗口,分为顶视图、正视图、侧视图和透视图。我们大多数时候渲染的是透视图而不是其它视图,透视图的摄像机基本遵循真实摄像机的原理,所以我们看到的结果才会和真实的三维世界一样,具备立体感。接下来,为了体现空间感,渲染程序要做一些“特殊”的工作,就是决定哪些物体在前面、哪些物体在后面和哪些物体被遮挡等。空间感仅通过物体的遮挡关系是不能完美再现的,很多初学三维的人只注意立体感的塑造而忽略了空间感。要知道空间感和光源的衰减、环境雾、景深效果都是有着密切联系的。
渲染程序通过摄像机获取了需要渲染的范围之后,就要计算光源对物体的影响,这和真实世界的情况又是一样的。许多三维软件都有默认的光源,否则,我们是看不到透视图中的着色效果的,更不要说渲染了。因此,渲染程序就是要计算我们在场景中添加的每一个光源对物体的影响。和真实世界中光源不同的是,渲染程序往往要计算大量的辅助光源。在场景中,有的光源会照射所有的物体,而有的光源只照射某个物体,这样使得原本简单的事情又变得复杂起来。在这之后,是使用深度贴图阴影还是使用光线追踪阴影?这往往取决于在场景中是否使用了透明材质的物体计算光源投射出来的阴影。另外,使用了面积光源之后,渲染程序还要计算一种特殊的阴影--软阴影(只能使用光线追踪),场景中的光源如果使用了光源特效,渲染程序还将花费更多的系统资源来计算特效的结果,特别是体积光,也称为灯光雾,它会占用大量的系统资源,使用的时候一定要注意。
在这之后,渲染程序还要根据物体的材质来计算物体表面的颜色,材质的类型不同,属性不同,纹理不同都会产生各种不同的效果。而且,这个结果不是独立存在的,它必须和前面所说的光源结合起来。如果场景中有粒子系统,比如火焰、烟雾等,渲染程序都要加以“考虑”。
④ 后期处理
数字影片的后期处理,对录制完成的数字影片进行了剪接、加效果、加字幕、音乐等后期制作,当生成影片时需要将后加入的素材融合到影片中并压缩成为影片最终格式。这个一般都是这样,只是因环境的不同而不同。
⑤ 渲染滤镜
“渲染”滤镜在图像中创建云彩图案、折射图案和模拟的光反射。也可在 3D 空间中操纵对象,并从灰度文件创建纹理填充以产生类似 3D 的光照效果。
1)分层云彩
使用随机生成的介于前景色与背景色之间的值,生成云彩图案。此滤镜将云彩数据和现有的像素混合,其方式与“差值”模式混合颜色的方式相同。第一次选取此滤镜时,图像的某些部分被反相为云彩图案。应用此滤镜几次之后,会创建出与大理石的纹理相似的凸缘与叶脉图案。
2)光照效果
使您可以通过改变 17 种光照样式、3 种光照类型和 4 套光照属性,在 RGB 图像上产生无数种光照效果。还可以使用灰度文件的纹理(称为凹凸图)产生类似 3D 的效果,并存储您自己的样式以在其它图像中使用。
3)镜头光晕
模拟亮光照射到像机镜头所产生的折射。通过点按图像缩览图的任一位置或拖移其十字线,指定光晕中心的位置。
4)纹理填充
用灰度文件或其中的一部分填充选区。若要将纹理添加到文档或选区,请打开要用作纹理填充的灰度文档。并将它装入要进行纹理填充的图像的某一通道中(新建),执行完效果后,可以看到灰度图浮凸在该图像中的效果。
5)云彩
使用介于前景色与背景色之间的随机值,生成柔和的云彩图案。若要生成色彩较为分明的云彩图案,请按住 Alt 键并选取“滤镜/渲染/云彩”命令。
6)【Proe中的渲染】
Pro / E 提供了制作高质量图像的渲染工具,能使零件或装配的显现近乎于照片。使用Pro/E的渲染功能,给予各零件色彩及相应的透明度,可是所设计的产品立体分明,更具视觉效果。而不必通过产生样机或实物模型来比较外观。特别是值入了 CDRS2001 里的高级渲染功能 Photolux,增加渲染的特殊效果而设的指令,可以做出雾效和透镜闪光等效果。可以将产品模型置于特定的环境,比如室内,你可以在此设置地板、四壁和天花板的背景,可对背景进行预览、尺寸和位置的调整;可以在特征或某个表面上设置材质,定义表面颜色、透明度、粗糙度和纹理等;另外,运用贴图功能在产品和包装上生成和附加常规的标记和图案,指定每个图案的大小、位置和透明度;指定光线类型颜色和强度,方便地选择和控制阴影的形式。
⑥ 渲染测量
在 Photoshop 文档窗口中查看图像时,消失点测量将不可见,即使此测量已保留在图像中并且会在启动消失点时出现。可以渲染测量,以便在您完成消失点中的工作后,这些测量在 Photoshop 文档窗口中可见。渲染的测量是栅格,而不是矢量。
打开“消失点”菜单并选取“渲染测量至 Photoshop”。必须为每个消失点会话选取“渲染测量至 Photoshop”命令。
8、VR全景图
从广义上讲,VR全景图是一种基于图像处理的虚拟漫游,也称为虚拟现实(Virtual Reality,VR)全景图。它通过计算机模拟生成三维空间中的虚拟世界。在Java或Quicktime、ActiveX、Flash等播放插件的支持下,实验者还可以对图像进行放大、缩小、旋转等操作。更完美的还可以插入语音解译、图片、文字介绍,以及FLASH动画,完整的交互式视图对真实场景的还原显示。这种人机交互的交流方式,使观众体验到一般画面和三维造型无与伦比的真实感、立体感、沉浸感。
9、鱼眼镜头
鱼眼镜头是全景摄影者制作全景照片的重要摄影设备。我们普通鱼眼透镜的焦距通常为8毫米至15毫米。选择鱼眼镜头进行全景摄影的原因是鱼眼镜头只拍摄一张视野较大的单张照片,从而减少了拼接360张全景照片的数量。一般来说,使用8毫米鱼眼镜头,全景摄影只需4张;使用15毫米鱼眼镜头,360度全景摄影全景相机最多可拍摄10张照片。简而言之:利用短焦距获得大视角,全景图是镶嵌的,照片较少,减少了拍摄工作量和后镶嵌时间。透镜的焦距越长,视角就越窄。8毫米镜头,斜角180度。鱼眼镜头视野开阔,拍摄速度快,画面质量基本满足互联网全景浏览的需要,被认为是全景制作的一种锐利工具。