虚拟与现实复习资料_第1页
虚拟与现实复习资料_第2页
虚拟与现实复习资料_第3页
虚拟与现实复习资料_第4页
虚拟与现实复习资料_第5页
已阅读5页,还剩109页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章

虚拟现实技术及应用2015Fall共85页第2页一、虚拟现实的基本含义虚拟系统?虚拟技术?什么是虚拟现实?VirtualReality

——虚拟现实灵境技术人工环境VR1989年由美国J.Lanier(VPL)发明出来的一个词

初期的概念:表达借助计算机及最新传感器技术创造的一种崭新的人机交互手段。二、虚拟现实系统的特征虚拟现实与动画有何区别?具有3I特征:

沉浸感Immersion

交互性Interaction

想象力Imagination特点:计算机产生一种人为虚拟的环境,这种虚拟的环境是通过计算机图形构成的三度空间,或是把其它现实环境编制到计算机中去产生逼真的“虚拟环境”,从而使得用户在视觉上产生一种沉浸于虚拟环境的感觉。

沉浸感又称为临场感、存在感。指用户感到作为主角存在于模拟环境中的真实程度。理想的模拟环境应该达到使用户难以分辨真假的程度。

特征1沉浸感(Immersion)用户可以走进这个环境(用鼠标控制浏览方向)并操纵场景中的对象;场景中的图形渲染是“实时”的。这种“实时性”导致了在虚拟场景中的人机“可交互性”。

动画不是实时且不可交互!!!

虚拟现实开辟了——人类交流的新领域

为人机交互界面的发展开创了新的研究领域;

为智能工程的应用提供了新的界面工具;

为各类工程的大规模的数据可视化提供了新的描述方法。

特征2交互性(Interaction)第二章

虚拟现实系统的硬件设备赵三元2015FallVR系统的功能:

创建虚拟世界人与虚拟系统的交互两种实现:沉浸式实现、非沉浸式实现两种实现交互方式:

