作业帮 > 字数作文 > 教育资讯

第一人称射击游戏

来源:学生作业帮助网 编辑:作业帮 时间:2024/10/12 12:30:22 字数作文
第一人称射击游戏字数作文

篇一:关于第一人称射击游戏

《使命召唤》游戏评价报告

姓名:栾福建

学号:1127161350

序号:44

关于第一人称射击游戏(使命召唤)的评价

《使命召唤》是由是由Activision公司于2003年最初制作发行的FPS游戏系列,从发行以来一直受世界各游戏玩家喜爱,是FPS中的经典游戏之一。使命召唤系列属于FPS类型游戏,FPS即第一人称射击游戏,原本属于ACT类游戏的一个分支,后来由于其在世界的迅速风靡,使之发展成了一个单独的类型。此处将以使命召唤系列对其做简要评价。

首先从游戏配置来讲,《使命召唤》是属于PC系列游戏,该游戏的最低配置内存为2G,处理器可以是Core 2Duo E6600或更高,显存256MB,一般配置独立显存。这些配置对于一般电脑来说都能满足,当然了对于大型的3D游戏来说,PC的配置越高,游戏所带来的体验越好。

从游戏画面来上讲,是笔者体验过游戏中的比较好的一个,这里的所谓的好是指游戏画面的真实感,代入感,游戏画面的细腻程度。它以玩家的主观视角来进行射击游戏。玩家们不再像别的游戏一样操纵屏幕中的虚拟人物来进行游戏,而是身临其境的体验游戏带来的视觉冲击,这就大大增强了游戏的主动性和真实感。游戏中以战场为背景,战场的真实感强。当笔者第一次玩这个系列的游戏,

感觉到能体验到如此真实的游戏的体验真的是妙计了。

其次是游戏的世界观,即游戏中的一系列故事情节,使命召唤系列每部都围绕一个故事情节展开,或是虚拟国家之间的战争,或是延续上一部的剧情,游戏展现的是战场这一大场面,对于一个大场面如何展现给玩家是一个值得斟酌的问题。使命召唤正是通过故事中的一些关键人物,关键剧情以线观面,使玩家整个游戏玩下来有一种亲身经历的感受。早期第一人称类游戏所带给玩家的一般都是的屏幕光线的刺激,简单快捷的游戏节奏。随着游戏硬件的逐步完善,以及各种游戏的不断结合。第一人称射击类游戏提供了更加丰富的剧情以及精美的画面和生动的音效。

另外,游戏的音效也较为逼真,在一些枪炮弹药的音效处理上较真实的模拟了现实中的声音效果。游戏的另外一个特色是,除了设计了整个的剧情任务,还提供了一些单独的模式闯关,比如说有打僵尸的模式,游戏将不再以剧情为线索,而是要求玩家阻挡一波又一波的僵尸的袭击。游戏开放了3种模式,有剧情模式、多人竞技模式、战斗训练模式。增加了众多新地图,目前有风暴,荒漠边陲,安全屋,农场,贫民窟,杀戮小屋,夜色泥沼,坠机之地,约克小镇等9张地图,每张地图都非常有特色。由于某些系列采用了实景地图,所以地图上障碍物远远多于普通射击游戏,看清对手就不那么容易,大大增加了游戏难度。

总之,《使命召唤》已经成为射击游戏的标杆产品,每年有数百

万玩家翘首期待新品的上线。作为网络版而存在的《CODOL现代战争》也确实让我们体验到了《使命召唤》的剧情,而在多人对战中加入了独有的连续击杀奖励使得游戏对抗性和趣味性也更强。相信随着版本的不断完善使命召唤会给我们更多的惊喜。

篇二:unity 第一人称射击游戏(推荐)

第一部分:简介

这个教程中,我们详细了解下如何制作一个简单的第一人称射击游戏(FPS)。其中将介绍一些基本的3D游戏编程的概念和一些关于怎样如游戏程序员般思考的技巧。 前提

