作者:Truly

上次简单介绍了FPS Microgame的玩法,不知道小伙伴们有没有制作出自己喜欢的MOD呢?由于在道具里看到有火箭背包,突然联想到守望先锋里的法老之鹰,因此萌生了能不能制作一个法老之鹰MOD的想法。一翻捣鼓之后,成品如下:

只狼mod结合(FPSMicrogame的法老之鹰MOD制作分享)(1)

接下来我们打开FPS Microgame工程的MainScene场景,开始修改吧~

一、推进背包

1 空格键喷气悬浮

首先从最简单的部分开始,由于推进背包的脚本已经写好挂在角色身上,我们只需要调节参数就能大约地模拟一下法鸡浮空的手感。

(1)解锁:解锁之后,游戏开始就能立刻使用火箭背包。

在Hierarchy窗口里选中Player,在Inspector窗口里找到Jetpack脚本,勾选Is Jetpack Unlocked At Start

只狼mod结合(FPSMicrogame的法老之鹰MOD制作分享)(2)

(2)调节悬浮参数

找到Durations部分参数,调节参数(仅供参考,小伙伴们可以自行优化):

只狼mod结合(FPSMicrogame的法老之鹰MOD制作分享)(3)

调节完成后可以试下手感哦,没有制作Shift推进之前需要先跳一下才能空格控制浮空。

2 Shift键喷射升空

(1)守望先锋中法鸡Shift可以喷射上升一段距离,由于FPS Microgame里设置Shift是奔跑,且只有治疗兵76的Shift才是奔跑,因此需要在脚本中做一些改动,打开PlayerCharacterController脚本:

①声明并获取Jetpack变量

public class PlayerCharacterController : MonoBehaviour

{

//...

Jetpack Jetpack;

void Start()

{

jetpack = GetComponent<Jetpack>();

//...

}

}

②找到void HandleCharacterMovement(),这是控制角色移动的方法。

③找到声明bool isSprinting的地方修改为:

只狼mod结合(FPSMicrogame的法老之鹰MOD制作分享)(4)

这样设置之后,在推进背包解锁的情况下,就不会奔跑了。

(2)编写推进背包功能

①在Jetpack脚本的Update()中添加以下语句,当按下左Shift键的时候,执行喷射方法Jet()。

public class Jetpack : MonoBehaviour

{

void Update()

{

//...

if (Input.GetKeyDown(KeyCode.LeftShift) && isJetpackUnlocked)

{

Jet();//喷射上升

}

}

}

②喷射方法

只狼mod结合(FPSMicrogame的法老之鹰MOD制作分享)(5)

public class Jetpack : MonoBehaviour

{

//...

public float jetUpSpeed=26f;

//...

public void Jet()

{

m_PlayerCharacterController.m_LastTimeJumped = Time.time;

//抵消向下的速度

var tempV = m_PlayerCharacterController.characterVelocity;

tempV.y = 0;

m_PlayerCharacterController.characterVelocity = tempV;

m_PlayerCharacterController.characterVelocity = Vector3.up * jetUpSpeed;

}

}

推进背包的主要功能基本就改造完成了,还有冷却时间之类的细节追求完美的小伙伴可自行添加~

只狼mod结合(FPSMicrogame的法老之鹰MOD制作分享)(6)

二、武器制作

1 火箭发射器

法鸡的火箭发射器是单发、无扩散的、6发弹药,那么我们开始设置吧~

(1)打开文件夹Assets > FPS > Prefabs > Weapons,找到Weapon_Blaster预制体,Ctrl D复制做好备份。

(2)双击Weapon_Blaster进入预制体编辑模式。

(3)在Inspector窗口中找到Weapon Controller脚本组件,调节以下参数:

①Shoot Parameters(射击参数):

②Ammo Parameters(弹药参数):

只狼mod结合(FPSMicrogame的法老之鹰MOD制作分享)(7)