基于自然方式的人机交互基于常规交互设备的人机交互2.1虚拟现实系统的硬件组成生成设备的主要功能:视觉通道信号的生成与显示(建模与绘制)听觉通道信号的生成与显示(声音生成与播放)触觉与力觉通道信号的生成与显示(力的建模与反馈)支持实时人机交互的功能(三维空间定位、碰撞检测、语音识别、人机实时对话。演示

2、感知设备

功能:

将VR系统各类感知模型转变为人能接受的多通道刺激信号的设备。感知包括:视、听、触、嗅、味觉等多种通道。视觉感知设备:立体宽视场图形显示器(沉浸式和非沉浸式);沉浸式头盔显示器(HMD)封闭式、透视式吊杆式(Boom)洞穴式(CAVE)四面、五面、六面非沉浸式桌面立体显示器平面宽屏幕墙式立体显示器180度环状响应式工作台单屏幕RWB双屏幕RWB听觉感知设备:三维声音播放设备,有:

耳机式、双扬声器组和多扬声器组三种。通常由专用声卡将单通道声源信号触觉(力觉)感知设备:触觉(力觉)反馈装置。触觉包含的感知内容:接触感、质感、纹理感、温度;力感知设备要求:反馈力的大小和方向(较成熟)。

2、感知设备3、跟踪设备(运动跟踪的演示---人体及运动)

功能:跟踪并监测位置和方位的设备。用于基于自然方式的人机交互操作。目前的先进设备有:动态记录人体运动的设备。用于体育、动画、游戏方面4、基于自然方式的人机交互设备数据手套、数据衣、眼球跟踪器、语音综合识别装置。1、眼睛是如何观察目标的人两眼距离约6-7cm,当观察一个特定目标时,两眼在目标处聚焦,看到不同的两个图像。两眼视线的夹角随着目标到眼之间的距离而变化。人眼和大脑根据左右眼图像的差别判定距离。两个图像的差别被称为“体视”。

因为人两只眼睛的位置不同,看到的略有不同的图像在脑中融合(重构),形成了一个周围世界的整体景象(计算),其中包括距离远近的信息。体视反映了距离信息2.2立体显示原理深度的信息观察近物时,因为两只眼睛要看同一处,眼就要向内(向脸的中心线)转动。物体离脸越近,眼睛的转动就越多。因此,眼球转动的多少就提供了深度的信息。眼睛为看清一个物体,要调节晶状体使得物体的图像能清晰地聚焦在眼底上,这种调节过程也能提供一些深度的线索。大脑对距离和深度信息的解释使人对物体有立体的感觉2、立体感觉因为两幅图像存在体视,视网膜对这两幅不同的视图进行解释,大脑通过眼球运动、调整,感知到生理深度暗示,综合两幅图像的信息,并将其组合成一个立体景象。从而产生立体感。这就是双目立体视觉的基本原理。3、深度(距离)线索的获得大脑从四个方面获得深度(距离)线索:静态图像中的深度线索;运动造成的深度线索;生理上的深度线索(眼球转动次数多少(多-近)立体线索。静态图像中的深度线索五个方面:明暗、重叠、尺寸、角度、纹理。(测试视网膜的图像差、纹理梯度、图像大小)深度知觉的获得(四个方面)图像中物体的明暗变化以及阴影等重叠:当观察者看到甲物体的一部分被乙物体遮住,即知乙物体较近。尺寸的大小:同样的物体,离观察者越近尺寸越大。投影:利用物体上直线的投影角度来判断距离(称为线性透视)纹理:近处的物体的纹理比较清晰。运动深度线索当观察者用一只眼睛看几个物体时,如果它们之间没有相互遮挡的话,很难判断物体的远近。但当左右移动头部时,物体的远近就很容易判断了:近处的物体在观察者看来移动得快,而远处的物体则移动得慢一些。三、计算机立体图的产生立体图产生的基本原理:是通过深度信息的恢复来实现。立体图产生的方法:对同一场景分别绘制出对应于左右双眼的不同图像。他们具有一定的视差,让观察者的左右眼接受各自的图像,从而保存了深度信息。屏幕上的立体感觉:计算机上景物空间的深度信息是通过左右视线的空间交点感觉到的。计算机中的深度:观察面与空间交点的距离。同时显示技术:用不同的光波长同时显示两幅图像,使用不同光波长的滤光眼镜使双眼只能看到相应的图像(立体电影),但不适合光栅显示器;分时显示技术:以一定的频率交替显示两幅图像(30Hz),用户通过以相同频率进行切换的立体眼镜来观察图像,该技术通过光栅显示技术比较容易实现,是目前应用的主流。四、立体显示方法1、红蓝视点

利用“双目视差”原理和立体图像对,可以通过二维图像使人类获得立体视觉的感受。 具体做法:由计算机产生二个不同视点下的二幅透视图,用户戴上立体眼镜(红蓝滤色眼镜),保证每只眼睛各看一张图,利用双目视差,即可获得有深度感的三维立体虚像。视差左眼右眼两幅图像互相重叠这是位差的结果如果在显示屏幕上有这两幅图像,图像中任意两点(实际物体的一点)的水平距离投射到视网膜上称为视差,这一视差使双眼产生体视感觉。视差视差是物体的某一点投射到显示器上的图像中任意两点之间的水平距离视差的四种类型:零视差(平面)、正视差(三维)、负视差(漂浮)、发散视差。两幅图像间的距离接近于人的瞳距时产生正视差,视差越大,看上去物体离人就越远。正视差感觉物体在显示器里面。负视差感觉物体在屏幕外面(视线交叉)。头盔显示器的特点:沉浸感:和液晶眼镜相比,头盔显示器所产生的沉浸感要好得多,视野宽,图像清晰。视觉定位:沉浸感可以被定义为我们身临其境的感觉。这种感觉不仅仅是视觉的唯一作用,然而大多数是视觉定位的。第三章基于图形的实时绘制2023/2/5253.1概述一、计算机图形技术在VR中的作用

计算机图形技术是虚拟现实系统的重要理论基础之一,它可以将构想转化为用户能观察的视觉图像。虚拟现实系统正需要这种转化功能。在虚拟现实系统的各种反馈信息中,视觉反馈是最重要的一种,复杂虚拟场景的实时动态显示是实现虚拟现实的最重要基础。图形学是基础,虚拟现实是基于这个基础的应用技术。2023/2/5263.1概述三、图形学所涉及的算法真实感虚拟物体与场景的生成、表示与渲染所涉及的算法非常丰富,常用的有:

基于图形的生成算法几何造型算法三维变换算法三维观察算法光照模型与渲染算法纹理映射算法2023/2/5273.1概述图形研究矢量图:几何轮廓,线条粗细等数学参数及色彩图像研究点阵图:由像素组成的图图形文件处理软件:AutoCAD、Illustrator、CorelDrawetc.图像处理软件:Photoshop、paintbrush、etc.图形学与图像学研究内容的区别:2023/2/5283.1概述四、真实感图形的基本绘制流程虚拟场景造型取景变换视域裁剪可见面光栅化可见性计算(消隐)光亮度计算3.2三维造型技术2023/2/5共78页第29页1、几何造型方法多面体造型:用一组包围物体表面的多边形来描述三维物体的方式。优点:由于所有表面以线性方程形式描述,便于简化和加速绘制。曲面造型:用平面或曲面表示物体的形状信息,优点:精确,在功能和性能上都有较大的优势,但不便于表示。几乎所有的三维造型软件(3DSMax、Maya、AutoCAD等)都提供多面体造型和NURBs(曲线曲面的非均匀有理B样条)曲面造型功能。3.2三维造型技术2023/2/5共78页第30页2、造型工具

VRML(语言)

OpenGL(语言)

3DMax(软件)

Multigen(软件)3.2三维造型技术2023/2/531OpenGL的工作流程:建模计算光照光栅化屏幕设置视点演示飞机模型实例3.3三维观察2023/2/5共78页第32页一、概念

在三维空间生成一张视图类似于对物体拍照。可以以任意距离任意角度拍摄,取景器上出现的景物都被投影到胶片上。相机镜头的类型和大小决定了投影到胶片中的景物。

三维图形包采用了这种方法,给定任意空间位置、方向和所取景物的范围,就可生成景物的视图。问题:三维模型如何放到场景中?又如何把场景中的三维信息落实到屏幕上?

3.3三维观察2023/2/5共78页第33页1、坐标系场景坐标系:

场景中物体造型所取的坐标系。观察坐标系:在视点位置(摄像机位置)建立的坐标系。屏幕坐标系:

二维观察平面坐标系。3.3三维观察2023/2/5共78页第34页2、取景变换

将几何对象的空间三维坐标转换到屏幕上的像素位置,所进行的一系列的坐标变换,统称为取景变换。屏幕上所显示的画面只是在给定视点和视线方向下,三维景物在垂直于视线的二维屏幕上的投影。几何对象的三维坐标屏幕上的象素坐标取景变换坐标变换二、场景坐标系的设定2023/2/535

虚拟环境中的三维物体造型必须考虑其动态特性,即反映虚拟场景位置的变化。所以,需要确定一个实际的虚拟现实系统中所有三维物体的相对位置和绝对位置---场景坐标系,即物体在场景中造型所取的坐标系。1、场景坐标系的定义2023/2/536局部坐标系(对象坐标系)世界坐标系(固定坐标系)局部坐标系:和造型物体捆绑的坐标系,随物体一起移动,表示物体的绝对坐标。该坐标在物体上或物体附近建立,使物体表示和运动描述方便灵活。世界坐标系:物体的绝对坐标是相对于一个固定坐标系而言的,这个固定坐标系称为世界坐标系。用于将物体放入场景中,确定他们之间的相对位置,其过程是进行局部坐标系向场景的世界坐标系转换。场景坐标系示意2023/2/537ow世界坐标系iwkwjwi1k1j1o1对象1i2k2j2对象2o2p1p2局部坐标系或对象坐标系i1k1j1o1对象1对象的相对位置和绝对位置2023/2/5共78页第38页——给每个对象“捆绑”一个坐标系。

对象坐标系:捆绑的坐标系与对象一起移动。因而,在对象坐标系中对象顶点的位置和方向保持不变。

实际上,对象坐标系在三维对象建立时就必须指定,这是方便绘制三维对象的需要。三、观察坐标系2023/2/5共78页第39页(视点坐标系或对齐坐标系)1、建立观察坐标系目的:指定观察平面图形学中的概念:在照相机镜头位置(视点位置)建立一个观察坐标系,然后建立垂直于观察z轴的观察平面(投影平面)。把观察平面看成是对景物一次拍摄中使用的胶片平面。将景物从世界坐标系中变换到观察坐标系,然后把观察坐标投影到观察平面上。建立观察坐标系2023/2/5共78页第40页

选一个世界坐标点为观察参考点,该点是视点坐标系的原点。然后确定观察坐标系x、y、z各轴的方向,之前要首先确定观察平面的方向。目标视点ywzwxw世界坐标系zvxvyv观察坐标系2、从世界坐标系到观察坐标系的变换2023/2/541

过程:等价于对观察坐标系做平移和旋转运算。平移观察参考点到世界坐标系的原点进行旋转,分别让x、y、z与世界坐标系的x、y、z轴。四.

投影--屏幕坐标系2023/2/5共78页第42页景物中的物体由世界坐标描述为观察坐标后,就可将三维物体投影到二维屏幕上。

方法:平行与透视。三维对象在屏幕上某一投影点的坐标由该点在观察坐标系中的坐标经过与设备有关的变换来求得。平行投影投影中心点透视投影投影中心点透视投影三维取景变换流程2023/2/5共78页第43页观察坐标模型坐标模型变换世界坐标观察变换投影变换投影坐标设备变换设备坐标场景局部视点屏幕对物体的组成部件进行造型和放置局部坐标系场景坐标系指定物体的表面属性和光照属性背面剔除视域四棱锥裁剪观察坐标系指定视点的位置和视线方向指定屏幕的有关参数,进行透视变换屏幕坐标系绘制:隐藏面消除,光栅化,光亮度计算

取景变换任务五、背面剔除2023/2/5共78页第45页剔除背向视点的多边形六、视域四棱锥裁剪2023/2/5共78页第46页在观察坐标系中,一个物体与视域四棱锥的关系有以下三种类型:投影物体视点视域四棱锥1、物体完全位于视域四棱锥之外,无须转换为屏幕坐标;2、物体完全位于视域四棱锥之内,转换为屏幕坐标系并进行绘制;3、物体与视域四棱锥相交,须先裁剪,只对锥内的部分进行转换和绘制。基于视点的裁剪算法

七、光栅化2023/2/5共78页第47页光栅化是对屏幕上一片连续的区域进行离散采样的过程。(即计算一场景多边形在屏幕上的投影位置,确定该投影区域覆盖了那些象素。)问题:多边形边界在屏幕上的投影将它穿越的象素划分为两部分(多边形内、外),要合理判定这些象素的归属,否则导致画面走样(相邻边界出现空洞、边界呈齿状、边界闪烁等)。象素分割

解决方法:取象素中心为采样点。光栅化方法2023/2/5共78页第48页

光栅化的最常用方法:扫描线算法

当前扫描线和多边形在屏幕上的投影区域相交,则位于相交区段内整数网格点上的所有象素均为光栅化的结果。2023/2/5共页第49页景物上可能出现的三种光:反射光透射光环境光3.4光照模型与虚拟光照

物体表面反射光和透射光的性质:

光谱分布决定了景物表面呈现的颜色

强弱决定了景物表面明暗程度。反射光和透射光取决于入射光的强弱、光谱组成、不同波长光的吸收程度。产生视觉效果不透明物体白光不透明物体蓝光2023/2/5共页第50页3.4光照模型与虚拟光照在计算机图形学中,采用光照模型来计算景物表面上任一点投向观察者眼中的光亮度的大小和色彩的组成。光照模型:局部光照模型(目前常采用)

全局光照模型2023/2/5共页第51页3.4光照模型与虚拟光照Phong光照模型(镜面反射模型)

在镜面反射主方向最强,四周逐渐减弱

只有在一定方向上才能看到最强光。能表现物体遮挡形成的阴影2023/2/552Phong镜面反射模型1973年,Phong提出一个用来计算表面镜面反射光亮度的经验模型:同Lambert漫反射模型结合,可得到在单一光源照射下的Phong光照明模型。特点:只考虑景物表面的漫反射和镜面反射光的计算。泛光强度泛光系数漫反射率镜面反射率光源亮度照射点P2023/2/5共页第53页3.4光照模型与虚拟光照Phong镜面反射模型L关于N的镜面反射方向的单位向量照射点的方向P指向光源方向的单位向量2023/2/5543.5实时图形绘制技术实时图形绘制技术是虚拟现实系统的核心组成部分。虚拟现实的灵魂就是实时。目前的真实感图形绘制技术难以达到实时绘制的要求,因此,往往通过牺牲图形的真实感和质量来达到实时绘制的目的或利用并行、分布式技术来加速绘制进程。2023/2/5553.5图形的实时绘制技术

真实感图形的绘制速度远不能满足动态仿真、实时交互、科学计算可视化对图形的实时绘制要求。目前,实时图形绘制算法主要围绕以下三个方面:实时消隐技术场景简化技术基于图像的绘制技术2023/2/556一、实时消隐技术1、消隐的基本概念---可见性判断3.5实时图形绘制技术问题:给定视点和视线方向,场景中有些物体的表面是可见的,而有些物体的表面被遮挡而不可见。视点和视线方向2023/2/5573.5实时图形绘制技术消隐的目的:将场景的所有隐藏面消除。消隐的方法:确定当前画面中的可见面,用尽可能少的计算量识别和拒绝不可见面。2023/2/5583.5实时图形绘制技术实用的消隐算法:z缓存器算法可见性预计算技术景物空间消隐算法(Weiler-Atherton)扫描线算法(图像空间)Warnock算法2023/2/5共页第59页3.5实时图形绘制技术

消隐用于绘制过程。通过裁剪得到的物体,(在视域锥内的物体),还存在着很多复杂的可见面(可能还需要渲染上千万,上亿个的三角片),有效地屏蔽掉其中被遮挡的物体,将极大地提高系统渲染的效率,这就是消隐算法所要解决问题的关键和难点所在。2023/2/5共页第60页3.5实时图形绘制技术实用消隐算法(按实现方式分)

物体空间消隐算法直接在景物空间(观察坐标系)中确定视点不可见的区域,并将他们表达成同原表面一致的数据结构.

图象空间消隐算法以屏幕象素为采样单位,确定投影于每一象素的可见景物表面区域,并将其颜色作为该象素的显示光亮度。2023/2/5共页第61页3.5

实时图形绘制技术共同问题:所有消隐算法都涉及各景物表面离视点远近的排序。所以消隐算法即排序算法,算法的效率取决于排序的效率。远的面易挡近的面视点2015Fall第四章

虚拟环境建模技术62建模的作用:对虚拟对象与虚拟场景施加:各种物理特征各种运动约束各种音频特征各种交互特征63VR建模周期几何建模音频建模交互映射VR创作工具物理建模运动建模模型分割实时交互仿真行为建模VR建模周期64建模类型:几何建模(造型)物理建模(材料、表面属性)运动建模(平移、缩放、碰撞)行为建模(独立于输入的行为)音频建模交互映射虚拟环境建模的概念基础和过程654.1几何建模几何建模的任务:

描述虚拟环境的三维造型:多边形、三角形、顶点

描述虚拟环境的外观:纹理、表面反射系数、颜色66一、三维造型方法(视觉模型)基于线框几何造型(WireframeMode)(CAD最初采用的造型几何模型)是以图形元素为描述对象,如线段、圆弧等简单曲线。缺点:不能做消隐、着色、特征处理等。

基于面的几何造型(SurfaceMode)包括多边形和曲面(NURBs曲线曲面的非均匀有理B样条)采用光滑的曲面来描绘物体。由于简单的图元不能满足:对于物理信息的表示,如表面积、体积、重心等;不能将物体作为一个整体考察它与其他物体的相交性。实体几何造型(SolidMode)将基本的实体(立方体、圆柱体、圆锥体等)作简单的布尔运算(有或无)。但是事先要按一定顺序建立好大小和位置合适的基本实体,不能灵活的改变。67一、三维造型方法参数式系统与变参式系统参数式系统参数的顺序是固定的,参数的数值可以改变,适合设计过程比较明确的工作。变参式系统将几何中的约束条件和工程条件联系起来,通过解联立方程组。

目前的建模工具是同时采用以上多种方法。其中在基于面的方式中,多边形造型简单且易于实现,曲面造型在功能和性能上都有较大的优势。所以曲面造型广泛应用。68二、造型工具

采用三维建模软件手工绘制三维模型。常用建模软件:

3DSMax、Maya、AutoCAD、Creator

从商业数据库(ViewportCatalog)中购买(三种细节度)

使用特殊的硬件或软件实现自动建模

3-D数字化仪

通过探针在物体表面的运动得到物体表面的三维模型

激光扫描技术通过激光束在物体表面的扫描得到物体的三维模型获得三维模型的途径:69作业1红蓝双视点红蓝视点程序设计结构1、定义物体或着形状的坐标2、绘制蓝色或者红色物体3、将物体位置旋转并重新绘制4、注册空闲回调,不停绘制变换角度的物体OpengGL的基本概念1、顶点(Vertex)代表三维空间中的一个点并用来建造更复杂的物体。多边形就是由点构成,而物体是由多个多边形组成。glVertex*()函数用于指定顶点。2、坐标(coordinate)默认情况下,以屏幕中心为坐标轴原点。原点左方x为负值,右边为正值。原点上方y为正,原点下方为负。垂直屏幕向外为z正,垂直屏幕向里为z负。3、多边形(三角形)多边形是由点和边构成的单闭合环。绘制多边形时需要特别注意顶点的绘制顺序,可以分为顺时针和逆时针。因为方向决定了多边形的朝向,即正面和背面。避免渲染那些被遮挡的部分可以了有效提高程序性能。默认以逆时针次序绘制顶点的构成的面是正面。OpengGL的基本概念4、视图与投影我们生活在一个三维的世界——如果要观察一个物体,我们可以:

1、从不同的位置去观察它。(视图变换)

2、移动或者旋转它,当然了,如果它只是计算机里面的物体,我们还

可以放大或缩小它。(模型变换)

3、如果把物体画下来,我们可以选择:是否需要一种“近大远小”的

透视效果。另外,我们可能只希望看到物体的一部分,而不是全部(剪

裁)。(投影变换)

4、我们可能希望把整个看到的图形画下来,但它只占据纸张的一部分

,而不是全部。(视口变换)

这些,都可以在OpenGL中实现。作业2

OpenGL+GLSL使用opengl+glsl读入一个3d模型,在展示界面上可绘制出该三维模型的:点云、网格、进行色彩渲染的3d模型,带有光照渲染的3d模型,可用鼠标实现从不同角度对三维模型的查看。OpenGL简介OpenGL(OpenGraphicsLibrary)是个定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于二维以及三维图像,是一个功能强大,调用方便的底层图形库。OpenGL提供的功能:建模;变换;颜色模式设置;光照和材质设置;纹理映射;位图显示和图象增强图象功能除了基本的拷贝和像素读写外,还提供融合、抗锯齿(反走样)雾的特殊图象效果处理。双缓存动画GLSL简介OpenGL着色语言(OpenGLShadingLanguage)是用来在OpenGL中着色编程的语言,也即开发人员写的短小的自定义程序,他们是在图形卡的GPU上执行的,代替了固定的渲染管线的一部分,使渲染管线中不同层次具有可编程型。比如:视图转换、投影转换等。GLSL(GLShadingLanguage)的着色器代码分成2个部分:VertexShader(顶点着色器)和FragmentShader(片断着色器)。作业3

CUDA并行计算基础知识CUDAGPGPU优点显示芯片通常具有更大的内存带宽。显示芯片具有更大量的执行单元。和高阶CPU相比,显卡的价格较为低廉。CUDA架构CUDA是NVIDIA的GPGPU模型,它使用C语言为基础,可以直接以大多数人熟悉的C语言,写出在显示芯片上执行的程序,而不需要去学习特定的显示芯片的指令或是特殊的结构在CUDA架构下,显示芯片执行时的最小单位是thread。数个thread可以组成一个block。一个block中的thread能存取同一块共享的内存,而且可以快速进行同步的动作。开发思路CPU串行程序分析

GPU数组设计、并行模型设计GPU数组设计:设计GPU数组大小、类型、维度等信息;设计CPU与GPU之间的数组通信方式;并行模型设计:block和grid的设计满足算法的数据特点。CUDA并行程序优化版本根据时间的测试结果确定热点函数,作为后面移植的重点代码模块。需要分析热点部分的算法、数据特点,根据算法和数据的特点分析其是否可以并行。对于需要运行上GPU平台上的代码内的数据进行分析并进行设计。CPU与GPU通信优化存储器访问优化包括:全局存储器合并访问,利用共享存储器指令流优化是指利用高效的指令代替低效的指令作业4

基于PhysXAPI编程PhysXNVIDIAPhysX是一种功能强大的物理学引擎,可在顶级PC和游戏中实现实时的物理学计算。索尼的Playstation3、微软的Xbox360、任天堂的Wii以及个人计算机均支持PhysX。PhysX为强大的并行处理器执行硬件加速而进行了优化。其特色如下:爆炸引起的烟尘和随之产生的碎片复杂、连贯的几何学计算使人物的动作和互动更加逼真其视觉效果令人叹为观止的全新武器布纹的编织和撕裂效果非常自然运动物体周围烟雾翻腾PhysX术语及它们之间的联系1.Scene场景:就像演员表演都需要一个舞台一样,PhysX的所有物理运动都在这个scene中进行。2.Actor角色:在场景中,所有参与运算的实体都是一个角色,描述物体的质量、密度、位置等属性。3.Body刚体:用来记录物体之间世界交互的各种系数,如速度,阻尼等.4.Shape形状:描述和表达某一角色的外形,PhysX中提供4种基本形状,盒子,球,胶囊以及平面。作业五

作业要求:使用unity3D自制一款3D小游戏,要求人物在场景中可漫游行走,视点根据人物行走而改变,游戏具有碰撞检测功能。制作步骤场景搭建:制作场景素材,可使用Unity自带的资源包创建角色:第一人称控制器碰撞检测:Box

Collider,Capsule

Collider等添加脚本使用GUI脚本来制作游戏的载入界面和菜单发布游戏在unity3d中,能检测碰撞发生的方式有两种,一种是利用碰撞器,另一种则是利用触发器。这两种方式的应用非常广泛。

碰撞体是物理组件的一类,它要与刚体一起添加到游戏对象上才能触发碰撞。如果两个刚体相互撞在一起,除非两个对象有碰撞体时物理引擎才会计算碰撞,在物理模拟中,没有碰撞体的刚体会彼此相互穿过。碰撞器包含了很多种类,比如:Box

Collider,Capsule

Collider等,这些碰撞器应用的场合不同,但都必须加到GameObjecet身上。所谓触发器,只需要在检视面板中的碰撞器组件中勾选IsTrigger属性选择框。

碰撞检测作业6OSG场景漫游OSG简介osgEarth:全球GIS系统绘制插件osgOcean:海洋绘制插件,原理为快速傅里叶变换VPB:地形绘制插件,支持LODGdal:数据格式转换插件实时性高三维:Unity3D,Ogre,UnrealEngine,VE,CE二维:Cocos2d-x…三维常用渲染引擎高效率常用插件OSG场景搭建Group(root)GroupSwitchMatrixTransformNodeNode视景器Viewer:OSG场景的基本管理节点。可以调用setSceneData()方法设置场景树根节点,setCameraManipulator()设置漫游器,addEventHandler()设置事件监听器。组节点Group:场景树中的节点,继承自node。可以使用addchild方法继续向下挂载节点。节点node:场景树的节点基类。可以使用osgDB名字空间下的readNodeFile()读取模型文件至该节点中。开关节点Switch:场景树中的节点,继承自group。可以设置开关状态控制子树是否显示。变换节点MatrixTransform:可以控制子树的位置、旋转、大小状态参数。OSG场景树示例:OSG场景搭建NodeStatusEventHandlerUpdateHandler对每一个节点都可以设置事件监听器,更新监听器,渲染状态集等等属性。事件监听器EventHandler:类名GUIEventHandler,继承并重写其handle方法,可以监听鼠标与键盘等基础输入设备的输入事件并编写响应逻辑。更新监听器UpdateHandler:类名NodeCallback,继承并重写其handle方法。方法中的代码将在每一帧进行回调,用此方法可以实现实体动画。渲染状态集StateSet:类名StateSet,使用其setAttribute函数可以设置相应节点的纹理贴图、光照等等属性。OSG漫游器OSG中所有实体都有位置、旋转角度、缩放大小共3组9个状态参数。PositonX,PositonY,PositonZ;rotationX,rotationY,rotationZ;ScaleX,ScaleY,ScaleZ。为了连乘方便,OSG将9个状态参数组织成一个4*4的矩阵视点矩阵:碰撞检测:使用探测器即一条射线,设置入迭代器visitor,检测是否与场景中的节点相交,结果存储于intersection类中。高程检测:获取地形对象terrain,并取其高程图层elevationLayer,获取视点所在位置的高程值,使视点随移动而上下起伏。漫游器算法:作业7OSG实现粒子系统OSG实现粒子系统根节点ModularEmitter标准放射极Placer放置器Counter计数器ModularProgram标准编程器ParticleSystem粒子系统Shooter发射器Particle粒子ParticleSystemUpdater粒子系统更新器Geode叶节点OSG实现粒子系统分布式虚拟仿真——分布式仿真协议HLA概述分布式虚拟仿真分布式仿真是近年来发展起来的一种先进仿真技术,是一种基于计算机网络的仿真,多用于军事领域,可以支持作战人员训练、战术演练和武器装备论证等。它将地理上分布的训练模拟器和参训人员合成为一个逻辑上的整体,在逼真的视景和操作模拟环境中,进行人机交互度很高的仿真实验和演练。HLA协议1995年美国国防部发布了针对建模与仿真领域的通用技术框架,该框架由任务空间概念模型(CMMS)、高层体系结构HLA和一系列的数据标准三部分组成,其中高层体系结构是通用框架的核心内容。HLA协议HLA的基本思想就是采用面向对象的方法来设计、开发和实现仿真系统的对象模型OM(ObjectModel),以获得仿真联邦的高层次的交互操作和重用。HLA作为一个开放的、支持面向对象的体系结构,HLA最显著的特点就是通过提供通用的、相对独立的支撑服务程序(RTI),将应用层同底层支撑环境分离,即将仿真功能实现、仿真运行管理和底层通信传输三者分开,使仿真工作者只要集中于仿真功能的开发,而不必再涉及有关网络通信和仿真管理等方面的实现细节。HLA协议

HLA基本概念在HLA中,将用于实现某一特定仿真目的的分布仿真系统称为联邦(Federation)。它是由若干相互交互的仿真对象模型SOM(SimulationObjectModel)、一个共同的联邦对象模型FOM(FederationO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论