这个教程假定你已经熟悉软件Unity基本操作,掌握了基本的脚本概念。

创建新工程

下载FPS_Tutorial.zip压缩文件,解压,在Unity中打开工程文件。

从Unity安装目录导入Standard Assets资源包。

导入工程后,你会在Unity工程面板中的“Standard Assets”文件夹下看见这些资源内容。当我们导入新资源时,最好安装按照资源功能对其分组,例如:火箭、爆炸、音频等。

设置游戏环境

导入资源后,你会注意到在工程面板中有许多文件夹。

工程面板中,从文件夹“Object/mainLevelMesh”中选择“mainLevelMesh”。

在参数面板,FBXImporter选项中,你会发现“Generate Colliders”选项,勾选此选项。如果不做这一步,游戏中玩家会穿越地面直接掉下深渊(实际是开启“碰撞”,产生交互)

把“mainLevelMesh”拖放到场景中。

场景中不需要添加灯光,这关全部场景已经全部应用了灯光贴图。整个场景对所有灯光进行了灯光贴图渲染,使用了“预烘焙阴影”。灯光贴图对显示效果有很大帮助,特别是复杂灯光环境。

下面可以在场景中添加一个角色了。

添加主要角色

下面在场景中增加一个可以操控的角色物体。Unity针对第一人称射击游戏预置了许多内置的控制器,在工程面板Standard Assets->Prefabs下。

添加第一人称控制器,点击工程面板Standard Assets旁边的小三角,弹出资源列表。找到Prefabs文件夹,点击小三角形,弹出资源列表。把“First person controller”拖到场景里。

这时场景中会出现一个代表玩家的圆柱体,三个大箭头代表物体在3D空间中的位置(如果没有看见箭头,选择物体,按“W”键),白色面代表物体当前视角。现在FPS控制器处于默认视角位置,通过移动它可以改变游戏视野。把角色移动到游戏环境关卡地面上面的位置。

Main Camera现在已经没有用处了,可以删掉了。

点击“Play”键,现在应该可以通过使用鼠标和键盘在本关卡地形中四处移动了(光标或者“W,A,S,D”)

现在我们创建了一个非常简单的FSP,下面我们给角色添加武器。

增加武器

下面我们将给游戏角色一个类似榴弹的物体,可以在游戏中发射。要实现这个功能,需要创建一些脚本语言来在Unity中告知这个武器如何动作。

那么我们具体要实现什么呢?我们要使游戏角色能在摄像机的任意位置开火。但是,我们还是首先来思考一下游戏角色和武器。游戏角色游戏中是第一人称的视角,所以摄像机的位置与眼睛平行。如果玩家使用武器射击,武器应该是在角色的手部位置开火而不是眼睛的位置。这样我们就要增加一个“game object”(游戏物体)来代表榴弹发射器,同时把它放置在游戏角色手持武器时武器所处的位置。这样就保证了开火的位置没有问题。

创建武器发射器

首先,创建一个“game object”代表榴弹发射器。游戏物体是3D世界中的任一物体(角色、关卡、声音),零件就是游戏物体的属性。因此我们还需要对游戏物体添加零件: 从主菜单栏选择GameObject>Great Empty,并在层级面板中(Hierarchy)命名为“Launcher”。注意,空物体在场景中是看不见的,只是用它来作放置飞弹发射器。 现在在场景中把视野推近到FPS控制器,便于我们放置武器发射器。

层级面板中选择FPS控制器,确保鼠标处于场景视图中,按“F”键。使窗口以当前选择的物体为中心。

层级面板中选择发射器,主菜单栏选择Game Object>Move to view。注意发射器如何移动到FPS控制器附近的。然后使用手柄,把发射器移动到大概角色手部的位置。 注意:可以通过设置这个物体的位置来设定游戏角色是左撇子还是右撇子,不需要写代码。

