文档介绍:第一部分:简介这个教程中,我们详细了解下如何制作一个简单的第一人称射击游戏( FPS ) 。其中将介绍一些基本的 3D 游戏编程的概念和一些关于怎样如游戏程序员般思考的技巧。前提这个教程假定你已经熟悉软件 Unity 基本操作,掌握了基本的脚本概念。创建新工程下载 压缩文件,解压,在 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 控制器附近的。然后使用手柄,把发射器移动到大概角色手部的位置。注意: 可以通过设置这个物体的位置来设定游戏角色是左撇子还是右撇子, 不需要写代码。使 Unit y 窗口模式是“ 2by3 ”模式( window>Layouts>2by3 ), 点击播放键( play )。确保层级面板中点选了发射器, 四处移动角色, 同时观察场景窗口。你将发现发射器并没有随着角色一起运动(现在再次点击播放键停止运行游戏) 下面来解决这个问题,层级面板中,把发射器拖放到 FPS 控制器下面的主摄像机上。弹出的对话框点击“是”。再次运行游戏, 观察场景窗口, 发射器已经和角色运动一致了。这样我们就把发射器与摄像机关联起来了。创建飞弹下面我们来创