当前位置: 主页 > 皇冠官方网 > 工程案例 » 皇冠官方网-虚拟现实开发入门:3D图像的处理过程
皇冠官方网
本文摘要:在展开第一个VR应用于研发之前,我们来想到几个最重要的概念:搭起场景:创立一个可视化、可交互、脚本驱动的虚拟现实环境。
在展开第一个VR应用于研发之前,我们来想到几个最重要的概念:搭起场景:创立一个可视化、可交互、脚本驱动的虚拟现实环境。立体图形:用两个照相机图形场景分别回应用户的左右眼,然后通过OculusRift头显的透镜,这两幅图片被轻合在一起,从而构成明晰且具备深度视觉的场景。
头动跟踪:通过捕捉OculusRift头显的方位和改向来转变虚拟世界中照相机的方位和改向。我们必须撰写大量3D操作者的代码来展现出我们的点子,可以必要通过OpenGL和DirectX来图形3D视图,但是这样做到过于浪费时间了,而且也远超过了本书的范畴。我们unity3D游戏引擎来做到这件事,Unity用作较慢建构VR内容十分适合,最主要的是它非常容易掌控。
在深入研究Unity之前,我们来非常简单理解一下基本的3D图形技术。如果你对3D图形编程早已十分熟知了,这部分内容可以必要跳过。3D图形学基础定义在之后之前,我们来想到3D图形学的定义,下面是维基百科得出的定义:3Dcomputergraphics(incontrastto2Dcomputergraphics)aregraphicsthatuseathree-dimensionalrepresentationofgeometricdata(oftenCartesian)thatisstoredinthecomputerforthepurposesofperformingcalculationsandrendering2Dimages.Suchimagesmaybestoredforviewinglaterordisplayedinreal-time.上面的定义主要有3个部分:(1)所有的数据都以三维坐标系方式回应。
(2)它们最后都会画(图形)在一张二维图上,其中VR不会分为左右眼所画在两张图上。(3)图像都是动态图形的,当一些动画或者用户操作者引发了3D数据的转变,它们所图形出来的图像不会动态改版,这种改版频率必需让人眼无法察觉到。以上三点中最后一点是创建可交互应用于的关键。
事实上,3D图形图形技术如此最重要,以至于它早已建构了几十亿美元的市场,许多大公司都在只想专心做到3D动态图形的技术,比如NVIDIA、ATI、Qualcomm等。一、三维座标系统如果你熟知二维坐标系,如Windows桌面应用于或者IOS手机应用于使用的坐标系,你一定告诉x、y轴。二维座标可以回应子窗体或者UI控件放置的方位,当调用绘图API是可以定义画笔和画刷的绘制点。
与二维座标类似于,三维座标系统只是多了一个z轴,这个方向用来叙述深度信息(一个物体距离屏幕的远近),如果你早已理解二维坐标系的概念,那么切换到三维坐标系就很非常简单了。图3-1是本书使用的坐标系示意图,它的x轴水平,方向为左到右,y轴垂直,方向为进到上,z轴穿越屏幕,方向为里到外,并且,这三个轴都互相横向。
有些三维坐标系的z轴是垂直的,而y轴是穿越屏幕。图3-1unity3d使用的坐标系就是上图右图这种,只不过它的z轴方向是外向里。我们图中表明的是右手坐标系,而且Unity3D中的是左手坐标系,必须留意的是OpengGL一般来说也是使用的右手坐标系。二、网格、多边形、顶点绘制3D图形有许多方法,用的最少的是用网格绘制。
一个网格由一个或多个多边形构成,这些多边形的顶点都是三维空间中的点,它们具备x、y、z三个坐标值。网格中一般来说使用三角形和四边形,这些基本面片可以围住网格,从而构成了模型。图3-2中就是一个三维网格,黑色的线条就是四边形的边,这些四边形围出了一个人脸的形状。
当然,这些黑色的线条在最后图形的图形中是不可见的。网格的节点座标意味着回应了模型的外形,网格表面的颜色、光照用另外的属性回应,这些我们在后面不会讲解。图3-2三、材质、图形、光照除了x、y、z座标以外,网格的表面使用另外的属性回应。
表面属性可以非常简单地使用单色,也可以使用简单的方法,比如它的镜片效果怎么样或者它看上去否有光泽。网格表面还可以使用一个或多个RGB,一个我们叫图形,多个我们叫图集。图形可以是文字效果(例如T恤上面的图案),也可以是简单的坚硬效果或彩虹效果。
大多数的图形系统不会将网格的表面属性统一用材质来回应,而材质最后展现出出来的效果不会不受环境中的光照影响。图3-2中的模型用于的材质颜色是深紫色,表面光照效果展现出的是受到了左侧的光照,这点我们可以通过右侧的阴郁部分看出来。四、切换矩阵模型网格的三维空间方位都是由它们的顶点座标要求的,如果每次想移动一下模型方位都要依序转变每个网格的顶点座标,这将一件十分困惑的事,要是碰上必须表明动画效果那就更糟了。
为了解决问题这个问题,大部分的三维系统都会获取切换操作者,这个操作者原理是整体移动网格,这样网格与世界坐标就有一个比较切换,而不必须去转变每一个顶点的坐标值。其中,切换操作者还包括:移动、转动、图形,这些操作者都是针对网格整体比较世界坐标系由的,而不是特定的每一个顶点。
本文来源:皇冠官方网-www.casalillibelle.com