使Unity窗口模式是“2by3”模式(window>Layouts>2by3),点击播放键(play)。确保层级面板中点选了发射器,四处移动角色,同时观察场景窗口。你将发现发射器并没有随着角色一起运动(现在再次点击播放键停止运行游戏)

下面来解决这个问题,层级面板中,把发射器拖放到FPS控制器下面的主摄像机上。弹出的对话框点击“是”。再次运行游戏,观察场景窗口,发射器已经和角色运动一致了。这样我们就把发射器与摄像机关联起来了。

创建飞弹

下面我们来创建在玩家点击开火键时能够发射出来的飞弹。

我们先用一个简单物体-球体-代替飞弹。Unity主菜单栏点击Assets>Creat>Prefab创建一个预制(Prefab)物体,命名为“Missile”

创建一个球体(GameObject>Create Object>Sphere)

层级面板中,拖放球体到飞弹预制物体上(Missile),这时预制物体图标会变化。你可

以从层级面板中删除球体。

技巧:游戏运行中产生的任何游戏物体都应该是预制物体(Prefab)。

编写飞弹发射器脚本

FPS控制器是一个包含了几个游戏物体和部件的预制物体。FPS控制器本身是一个只能沿Y轴旋转的圆柱体,因此,如果我们直接把发射器脚本赋予FPS控制器的话,是实现不了上下开火的。所以我们把脚本赋予控制器中的能够四周转动的主摄像机。 下面我们来编写第一个描述发射器行为的JavaScript代码。

点击Assets>Greate>JavaScript,创建一个空的JavaScript文档。一个名为

“NewBehaviourScript”资源将会出现在工程面板中,把它更名为“MissileLauncher” 技巧:通过Unity>Preferences点击External Script Editor,可以自定义外部脚本编辑器。

工程面板中创建一个“WeaponScripts”文件夹,放置我们所有的武器脚本。把MissileLauncher脚本和飞弹预制物体(Missile Prefab)拖到这个文件中。 我们来看看飞弹发射器的完整JavaScript脚本。

进一步思考一下,我们到底想实现什么效果?我们要检测玩家是否按了开火键,然后产生一枚飞弹,然后把它沿着玩家朝向的方向按照一定的速度发射出去。我们仔细的解剖一下脚本:

var projectile: Rigibody;

var speed=20;

function Update( )

{

这是脚本的开头部分,定义了一些属性,开启了“Update”的功能

if(Input.GetButtonDown(“Fire1”))

首先我们要检测玩家是否按了开火键,“开火1”映射的是鼠标左键和当前配置的键盘上的按键(可以通过主菜单栏的Editor>Project Settings>Input设定)

{

var instantiatedProjectile: Rigidbody=Instantiate(

projectile, transform.position,transform.rotation);

我们用变量来定义产生的物体。变量的类型是Rigibody(刚体),因为飞弹是具有物理属性的。

Unity中产生新物体使用的函数是Instantiate,它有三个参数,分别是:产生的物体、产生物体的3D空间位置、物体的旋转。它还有另一个语法结构,参照API手册,这里我们只使用这种结构。

第一个参数,projectile,代表我们想创建的物体。那么到底发射什么物体?具体产生的物体是可以手动设定的。实现方法:把Projectile定义为函数的外部变量,这样就可以在参数面板中显示出来。发射的物体也可以通过代码来创建,但如果你想使一个变量可调的话,还是用上面的方法。

第二个参数,transform.position,使产生的物体与发射器的空间位置一致。为什么就是发射器呢?因为如果要使飞弹产生的位置没有问题,脚本就要关联给发射器。

(transform读取的transform数据就是被赋予脚本的游戏物体transform数据) 第三个参数transform.rotation,与第二个类似,只是它的值与发射器的旋转值是一样的。

instantiatedProjectile.Vellocity=

transform.TransformDirection(Vector3(0,0,speed));

代码的下一部分使飞弹产生运动。为了实现运动,我们要赋予飞弹一个速度,但是在哪个方向上(X,Y,Z)产生速度呢?在场景中,点击FPS控制器,出现运动箭头(如果没有出现,按“W”键),其中一个箭头是红色、一个是绿色、一个是蓝色。红色代表X轴,绿色代表Y轴,蓝色代表Z轴。因为蓝色指向的方向,与玩家面朝的方向一致,所以我们要在Z轴上给飞弹一个速度。

(Velocity)速度是instantiatedProjectile的一个属性。我们怎么知道的呢?因为instantiatedProjectile是刚体的一种,如果我们看看API手册,我们就会知道速度是刚体的属性中的一种。同时也看看刚体的其它属性。要设置速度,我们就必须在各个轴向上设定数值。但还有个小问题。3D空间中的物体一般使用两种坐标模型:本地坐标系和世界坐标系。在本地坐标系中,物体的轴向只与物体本身有关。在世界坐标系中,轴向是绝对的,例如:向上,对所有物体来讲向上的方向都是一样的。

Rigidbody.Vellocity刚体物体速度必须使用世界坐标系。因此,定义速度时,需要把本地坐标系中的Z轴(朝前的方向)向转换成世界坐标系中的相应方向。可以用函数transform.TransformDirection,它有三个向量作为自变量。变量speed也应该定义成外部变量,便于后面在编辑器中直接调节数值。

Physics.IgnoreCollision(instantiatedProjectile.collider,

transform.root.collider);

}

}