2 火箭弹

武器参数已经调节完成,接下来开始设置火箭弹。

(1)创建火箭弹预制体

① 在Hierarchy窗口中新建空的GameObject,重命名为Projectile_Rocket,并且Reset Transform。

② 把Projectile_Rocket拖进文件夹Assets > FPS > Prefabs > Projectiles,生成预制体,然后删除Hierarchy窗口中的Projectile_Rocket。

只狼mod结合(FPSMicrogame的法老之鹰MOD制作分享)(8)

双击Projectile_Cookie打开预制体:

只狼mod结合(FPSMicrogame的法老之鹰MOD制作分享)(9)

  • 调节Rocket的Transform组件参数:Rotation:(90,0,0); Scale:(0.05,0.05,0.05)。设置后火箭头的朝向就是移动的方向。
  • 只狼mod结合(FPSMicrogame的法老之鹰MOD制作分享)(10)

    (2)添加脚本并设置参数

    通过以上操作便完成了火箭弹的外观设置,下边来要完成脚本上的设置。

    ①在Hierarchy窗口中选中Projectile_Rocket,在Inspector面板中搜索并添加添加脚本:

    ②设置ProjectileStandard参数

    a 设置碰撞相关参数

    只狼mod结合(FPSMicrogame的法老之鹰MOD制作分享)(11)

    只狼mod结合(FPSMicrogame的法老之鹰MOD制作分享)(12)

    只狼mod结合(FPSMicrogame的法老之鹰MOD制作分享)(13)

    b 设置Movement炮弹移动相关参数

    法鸡的火箭弹不是即时命中的子弹,因此飞行速度相对子弹来说较慢。

    c 设置伤害

    ③设置DamageArea参数

    火箭弹具有溅射伤害,通过DamageArea脚本可以设置伤害范围,并且伤害能随着距离变化。

    只狼mod结合(FPSMicrogame的法老之鹰MOD制作分享)(14)

    只狼mod结合(FPSMicrogame的法老之鹰MOD制作分享)(15)

    完成以上操作便能进行初步试玩了,可是现在只会投射一个小火箭头出去,看起来没有什么威力。

    只狼mod结合(FPSMicrogame的法老之鹰MOD制作分享)(16)

    3 添加特效

    为了让火箭弹更加看起来更加有表现力,需要在火箭的尾部添加烟雾效果,并且击中目标时播放爆炸特效。特效可以自行制作或者在Asset Store里边找合适的,底部链接地址提供本次使用的两个特效。

    双击打开Projectile_Rocket预制体进行编辑:

    (1)把烟雾特效VFX_TailSmokeEffect拖到Hierarchy窗口中的Tail节点下。

    只狼mod结合(FPSMicrogame的法老之鹰MOD制作分享)(17)

    (2)找到Projectile Standard脚本,把爆炸特效VFX_DiskRange_Rocket拖到Impact VFX框中。

    只狼mod结合(FPSMicrogame的法老之鹰MOD制作分享)(18)

    赶紧试试效果吧,是不是酷炫了好多呢~

    只狼mod结合(FPSMicrogame的法老之鹰MOD制作分享)(19)

    结语:FPS Microgame的法老之鹰MOD制作分享就到这里了,小伙伴们可以充分发挥自己的想象力,做出各种自己喜欢的功能,例如艾什的延时雷管等等,希望大家玩得愉快。

    只狼mod结合(FPSMicrogame的法老之鹰MOD制作分享)(20)

    烟雾和爆炸特效链接:https:///share/init?surl=OvmZoPdiVXqRj4sl2aERBw​

    提取码:78w3

    参考资料:

    FPS Microgame官方教程:https://learn.unity.com/project/fps-microgame​


    咱们的游戏开发交流群也欢迎强势插入:869551769

    希望参与线下游戏开发学习的,欢~~~~~~迎访问:http://levelpp.com/

    ,