之所以特警和特种兵的面部装饰不一样,是因为他们日常所要面临的作战任务是不一样的。所以对装备的要求也要有所不同。
之所以特种兵会在脸上抹油彩,首先是为了隐蔽,不同于普通的作战部队,特种部队大多在边界线附近执行特殊任务。无论是山川湖泊,沙漠,丛林,雪地,各种环境都需要融入其中才行,所以得在脸上涂沫油彩。所以给脸上涂抹上与大自然类似的颜色就很有必要了,因为迷彩能够有效降低人脸部与周边环境的色彩亮度,在视觉上有利于与迷彩服以及周边环境融为一体,增加行动隐蔽性。能够起到很大的隐蔽作用,不仔细辨认根本看不出来。
而且野外作战环境恶劣,防止蚊虫叮咬也是很重要的需求,了防止叮咬,一般的油彩中都含有一些驱虫剂。还有就是伪装自己的真实身份保护自己的安全。
从结构上来说特种兵隶属军队,特警则属于公安系统,用于处置国内发生紧急事件。特警往往和打击毒贩犯罪集团有关联,身份如果暴露的话其家人及其自身遭受到报复的可能性非常大。各种犯罪集团、恐怖分子、黑手党等,都是具有极强报复心理的。黑色面罩可以有效的保护自己的身份,避免媒体的曝光,降低公众关注度,避免影响特警个人生活。
而且黑色面罩具有吸收汗液的作用,可以为特警执行任务提供一定舒适,不至于模糊视线,妨碍任务。黑色面罩在一定程度上也能起到威慑作用。除此之外,在特警的面罩里还有一些先进的设备,比方说:传话器、耳麦等等,都能够辅助特警执行任务。
所以说,特警和武警的不同之处其实都是根据实际任务需求制定的,背后有复杂的考量。对于这些为了我们社会安全奋斗在生死一线的年轻人们,我们还是要报以尊重。
下面我们就来仔细的看一下这三种方式:
提高绘图效率
在DirectX 10中,对上代DirectX版本中三维数据和绘制命令的验证过程进行了很大程度的修改。所谓三维数据和命令的验证,是指在DirectX绘制图形之前,对传给它的图形数据和绘制命令进行格式和数据完整性的检查,以保证它们被送到图形硬件时不会导致硬件出问题;这是很必要的一步 *** 作,但是不幸的是这会带来很大的性能开销。
从上表我们可以很容易的看出,在DirectX 9中,每次绘制一帧画面之前,都会对即将使用的相关数据进行一次验证。而DirectX 10中,仅当这些数据被创建后验证一次。这很明显是可以大大提高游戏进行中的效率的。
降低图形运算对CPU的依赖
在降低图形运算对CPU的依赖方面,DirectX 10 引入的三个重要机制就是:纹理阵列(texture arrays)、绘制预测 (predicated draw)和流式输出(stream out)。不要被这三个晦涩的名词吓倒,实际上它们是三个不难理解的机制。
纹理阵列
传统的DirectX在多张纹理中进行切换的 *** 作是种很给CPU带来很大压力的 *** 作,因为每切换一次,都要调用一次DirectX的API函数。而每绘制一个使用新纹理的物体,就要进行一次这样的切换 *** 作;有时为了实现特殊的材质特效,绘制一个物体时可能就要切换好几次纹理,开销很大。
所以,之前游戏中经常会出现将大量的小纹理拼合到一张大的纹理中,通过给不同的三维物体分配这张大纹理的不同局部的方式,以期减少纹理切换,提高游戏运行效率。这种方式实现起来相当复杂,而且DirectX 9中对纹理的尺寸的限制是4048×4048像素,也就是说,如果要容下更多的小纹理块,可能就得加载很多张这样的大纹理。
DirectX 10引入的新的纹理阵列机构,将允许在一个由显卡维护的阵列中容纳512张单独的纹理,而且,在shader程序中可以使用一条新的指令来获取这个阵列中的任意一张纹理。而这种shader指令是运行在GPU中的;这样,就把原来要消耗很多CPU时间的纹理切换工作轻松地转给了GPU。由于纹理一般是直接放在显存中的,因此以这样的方式,将工作交与和显存一同位于显卡上的GPU来完成更有效率。如今,在DirectX 10中,只要一开始设置好纹理阵列中的纹理,然后每次绘制一个物体时为它指定一个纹理的索引号,并同物体三维数据一起传递到shader中,就可以放心的让GPU来给物体选纹理了。
绘制预测
在一般的三维场景里,很多物体都是完全被别的物体挡在后面的。这时候如果要显卡绘制这些物体就是白费力气。尽管高级的GPU可以通过硬件算法将场景画面中被挡住的像素(注意是像素)预先剔除,但是仍然会有很多不应进行的多余运算。例如,一个完全被挡住的复杂的角色模型,它的身上可能有几千个顶点,需要做复杂的骨骼皮肤动画处理、顶点光照运算等等,然而,GPU是在处理完这些顶点之后,并要把这个角色模型一个像素一个像素地画到画面中时,才开始判断每个像素是否需要画,而当所有的像素都被剔除了时,之前做的顶点处理也就全白费了。在DirectX 10中的绘制预测便正是针对这种情况的解决,简言之,绘制预测通过用一个可以代表某个复杂物体的简单物体来判断这个物体是否被全部挡住了,例如用一个可以罩住刚才那个角色的大盒子,当绘制这个盒子时,如果发现所有的像素都被屏蔽掉了,也即是说这个盒子肯定完全看不见,那么,里面的角色绘制包括骨骼皮肤运算等之类的 *** 作便完成不必进行。而一个盒子顶多有八个顶点,相比处理几千个顶点,开销小得多。
另外,以前这个步骤中有些真运算也需CPU完成的,在DirectX 10中,已经完全交由GPU来做,这也可以在一定程度上减轻CPU的压力。
数据流式输出
数据流式输出也是DirectX 10的重要特性,它允许GPU上的Vertex shader或Geometry shader向显存中添加数据,而这在以往的vertex shader中是不可能的。
在之前的DirectX版本中,vertex shader只能读取显存中已有的顶点数据;而DirectX 10中引入的新的Geometry shader,不但能读取显存中的顶点数据、几何(点、线段、三角形)数据,还可以生成新的几何数据放回显存。
批量绘制
在DirectX 9中,对渲染状态的管理一直是个十分信赖于CPU运算能力的 *** 作。所谓渲染状态,是指显卡进行一次绘制 *** 作时所需要设置的各种数据和参数。例如,要绘制一个人物角色,就需要先设置他的几何模型数据的数据格式、纹理过滤模式、半透明混合模式等等,每设置一项,都要调用一次DirectX API,占用大量CPU时间,极大的约束了渲染的性能。
为了使这些 *** 作能够批量的进行,DirectX 10中引入了两个新的结构——状态对像(state object)和常量缓冲(constant buffers)。
状态对像就是将以前的零散状态按照功能归结为几个整体,这样,当要设置一系列相关状态时,无需为每一个状态来调用一次DirectX API,只需要调用一次将这些状态统统设置到显卡中去。
而常量缓冲是另一个十分有意义的机制。在绘制模型前的准备工作中,渲染状态的设置只是一小部分。还是拿绘制人物角色来说,能照亮这个人的光源的颜色、位置、类型、范围等等,都要提前设给显卡;为了通过骨骼来带动他的皮肤做出姿势,还要设置骨骼的位置信息等等,而这些东西主要都是通过GPU中的常量寄存器(constant registers)来传递给它的。每个常量寄存器可以存储一个4维的浮点型向量(即四个浮点数)。常量寄存器是游戏程序向GPU输入游戏场景中数据的重要途径。
在DirectX 9中,这种常量寄存器的数量是十分有限的,而且每次更新一个寄存器,都需要调用一次DirectX API函数。DirectX 10通过使用常量缓冲(constant buffer)这种结构,在每个constant buffer中都可以容纳4096个常量,而且只需调用一次API就可以更新一大批常量。
比如说,在以前的DirectX版本中,如果程序想在场景里画很多的树木和杂草,可以采用一个类似于“克隆”的方法:先做好一棵或几棵树、草的三维模型,然后在画一帧画面时,不停的在不同的位置、方向,用不同的大小为参数,调用DirectX API的绘制函数来画这些模型,就可以画出很多草木来。但是每画一棵,都要设置一大堆参数后调用一次API,这是很耗CPU时间的,所以在以前的游戏中鲜有大规模且细节丰富的森林场景。
而在DirectX 10中,我们可以先把树、草的几个模型设给显卡,然后将所有要画的树木的位置、方向和大小一次性的写入到constant buffer中,这样,显卡便一下把所有的树木和草都一起绘制出来了。
总之,DirectX 10通过提前数据验证、纹理阵列、绘制预测、流式输出、状态对像、常量缓冲等机制,帮助游戏的效果和效率上升到一个新的高度。这样,也避免了之前DirectX版本因CPU负载过大而无法对图形实施更多细节优化的问题。
Shader Model 40
DirectX 10另一个引人瞩目的特性便是引入了Shader Model 40,那么,Shader Model 40能够带来怎样的新特性,特别是将它与DirectX 90c中Shader Model 30相比时?
引入新Shader : Geometry shader
DirectX 10新引入的Geometry Shader,可以简单地编程 *** 纵几何图元,同时, vertex、geometry、pixel shader采用了统一的Sahder架构。
Geometry shaders是可编程图形流水线的一大进步。它第一次允许由GPU来动态的生成和销毁几何图元数据。通过和新的数据流输出功能配合使用,许多以前无法实施的算法现在都可以在GPU中使用了。
统一的Shader架构
在DirectX 9中,Pixel shader总是在各个方面落后于vertex shaders,包括常量寄存器个数、可用的指令个数、shader长度等。程序员需要区分对待这两种shader。
而在shader model 4中,无论 vertex、geometry和pixel shader,均有统一的指令集、同样的临时/常量寄存器个数,它们将平等的共享GPU中的所有可用资源。这样,在编程时便不必再考虑每种shader自身的限制了。
百倍于DirectX 9的可用资源
对于shader中可用的资源,在Shader model 40中比原来有了惊人的扩充。就像早期的程序员们绞尽脑汁的省着用可怜的640k内存一样,在使用以前的DirectX开发游戏的过程中,程序员需要小心翼翼的分配珍贵的shader寄存器资源。寄存器的数量,直接影响着shader程序的复杂度。这和在640k内存的 机器上,怎么也不可能写出Microsoft Office这样的大规模软件是同一个道理。
而在DirectX 10中,将临时寄存器由原来的32个扩充到了4096个,将常量寄存器由原来的256个扩充到了65536个。
更多的渲染目标(Render Target)
所谓渲染目标,就是指GPU可以把画面绘制到的目标,我们可以把它理解为GPU的画布。一般来说,渲染目标被输出到屏幕上,这样我们就能看到画好的画面了。但是有时为了实现一些特效,某些渲染结果并不直接画到屏幕上,而是再返给GPU做进一步的特效处理,而且渲染目标中也不一定是画好的画面的颜色信息。
根据图形特效的需要,渲染目标可能是每个物体距离屏幕的远近,或者物体表面上每个像素的方向,或者每个物体表面的温度等等,之为了实现特效,可以按需要在其中绘制任何信息。为了提高这种情况下的效率,很多新的显卡都支持在同一遍Shader执行结束后,同时把不同的信息绘制到不同的渲染目标中。在DirectX 9中就已经支持这种机制了,但是它约束最多同时向四个渲染目标绘制。而DirectX 10将这个数量提升了一倍。
更多的纹理
在Shader Model 40中提供了对纹理阵列(Texture arrays)的支持。在前文中已经对纹理阵列有了比较详细的介绍,在这里只着重介绍一下与shader相关的部分。
在每个纹理阵列中,最多可以保存 512张同样大小的纹理。而且每张贴图的分辨率被扩展到了8192×8192。更大的分辨率意味着纹理中更丰富的细节。在一个shader中能够同时访问的纹理个数被增加到了128个,也就是说在每次执行同一个shader时,可以使用一个纹理阵列的512个纹理中的128个。所以说,在DirectX 10中,纹理的多样性和细节程度将会有大幅的提升。
新的HDR颜色格式
要说这些年来在实时图形界炒得最热的概念,应该是HDR了。它通过采用浮点格式的颜色格式来为纹理、光照等计算提供极大的精度和颜色范围(以前的纹理一般 都是采用整数型的颜色格式)。尽管最后显示到屏幕上还是每个颜色通道8位的整数格式,但是以前由于在材质、光照计算中纹理也是用每通道8位的格式来参与计算,所以在显示到画面之前,很多细节就在低精度的运算中丢失了。
而采用每颜色通道16位浮点数的纹理,能够保证在运算过程中几乎没有颜色细节信息的丢失。另外,采用16位浮点格式的颜色通道,可以表现更大的颜色范围。这些就是HDR的优越性。
对用户而言,当游戏中的画面罩上一层HDR效果后,立刻显得和真正的照片一样,有朦胧的光晕、细致的高光和十分自然的色调。
然而,采用每个颜色通道16位浮点数的格式,比采用每通道8位的整数格式的纹理要多占据一倍的显存;这给绘制的效率带来了负面的影响。所以在 DirectX 10中引入了两个新的HDR格式。第一种是R11G11B10,表示红色和绿色通道用11位浮点数,而蓝色通道采用10位浮点数表示。那么,为什么不都用 11位呢?这是为了凑32这个整数。学过计算机的人都知道,当内存中一个数据单元的宽度是32位时,对它的 *** 作效率最高;而且在纹理数据中一般要求每个像素的数据宽度是2的倍数,如2,8,16,32,64等等。又因为人眼对蓝色的敏感度不如对红色和绿色,所以它比其他两个通道少用了一位。
另外一种格式是采用每通道9位尾数、所有通道共享5位指数的形式(众所周知,在计算机中,浮点数是采用尾数附加指数的形式来表示的),加起来还是32位。 这些新的格式使得纹理能够与原来占用同样多的显存空间,避免了大的空间和带宽消耗。同时,为了适合需要精确的科学计算的场合,DirectX 10能够支持每通道32位(4个通道加起来128位)精度的浮点数纹理。
DirectX 10中带来的这些扩充和提高,使得创建前所未有的细节的实时游戏场景真正成为可能。
几何着色器与流式输出
在DirectX 10发布之前,图形硬件只有在GPU上 *** 作已有数据的能力。顶点着色器(Vertex Shader)和像素着色器(Pixel Shader)都允许程序 *** 作内存中已有的数据。这种开发模型非常成功,因为它在复杂网格蒙皮和对已有像素进行精确计算方面都表现的很出色。但是,这种开发模型不允许在图像处理器上生成新数据。当一些物体在游戏中被动态的创建时(比如新型武器的外形),就需要调用CPU。可惜现在大多数游戏已经很给CPU带来了很大的压力,游戏进行时动态创建庞大数量新数据的机会就变得微乎其微了。
Shader Model 40中引入的几何着色器(Geometry Shader),第一次允许程序在图像处理器中创建新数据。这一革命性的事件使得GPU在系统中的角色由只可处理已有数据的处理器变成了可以以极快速度既可处理又可生成数据的处理器。在以前图形系统上无法实现的复杂算法现如今变成了现实。
几何着色器被放在顶点着色器和光栅化阶段(Rasterizer)中间。所谓光栅化,就是一行一行的扫描每个三角形,把它们一个像素一个像素的绘制到画面 上。几何着色器把经过顶点着色器处理过的顶点当作输入,对于每个顶点,几何着色器可以生成1024个顶点作为输出。这种生成大量数据的能力叫做数据扩大 (Data Amplification)。同样的,几何着色器也可以通过输出更少的顶点来删除顶点,因此,就叫做数据缩小(Data Minimization)。这两个新特性使GPU在改变数据流方面变得异常强大。
细分的虚拟位移贴图(Displacement Mapping with Tessellation)
几何着色器让虚拟位移贴图可以在GPU上生成。虚拟位移贴图是在离线渲染系统中非常流行的一项技术,它可以用一个简单的模型和高度图(Height Map)渲染出非常复杂的模型。高度图是一张用来表示模型上各点高度的灰度图。渲染时,低多边形的模型会被细分成多边形更多的模型,再根据高度图上的信息,把多边形挤出,来表现细节更丰富的模型。
而在DirectX 9中,GPU无法生成新的数据,低多边形的模型无法被细分,所以只有小部分功能的虚拟位移贴图可以实现出来。现在,使用DirectX 10的强大力量,数以千计的顶点可以凭空创造出来,也就实现了实时渲染中真正的细分的虚拟位移贴图。
基于边缘(Adjacency)的新算法
几何着色器可以处理三种图元:顶点、线和三角形。同样的,它也可以输出这三种图元中的任何一种,虽然每个着色器只能输出一种。在处理线和三角形时,几何着 色器有取得边缘信息的能力。使用线和三角形边缘上的顶点,可以实现很多强大的算法。比如,边缘信息可以用来计算卡通渲染和真实毛发渲染的模型轮廓。
流式输出(Stream Output)
在DirectX 10之前,几何体必须在写入内存之前被光栅化并送入像素着色器(pixel shader)。DirectX 10引入了一个叫做数据流式输出(Stream Output)的新特性,它允许数据从顶点着色器或几何着色器中直接被传入帧缓冲内存(Frame Buffer Memory)。这种输出可以被传回渲染流水线重新处理。当几何着色器与数据流输出结合使用时,GPU不仅可以处理新的图形算法,还可以提高一般运算和物理运算的效率。
在生成、删除数据和数据流输出这些技术的支持下,一个完整的粒子系统就可以独立地在GPU上运行了。粒子在几何着色器中生成,在数据扩大的过程中被扩大与派生。新的粒子被数据流输出到内存,再被传回到顶点着色器制作动画。过了一段时间,它们开始逐渐消失,最后在几何着色器中被销毁。
高级渲染语言(HLSL 10)
DirectX 10 为以前的DirectX 9中的“高级着色语言”(High Level Shading Language )带来了诸多功能强大的新元素。其中包括可以提升常量更新速度的“常量缓冲器”(Constant Buffers),提升渲染流程中 *** 作数据的灵活性的“视图”(view),为更广泛的算法所准备的“整数与位指令”(Integer and Bitwise Instructions),添加了switch语句。
常量寄存器(Constant Buffers)
着色程序同普通的程序一样需要使用常量来定义各种参数,例如光源的位置和颜色,摄像机的位置和投影矩阵以及一些材质的参数(例如反光度)。在整个渲染的过程中,这些常量往往需要频繁的更新,而数以百计的常量的使用以及更新无疑会给CPU带来极大的负载。DirectX 10中新加入的常量缓冲器可以根据他们的使用频率将这些常量分配到指定的缓冲器中并协调的对其进行更新。
在一个着色程序中DirectX 10支持最多16个常量缓冲器,每一个缓冲器可以存放4096个常量。与其相比DirectX 9实在是少得可怜,因为它在每个着色程序中同时最多只能支持256个常量。
∠啾菵irectX 9,DirectX 10不仅提供了更多的常量,最主要的是它大幅的提升了常量更新的速度。对那些被分配到同一个缓冲器中的常量,我们只需进行一次 *** 作就可以将它们全部更新完毕,而非单个单个的去更新。
由于不同的常量更新的时间间隔各异,所以跟据使用的频率来对他们进行组织就可以获得更高的效率。举例来说:摄像机的视矩阵只在每一帧之间发生改变,而类似贴图信息这样的材质参数却会在图元切换时发生改变。于是这些常量缓冲器被分成了两个部分:那些每帧更新的常量缓冲器专门存放那些需要在两帧间更新的常数并在两帧间一次把他们全部更新,另外的图元切换更新的常量缓冲器也同理。这样就会将更新常量过程中的一些不必要的工作消除,以便让整个着色器脚本比在 DirectX 9中运行的更加顺畅。
高级渲染语言(续)
视图(Views)
在DirectX 9中,着色器(shader)中的数据的类型是被严格划分开的。例如,顶点着色器用到的顶点缓冲器中的数据不能当作贴图的数据来让像素着色器使用。这样就将特定的资源类型同其相对应的渲染流程中的特定步骤紧密地结合了起来,同时限制了资源资源在整个渲染流程中可以使用的范围。
DirectX 10舍弃了“严格区分的数据类型”这一概念。当一段数据被创建,那么DirectX 10所做的仅仅是将其简单的当作内存中的一段区域(bit field)来对待。如果要想使用这一段没有定义类型的数据就必须通过使用一个“view”。 使用“view”,相同的一段数据就可以有各种各样的方法来读取。DirectX 10支持对同一段资源在同时使用两个“view”。
通过这种多重“view”的手段,就可以在整个渲染流程的不同部分以不同目的使用同一段数据。例如:我们可以通过像素着色器将一段几何数据渲染到一张纹理 上,之后顶点着色器通过一个“view”将这张纹理视为一个顶点缓冲器并将其中的数据作为几何数据渲染。“view”通过在整个渲染流程中的不同步骤重复 使用同一段数据为“数据处理”带来了更大的灵活性,帮助开发者实现更多更有创意更精彩的特效。
整数与位运算指令(Integer and Bitwise Instructions)
在新的高级着色器语言中添加了“整数与位指令”,这样把“整数与位运算指令”的 *** 作加入其基础运算函数的好处在于帮助一些算法在GPU上的实现。开发者终于可以直接使用整数而非从浮点中强转来计算出准确的答案。数组的索引号现在可以轻松的计算出来。GPU无整数运算的时代终于被终结了。这将为shader 程序的开发带来很大的便利。
Switch 语句(Switch Statement)
在DirectX 10中, HLSL可以支持switch语句,这将大幅简化那些有着大量判断(分支)的着色器脚本的编码。一种用法就是建立一个“航母级的着色器(shader) 程序”——包含了大量的小型着色器程序并且自身体形巨大的着色器程序。在这个“航母级的着色器程序”,我们可以通过设定一个材质ID在switch语句中 判断来轻松的在渲染同一个图元时切换不同的特效。也就是说,现在一个军队中的每个士兵身上都可以拥有各自不同的特效了。
DirectX 10的其他改进
alpha to coverage
在游戏中,经常使用带有半透明信息纹理的多边形模型来模拟复杂的物体,例如,草、树叶、铁丝网等。如果使用真正的模型,一颗边缘参差不齐的小草可能就要消耗掉几百个多边形;然而采用透明纹理,可以只用2~3个多边形就解决了。
透明纹理示意
然而,当使用这种有半透明信息的纹理时候,它的不透明和透明部分的边界线上,常常会出现难看的锯齿。采用半透明混合技术可以解决这个问题,但是它需要把场景中所有这类物体按照由远到近的顺序来绘制,才能保证它们的遮挡关系是正确的,这会给CPU带来很大的压力,并不可取。在以前版本的DirectX中,alpha测试和混合简直就是图形程序员的噩梦。
在DirectX 10中,使用了一种新的技术叫做Alpha to coverage。使用这种技术,在透明和不透明交界处的纹理像素会被进行多极取样(Multi-sample),达到抗锯齿的效果。这就在不引入大的性能开销的情况下简单并有效地解决了这个问题。室外场景的游戏将大大受益于这种技术,树叶、铁丝网、草的边缘将会更加柔和、圆滑。
Alpha to coverage效果
shadow map filtering
阴影图(Shadow map)技术已经逐渐成为了渲染真实感阴影的流行技术。在包括《战争机器》、《分裂细胞:双重特工》、《Ghost Recon》、《刺客信条》等的各大次世代游戏中都能看到它的身影。然而,由于shadow map的尺寸限制,用它实现的阴影边缘往往有明显的锯齿。在DirectX 10中,提供了对shadow map进行过滤的功能的正式支持。经过过滤后,阴影的边缘将会变得更加柔和。
--------------------------------------------
简而言之:就是让你的所看导的画面更清晰,显示更快!
DirectX10未来技术营造逼真游戏画面(组图)
>
索普•麦克塔维许“肥皂”("Soap" John MacTavish)
主角之一,于英国SAS特种空勤团(SAS)服役。在最后的任务中生还(官方已确认麦克塔维许将在续作中出场并接替普莱斯的队长职位)。
在现代战争系列中,可以算是经理各种坎坷的人,在6中,率领队友营救队长,与反派谢菲尔德和马卡洛夫奋斗到底。号称不死男主角
普莱斯上尉(Captain Price)
关键人物,麦塔维什的队长和直属上司。标志性特征为那副非常英国的八字胡。在最后的任务中生死不明(一般认为已经死亡)。这个人物在历代《使命召唤》当中都曾出现过,因此一般被玩家称为“品客大叔”。(官方称4代中的Captain Price是1代和2代中同名人物的亲孙子)
贯穿主线的队长,很沉稳的一名老兵,也是最后手刃马卡洛夫的最后一人
GAZ(真名不明)
关键人物,主角的战友,也是主角所在部队CQB测试记录的保持者。在最后的任务中被扎卡耶夫杀死。
保罗•杰克逊(Paul Jackson)
主角之一,于美国海军陆战队(USMC)服役。最后在所在部队撤退时死于核爆。
瓦斯奎兹中尉(Vasquez)
关键人物,杰克逊的队长和直属上司。最后在所在部队撤退时死于核爆。
格里格斯(Griggs)
关键人物,USMC所属,在杰克逊和瓦斯奎兹等人死于核爆之后随SAS小队执行任务。在最后的任务中在被直升机炸断的公路路面上孤军手持轻机q与敌人交火被敌人击中颈部杀死。
麦克米兰上尉(MacMillan)
关键人物,十五年前普莱斯上尉的上司,出色的狙击手。在暗杀扎卡耶夫的任务的撤退过程当中被由普莱斯上尉击落的的Mi-28“浩劫”直升机砸伤(一般认为落下了残疾),但被普莱斯拼死救出。
尼柯莱(Nikolai)
打入俄罗斯激进分子内部的线人,后因身份暴露被捕,随后在处决之前被SAS小队解救。
卡莫洛夫中士(Kamarov)
俄罗斯政府军所属(一说为Spetsnaz所属),在任务中多次协助SAS作战。最后任务当中的援军也是由他带来的。另外根据台词暗示,这两人都经历过贝鲁特事件。
阿•阿萨德(Al-Asad)
反派角色,“天启四骑士”之一。于中东某国发动政变,最终被普莱斯上尉擒杀。
伊姆兰•扎卡耶夫(Imran Zakhaev)
反派角色,“天启四骑士”之一,最终的幕后黑手。在十五年前被普莱斯用M82A1打断了一条左臂,最后在SAS众人面前露面并被麦塔维什所击毙。
维克多•扎卡耶夫(V Zakhaev)
伊姆兰•扎卡耶夫之子,在第二关中押送总统时露面。在任务“父债子还”中,他被SAS们追捕无路可逃后在楼顶自杀。
在此,四代告别一个段落,但是马卡洛夫,还在逍遥法外。并在6中血洗机场,挑起战争
在6部中,主角还是在TASK 141小队中来回变动,先是由小强,肥皂,幽灵等人营救队长,然后开始一场与反派大打出手之势。然而,在四代中因为核爆损失三万美军的谢菲尔德,在小强和幽灵完成情报任务时被q杀最后被肥皂和普莱斯队长干掉肥皂重伤马卡洛夫仍不知何处
故事延伸到8,尤里同志出现,辅助二人完成复仇(另一种是拯救世界):
6代人物:
“小强”加里·桑德森(Sgt Gary Sanderson)(状态:KIA):玩家在游戏中扮演的角色之一。其绰号“Roach”意为“小强”。“小强”和《使命召唤4》的肥皂有很多相似之处,不仅都是有绰号的中士,并且在任务中都曾出现险些危机关头并被长官救起的情景。在追捕马卡洛夫的行动中和幽灵一起被谢菲尔德杀死。
“ 肥皂”·麦克塔维什上尉(Cpt "Soap" MacTavish)(状态:KIA):MW《使命召唤4:现代战争》主角,保持着莫霍克头的形象,在此时已升任上尉,在游戏中作为队长指导玩家作战,大结局中由玩家 *** 纵,投掷飞刀杀死了谢菲尔德。在MW3中被马卡洛夫设计,为救尤里自己被炸伤并从高处跌倒地上,price和尤里把他带到安全处进行抢救,最终因失血过多死亡,死前告诉price:马卡洛夫认识尤里。
约翰·普莱斯上尉(Cpt Price)(状态:ALIVE):MW中肥皂的长官,仍保持在前作中奔尼帽的穿戴形象。普莱斯的同名人物在多款《使命召唤》系列游戏中均有登场。在古拉格监狱中被肥皂等人救出(实际可以自己越狱)。MW3中杀死马卡洛夫
“ 幽灵”西蒙·莱利中尉(LtSimon Riley)(状态:KIA):戴红色护目太阳镜,穿骷髅面罩。同时是漫画《现代战争2:幽灵》的主角,军衔中尉。在安全屋行动中和小强一起被谢菲尔德杀死。在联机里为TF141阵营指挥官配音。
尼古莱(Nikolai)(状态:ALIVE):曾在4代出现,是潜伏于俄军的卧底。在“ 马蜂窝”中登场。在这代中,尼古莱负责开飞机。在8中,负责开飞机(也- -)和提供情报。 司机(Driver) (状态: KIA):加拿大臂章,帽子徽章是澳大利亚,也许是双国籍。在里约热内卢被罗哈斯的副手击毙。
罗伊斯(Royce)(状态: KIA):加拿大士兵,在千里追凶登场,有美国口音(作战中死亡,生存时间由玩家技术决定)。
肥肉(Meat)(状态: KIA):加拿大/澳大利亚士兵, 在里约热内卢登场的一名141队员,在与小强和罗伊斯执行任务过程中牺牲。(作战中死亡,生存时间由玩家技术决定)。 蠕虫(Worm )(状态: Alive) :在古拉格出场,海豹部队,有台词。(——就是那个吐槽“肥皂是谁”的家伙)在联机里为海豹突击队阵营指挥官配音,在COD8中第一关由同名三角洲部队人物,但只是同名不同人(一个白人,一个黑人)也是使命召唤4格里格斯上士配音者,另外值得一提的是其配音者是50美分。
零点(Ozone)(状态: KIA):英国士兵,在“收场”关卡登场和幽灵一起清空房屋,被敌人击中阵亡。
稻草人(Scarecrow )(状态: KIA) :美国士兵,在“收场”关卡登场和幽灵小强清空房屋,被反击的敌人击中阵亡。
神射手(Archer)(状态: Unknown) : 英国(口音疑似埃塞克斯人)士兵,在安全屋行动中作为观察狙击手,在谢将军背叛部队后不知去向,但极可能已阵亡。
特亚德(Toad) (状态: Unknown) - 美国兵,同上。
瑞克(Rook)(状态: KIA):澳大利亚士兵, 在”敌人的敌人”关卡即坎大哈美军飞机处理厂登场,在肥皂和普莱斯撤离时担任司机,被击毙。
美军“游骑兵”军团
约瑟夫·艾伦(Joseph Allen)(状态:KIA):在训练关(SSDD)由玩家 *** 作的一等兵,隶属于美国第75游骑兵团。实战第一关后化名为艾利克斯·波洛金,担任在马卡洛夫组织的卧底,由于将军的出卖,最后在屠杀后死于马卡洛夫的q下,并引发了美俄的大战。 福利中士(Sgt Foley)(状态:ALIVE):训练新兵的黑人中士,并带领拉米雷斯其到弗吉尼亚战斗。 邓恩下士(Cpl Dunn)(状态:ALVE):负责在“特种部队模式”的“洞穴”关卡训练士兵的下士,在美国战场上是重要角色。在联机中为游骑兵阵营指挥官配音。TF141的招募兵。 谢菲尔德将军(General Shepherd)(状态:KIA):美军指挥官,上将,也是五年前MW中负责美军前线行动的总指挥官。野心极大(2011年核d爆炸造成,本是个很好的长官),在追捕马卡洛夫的行动中设计杀死了小强和幽灵,在大结局中被肥皂杀死。
一等兵 詹姆斯·拉米雷斯(James Ramirez)(状态:ALIVE):由玩家扮演的一名一等兵,隶属于美国第75游骑兵团。
俄罗斯激进组织 弗拉基米尔·马卡洛夫(Vladimir Makarov)(状态:KIA):游戏中的主要反派,是俄罗斯激进组织领袖,前作极端民族主义份子头目扎卡耶夫的追随者。在使命召唤8中被普莱斯吊死。
巴西民兵
罗哈斯(Rojas)(状态:KIA):里约热内卢的一名军火贩,穿棕色T恤和七分裤。后被肥皂制服并抓起来。在马蜂窝一关中旁边那死的家伙就是罗哈斯
佛斯特(Faust)(状态:Unkown)罗哈斯的一名助手,被抓住后生死未知。追问少了邓恩下士和福利中士等人,不知是否愿意把他们加上来
我只找到了这么多!
不同的地方很多,**因为表现效果(总不能一个人全场独白吧)和时间限制修改了很多地方,一些细节被改动后反而不够严谨了。最大的不同是,小说是以马克的任务日志形式来表现的,对每个要解决的问题,都提出了多个候选方案并一一否决,筛选出最终可行的方案。而**只能直接展现最终的方案,思考过程完全忽略了。然而这是这部小说的精髓之一。别忘了,作者是暴雪的程序员(参与过魔兽争霸2的开发),而这套“头脑风暴出多种可行方案并逐个否决”的思维方式是程序员的常用方法。作为一个geek,不但关心什么方案行得通,还会关心为什么其他方案行不通。小说不厌其烦的描述各种被否决的方案,充分表现出马克是一个真正的geek,而看**则无此感觉。情节上比较大的改动有: 造水造土过程极其简化。原著中火星土需要先用地球土中的细菌进行活化,而马克只带了花盆大小的地球土,因此是分多次翻倍活化的。造水则更为坎坷,首先是氢气未能完全燃烧混进氧气里了,把马克吓得躲到漫游车里不敢回栖息舱。然后马克想到把氧气抽干(还得考虑细菌的存活,抽氧气之前需要先降温),再在氢气环境里烧氧的方案,又因为自己图方便只用氧气面罩来呼吸引起爆炸。而非**里那样一点就爆。书中的描述在一开头就把读者带进了一个步步为营,遗漏任何一点细节都会导致严重后果的氛围中。而**因为时间关系全部简化了。
以上就是关于为什么特种兵要在脸上抹油彩,而特警一般都是带上面罩全部的内容,包括:为什么特种兵要在脸上抹油彩,而特警一般都是带上面罩、安装directx10之后有什么用、使命召唤所有人物名字及关系等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)