最后,我们要关闭飞弹与游戏角色之间的碰撞。如果不这样做的话,飞弹产生的时候就可能与角色发生碰撞。可以在API手册IgnoreCollision下查询详细信息。 MissileLauncher.js全部完整代码如下:

var projectile : Rigidbody;

var speed = 20;

function Update()

{

if( Input.GetButtonDown( "Fire1" ) )

{

var instantiatedProjectile : Rigidbody = Instantiate(

projectile, transform.position, transform.rotation );

(来自:WwW.smhaida.Com 海达 范文 网:第一人称射击游戏)

instantiatedProjectile.velocity =

transform.TransformDirection( Vector3( 0, 0, speed ) );

Physics.IgnoreCollision( instantiatedProjectile. collider,

transform.root.collider );

}

}

把脚本MissileLauncher赋予FPS控制器中的发射器。在层级面板中点击发射器,检查一下参数面板下面是否显示了MissileLauncher script。

先前创建的飞弹的预制物体还没有与脚本中的变量projectile创建关联,我们需要在编辑器中创建一下。变量projectile只能与刚体关联,因此,首先我们要赋予飞弹一个Rigidbody。

工程面板中点击飞弹,然后从主菜单栏选择Components>Physics>Rigidbody。这样将会给我们想开火发射的飞弹一个刚体属性。我们必须确保想在游戏中发射的物体类型与脚本中外部变量要求的物体类型是同一类型的物体。

创建飞弹与脚本中变量projectile的链接。首先在层级面板中点击发射器,然后把飞弹的预制物体从工程面板中拖拽放置在发射器参数面板中MissileLauncher script部分上。

运行游戏的话,你会发现点击开火键可以发出一个受重力影响的小球了。

飞弹爆炸

下面,当飞弹与其他物体发生碰撞时,增加一个爆炸效果。要实现这个效果,我们要编写一段新脚本赋予飞弹。

创建一个新脚本,命名为Projectile。拖放到工程面板的WeaponScripts文件夹下。 那么我们想要脚本Projectile实现什么样的效果呢?我们要检测飞弹是否发生碰撞,然后在碰撞点产生一个爆炸效果。代码如下:

var explosion : GameObject;

function OnCollisionEnter( collision : Collision )

