unity实战:狂暴机器人游戏教程(上篇)

一、准备开始

1.创建场景

1.1打开场景

首先,在Unity中打开启动项目。在项目视图中,打开“Scenes/Battle”,如下图所示。
在这里插入图片描述

1.2新建标签

  • 首先,需要设置“Wall”的游戏对象,避免机器人AI撞到墙上。
    Tag是一个用来标识游戏对象的文本。每个游戏对象只能有一个标记。通过给每个墙的游戏对象分配一个标签,再为机器人设定一些寻路规则,这样它们就可以绕开墙走动。
    在层级视图中,单击“Inner Walls”游戏对象。在检视视图中,单击“Tag”下拉列表,然后选择“Add Tag”命令,
    在这里插入图片描述

  • 单击“Tag”窗口中的加号按钮,然后新建一个“Wall”标签
    在这里插入图片描述

1.3设置标签

通过单击层级视图中“InnerWalls”游戏对象左边的箭头展开它。选择它所有子对象 (名为“Wall”和“WallPost”)。快速的方法是选择第一个游戏对象,然后按住Shift键并单击最后一个游戏对象。选中所有子对象后,单击“Tag”下拉列表并选择刚刚创建的“Wall”标签,

在这里插入图片描述

注:当所有的墙壁都被标记为“Wall”时,可以开始着手为机器人添加“NavMesh”了。

1.4烘培导航

通过“Window/Navigation”打开“Navigation”视图。确保选中了所以的“Wall”和“WallPost”游戏对象,并确保选中了“Object”选项卡中的“Navigation Static”复选框。
在这里插入图片描述

选择“Bake”标签并单击“Bake”按钮
在这里插入图片描述
可以看到场景中出现了浅蓝色的面片,这个浅蓝色的面片就是被限制后的机器人可移动区域。
在这里插入图片描述)

2.添加主角

2.1导入标准资源包

在层级视图中,创建一个空的游戏对象并命名为“Player”。案例将使用Unity自带的Character Controller(角色控制器),并稍作修改来实现玩家对主角的控制。选择菜单栏中的“Assets\ImportPackage\Characters”命令,导入标准资源。
注意:如果在ImportPackage中看不到“Character Controller”选项,说明在安装 Unity 时没有导入Standard Assets(标准资产)。要修复此问题,需要重新执行Unity安装程序,只安装Standard Assets。标准的Unity资产就像任何常规包一样。它只是一个文件的集合。
单击菜单上的Import按钮以导入Characters资产。

在这里插入图片描述

2.2创建脚本

创建移动脚本,包含人物移动,跳跃和转动摄像机,然后将脚本赋予Player确保各个功能的正常实现

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
创建好的脚本如图所示,speed表示人物移动,jump表示人物跳跃,Gravity表示重力,camera_x和camera_y表示鼠标移动时摄像机的转动倍率。
Camera摄像机需要放在Player人物下,程序会自动获取摄像机
在这里插入图片描述
备注:想要实现shift奔跑只需要添加
private float moveSpeed=Speed;
然后将以下代码添加进move函数中即可
if(Input.GetKeyDown(KeyCode.LiftShift))
{
Speed=跑步速度;
}else Speed=moveSpeed;

3.创建武器

3.1添加手枪

在Unity中,枪只是另一个游戏对象。最大的区别在于视角。把它靠近镜头,立刻就能找到第一人称射击的感觉。
选择Camera游戏对象,然后右击它并选择“Create Empty”,创建一个空的子游戏对象,命名为“1Pistol”。名字前面的数字是指玩家将使用的装备ID。
将项目视图中“Models/RobotRampage_Pistol”模型拖到1Pistol 游戏对象上。
调整模型的位置大小,让枪在摄像机中正常显示,然后勾选下框,隐藏模型
在这里插入图片描述
根据此流程,添加猎枪和步枪。

3.2添加武器标签

接下来要为每个武器设置标签。
首先创建三个新的Tag,它们是Pistol、AssaultRifle和Shotgun。
然后给武器分配对应的标签。
1Pistol设置Tag为Pistol,2AssaultRifle设置为AssaultRifle,3Shotgun设置为Shotgun。如下图所示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.创建常量文件

4.1创建Constants脚本

在项目视图中右击Assets文件夹,选择“Create\Folder”命令创建一个新文件夹,命名为“Scripts”。在Scripts文件夹中,创建一个C#脚本,命名为“Constants”。
在脚本编辑器中打开Constants脚本,并将文件的内容替换为:
在这里插入图片描述在这里插入图片描述

5.武器逻辑

5.1切换武器

保存脚本,回到Unity。在Scripts文件夹中新建一个C#脚本,将其命名为“GunEquipper”,添加以下变量。
在这里插入图片描述
保存脚本,回到Unity。在Scripts文件夹中新建一个C#脚本,将其命名为“GunEquipper”,添加以下变量。
在这里插入图片描述
保存脚本,回到Unity,并将GunEquipper 脚本添加到Player游戏物体上
选择Player游戏对象,并将1Pistol 游戏对象从层级视图拖动到 GunEquipper 脚本组件中的相应字段。以同样的方法操作2AssaultRifle 和3Shotgun。
<

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值