{

函数OnCollisionEnter内的程序代码的作用是计算被赋予脚本的物体是否与其他物体发生碰撞。

篇三:基于DirectX的第一人称射击游戏制作

北京邮电大学世纪学院

毕业设计(论文)

题 目 基于DirectX的第一人称射击游戏制作

学 号 000 学生姓名 专业名称 通信工程 所在系(院) 通信与信息工程 指导教师

2012年 6 月 1日

北京邮电大学世纪学院毕业设计(论文)任务书

备注1、由指导教师撰写,可根据长度加页,一式三份,教务处、系(院)各留存一份,发给学生一份,任

务完成后附在论文内;

2、凡审核不通过的任务书,请重新申报。

篇四:使命召唤6是第一人称射击游戏

使命召唤6是第一人称射击游戏 WSAD控制前后左右移动 左键射击 右键瞄准

F 使用、拾起武器

C 蹲下

Ctrl 卧倒

G 投掷手榴弹

Q 投掷闪光弹(特殊手榴弹) 1和2 武器切换

3 枪榴弹

TAP 地图、任务目标 空格 跳、翻越

篇五:第一人称射击游戏中的系统概览.doc

第一人称射击游戏系统设计方法与特色系统概览

动作................................................................................................................................. 3

角色状态/部位.................................................................................................................. 4

抬头显示器/用户界面 ....................................................................................................... 5

环境特性/物理特性........................................................................................................... 5

操作方式.......................................................................................................................... 6

亮度与色调 ...................................................................................................................... 6

声效................................................................................................................................. 6

特色系统概览................................................................................................................... 7

双手分持武器/武器功能多样化 .................................................................................. 7

武器组装、配件、修改.............................................................................................. 7

机械瞄准................................................................................................................... 7

肉搏.......................................................................................................................... 8

投掷/抛物线武器 ....................................................................................................... 8

武器极限................................................................................................................... 8

掩体/武器架设........................................................................................................... 9

压制/武器非击中效果 ................................................................................................ 9

穿透与范围杀伤 ........................................................................................................ 9

狙击........................................................................................................................ 10

失去武器..................................................................................................................11

武器后坐力 ..............................................................................................................11

指挥/沟通系统......................................................................................................... 12

载具/固定武器......................................................................................................... 12

动作

动作方面,是每个射击游戏都有的,但每款游戏应用的部分不同,有些游戏只是简单的跑+蹲,有些游戏加入了很多要素。

? 下蹲

这几乎是所有FPS游戏中必备的动作,一般按键设置为CTRL或C,是很普遍的动作,有时候可以作为潜行使用。

? 趴下

趴下的作用在于隐蔽性更强,面积更小,瞄准更稳定,或者通过一些低矮的空间。也有很多游戏使用这一设定,可以搭配呼吸或架设的功能做出相对下蹲更明显的效果。

? 跳跃

跳跃也是一个很普遍的动作,但有些游戏出于某些考虑不提供跳跃动作。跳跃的主要作用在于增强机动性,通过一些特殊区域,在竞技性强的游戏中可以做出一些特殊功用的动作。但为了保持游戏中的真实感,应作出一些限制。如果是卡通,幻想题材的,则可以完全不做限制。

? 加速/冲刺

加速冲刺有两种实现方式,一种是使用体力限制冲刺时间,使得这一动作主要用作快速通过某一区域,还有一种就是单纯的快速跑,某些自由度较高,地图较大的游戏需要用到这种动作,两者也可以互通使用。

? 身体倾斜

一些对掩蔽能力而非灵活度要求较高的游戏中,身体倾斜能使得玩家通过拐角观察或射击敌人,而只露出头部与少部分手臂,有些时候这个动作虽然在游戏中实现了,却会成为鸡肋,这取决于运用这一动作能为玩家带来多少好处。另外,这个动作如果能和掩体搭配使用,能使得操控更加自动化。

? 翻滚

前后的翻滚是起到和冲刺类似的效果,有时候也可以作为潜行中的冲刺。左右的翻滚则类似身体倾斜,这种动作虽然看起来花哨,却很容易使玩家觉得恶心,也没什么实用性。

? 潜行/慢走

如果是竞技性较高的游戏,或强调隐蔽行动的游戏,潜行是必须的动作,有些游戏将其与蹲同质,有些游戏单独使用,这取决于蹲是否还有其他的作用,另外潜行必须要有一些弊端,如无法开枪、移动速度慢等。

? 人物飞行

在很多未来或现代题材的游戏中有所应用,操控感不太容易设计,但只要能实现,必然会是很吸引人的亮点。

还有很多针对某一特定目标的动作,如攀爬、开门等,不再一一详述

角色状态/部位

角色状态的设定,分两个部分来设计,一是行为对角色状态的影响,二是角色状态对玩家体验的影响。

行为对角色状态的影响设定也分两部分,作用方和被作用方,作用方可以是攻击者、环境元素等

设定过程中要考虑不同作用方作用在不同部位的效果,如达姆弹作用于腹部和毒素作用于玩家,效果肯定是不同的。

应用以上图例,我们可以设定很多内容

比如:作用方射出一颗穿甲弹,被作用方穿着护甲的情况下被命中头部,那么被作用方的表现将是头部喷血的效果、音效表现、动作表现等。被作用方状态修正很可能是直接死亡或者HP锐减,可以加入射击稳定度的设定,这样被作用方将无法准确开枪。

有时候,我们可以直接考虑角色自身作用。

如呼吸效果,狙击枪在玩家如何处置的情况下会有如何表现,疾跑之后无法稳定射击,自我医疗后的CD等。

当考虑角色状态对玩家体验的影响的时候,可以将玩家作为被作用方或作用方来考虑,作用方在作用后也会影响到玩家的体验,如射击后的后坐力等。

抬头显示器/用户界面

由于第一人称射击游戏的特性,用户界面可以被设计的非常漂亮,并具有游戏特色。

可以显示的内容,可以是如下部分:

? 主体内容

? 生命值

? 能量值/体力值

? 护甲

? 武器与弹药数据

? 雷达/地图/方向

? 分数

? 时间

? 信息

这些内容,可以始终显示,可以被动特定时段显示(如《使命召唤》等使用的,当你受损或开枪时候显示界面),主动显示

另外,有些游戏将用户界面设计成一个头盔的样式,这样更有代入感,尤其适合未来题材的游戏,如《星球大战:共和国突击队》中的T字型头盔。还有些游戏将界面设计成具有使用角色特色的样式,如《异形大战铁血战士》和《终结者3 机械战争》中的终结者视角。

环境特性/物理特性

随着技术的提升,游戏能实现越来越多的物理效果,而物理效果影响游戏体验也是必然的。使用重力、磁力、时间、冷热等特性来解决问题是玩家喜闻乐见(这词儿真俗)的。

以下列举各种已经应用的特性:

? 重力,实际上应该叫作用力,重力只是个比较时髦的叫法,在很多游戏中都有应用,从

《半条命2》中的重力枪,到《孤岛惊魂2》里抛掷敌人身体或物体,都是应用这种物理效果。这些作用力可以作为玩家消灭敌人的手段,改变环境的方式,或解谜的方法。 ? 磁力,磁力与重力相反,是将物体收回的物理效果,实际上《半条命2》中的重力枪兼

具了这两个功能,如果是做一款解谜成分比较多的游戏,磁力是不二的选择

? 时间,时间是一个特殊的物理效果,有很多重应用方式,后面将单独解释。

? 冷热,温度的变化是很酷的事情无论是用火焰烧灼敌人,还是用冰封冻敌人都很有趣,

而这些物理效果也可以影响到某些谜题、或特殊的战术。

? 浮力,如果一款游戏有高低差比较大的场景,可以考虑加入浮力的设定,给玩家一个滑

翔机或者是一个看起来很奇怪的翅膀,让玩家可以延缓下坠的过程,这会增加游戏的乐趣,另外跳伞也是一样的。

字数作文