FPS Microgame 的法老之鷹MOD製作分享

上次簡單介紹了FPS Microgame的玩法,不知道小夥伴們有沒有製作出自己喜歡的MOD呢?由於在道具裡看到有火箭揹包,突然聯想到守望先鋒裡的法老之鷹,因此萌生了能不能製作一個法老之鷹MOD的想法。一翻搗鼓之後,成品如下:

FPS Microgame 的法老之鷹MOD製作分享

接下來我們打開FPS Microgame工程的MainScene場景,開始修改吧~

一、推進揹包

1 空格鍵噴氣懸浮

首先從最簡單的部分開始,由於推進揹包的腳本已經寫好掛在角色身上,我們只需要調節參數就能大約地模擬一下法雞浮空的手感。

(1)解鎖:解鎖之後,遊戲開始就能立刻使用火箭揹包。

在Hierarchy窗口裡選中Player,在Inspector窗口裡找到Jetpack腳本,勾選Is Jetpack Unlocked At Start

FPS Microgame 的法老之鷹MOD製作分享


(2)調節懸浮參數

找到Durations部分參數,調節參數(僅供參考,小夥伴們可以自行優化):

  • Consume Duration:2,如果一直按著空格鍵,噴氣揹包可持續使用秒數(可以理解為燃料值)。
  • Refill Duration Ground: 3,在地面完全填充燃料值所需的秒數(值越小,填充速度越快)。
  • Refill Duration In The Air:3,在空中完全填充燃料值所需的秒數(值越小,填充速度越快)。
  • Refill Delay:0.2,停用懸浮(放開空格鍵)多久後開始填充燃料。
FPS Microgame 的法老之鷹MOD製作分享

調節完成後可以試下手感哦,沒有製作shift推進之前需要先跳一下才能空格控制浮空。


2 Shift鍵噴射升空

(1)守望先鋒中法雞Shift可以噴射上升一段距離,由於FPS Microgame裡設置Shift是奔跑,且只有治療兵76的Shift才是奔跑,因此需要在腳本中做一些改動,打開PlayerCharacterController腳本:

public class PlayerCharacterController : MonoBehaviour

{

//...

Jetpack jetpack;

void Start()

{

jetpack = GetComponent<jetpack>();/<jetpack>

//...

}

}


②找到void HandleCharacterMovement(),這是控制角色移動

的方法。

③找到聲明bool isSprinting的地方修改為:

FPS Microgame 的法老之鷹MOD製作分享

這樣設置之後,在推進揹包解鎖的情況下,就不會奔跑了。


(2)編寫推進揹包功能

①在Jetpack腳本的Update()

中添加以下語句,當按下左Shift鍵的時候,執行噴射方法Jet()。

public class Jetpack : MonoBehaviour

{

void Update()

{

//...

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

{

Jet();//噴射上升

}

}

}

②噴射方法

  • PlayerCharacterController腳本 中的m_LastTimeJumped 變量修飾符改為public,方便在Jetpack腳本中調用。
FPS Microgame 的法老之鷹MOD製作分享

  • Jetpack腳本聲明噴射速度jetUpSpeed。
  • 噴射時修改角色豎直向上的速度(characterVelocity的Y方向的值),並且刷新m_LastTimeJumped,免去起飛時的地面檢測,否則會被往地上吸。

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;

}

}

推進揹包的主要功能基本就改造完成了,還有冷卻時間之類的細節追求完美的小夥伴可自行添加~


FPS Microgame 的法老之鷹MOD製作分享


二、武器製作

1 火箭發射器

法雞的火箭發射器是單發、無擴散的、6發彈藥,那麼我們開始設置吧~

(1)打開文件夾Assets > FPS > Prefabs > Weapons,找到Weapon_Blaster預製體,Ctrl+D複製做好備份。

(2)雙擊Weapon_Blaster進入預製體編輯模式。

(3)在Inspector窗口中找到Weapon Controller腳本組件,調節以下參數:

①Shoot Parameters(射擊參數):

  • Delay Between Shot(射擊間隔):0.5,兩槍的最短間隔時間為0.5秒。
  • Bullet Spread Angle(發射角度):0,無擴散。
  • Bullets Per Shot(每次發射子彈數):1,每次射1顆子彈。

②Ammo Parameters(彈藥參數):

  • Ammo Reload Rate(每秒填充彈藥的速度):6,每秒恢復6次發射次數。
  • Ammo Reload Delay:0.5,停止開火0.5秒後開始恢復發射次數(換彈)。
  • Max Ammo(最大彈藥數):6,表示最多可以連發6次。
FPS Microgame 的法老之鷹MOD製作分享


2 火箭彈

武器參數已經調節完成,接下來開始設置火箭彈。

(1)創建火箭彈預製體

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

② 把Projectile_Rocket拖進文件夾Assets > FPS > Prefabs > Projectiles,生成預製體,然後刪除Hierarchy窗口中的Projectile_Rocket。


FPS Microgame 的法老之鷹MOD製作分享


雙擊Projectile_Cookie打開預製體:

  • 打開文件夾Assets > ModAssets > SpaceProps
  • 把Rocket拖動到Hierarchy窗口的Projectile_Rocket下,作為其子對象。
FPS Microgame 的法老之鷹MOD製作分享

  • 調節Rocket的Transform組件參數:Rotation:(90,0,0); Scale:(0.05,0.05,0.05)。設置後火箭頭的朝向就是移動的方向。
  • FPS Microgame 的法老之鷹MOD製作分享


    (2)添加腳本並設置參數

    通過以上操作便完成了火箭彈的外觀設置,下邊來要完成腳本上的設置。

    ①在Hierarchy窗口中選中Projectile_Rocket,在Inspector面板中搜索並添加添加腳本:

    • ProjectileBase(發射物基礎腳本)
    • ProjectileStandard(用於調節子彈的碰撞判定、飛行速度和傷害等)
    • DamageArea(傷害範圍)


    ②設置ProjectileStandard參數

    a 設置碰撞相關參數

    • 在Rocket下新建空物體,命名為Tip,並且移動到火箭的位置。
    FPS Microgame 的法老之鷹MOD製作分享

    • 在Rocket下新建空物體,命名為Tail,並且移動到火箭的位置。
    FPS Microgame 的法老之鷹MOD製作分享

    • 把Tail拖進ProjectileStandard腳本的Root中進行賦值。
    • 把Tip拖進ProjectileStandard腳本的Tip中進行賦值。
    • Radius:0.1,把炮彈的檢測半徑設為0.1。
    FPS Microgame 的法老之鷹MOD製作分享


    b 設置Movement炮彈移動相關參數

    法雞的火箭彈不是即時命中的子彈,因此飛行速度相對子彈來說較慢。

    • Speed(飛行速度):30。
    • Trajectory Correction Distance(軌道修正距離):10,炮彈在飛行前10米的過程中,會漸漸修正到發射時屏幕中心正方向的軌道上。

    c 設置傷害

    • Damage:120。


    ③設置DamageArea參數

    火箭彈具有濺射傷害,通過DamageArea腳本可以設置傷害範圍,並且傷害能隨著距離變化。

    • Area Of Effect Distance:5,傷害範圍半徑。
    • Damage Ratio Over Distance:點擊右側圖框,可以通過曲線調節傷害,使距離爆炸中心越遠,濺射傷害越低。
    FPS Microgame 的法老之鷹MOD製作分享

    • 把設置好的Damage Area拖進ProjectileStandard的 Area Of Damage變量框中。


    FPS Microgame 的法老之鷹MOD製作分享

    完成以上操作便能進行初步試玩了,可是現在只會投射一個小火箭頭出去,看起來沒有什麼威力。

    FPS Microgame 的法老之鷹MOD製作分享

    3 添加特效

    為了讓火箭彈更加看起來更加有表現力,需要在火箭的尾部添加煙霧效果,並且擊中目標時播放爆炸特效。特效可以自行製作或者在Asset Store裡邊找合適的,底部鏈接地址提供本次使用的兩個特效。

    雙擊打開Projectile_Rocket預製體進行編輯:

    (1)把煙霧特效VFX_TailSmokeEffect拖到Hierarchy窗口中的Tail節點下。

    FPS Microgame 的法老之鷹MOD製作分享

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

    FPS Microgame 的法老之鷹MOD製作分享

    趕緊試試效果吧,是不是酷炫了好多呢~


    FPS Microgame 的法老之鷹MOD製作分享

    結語:FPS Microgame的法老之鷹MOD製作分享就到這裡了,小夥伴們可以充分發揮自己的想象力,做出各種自己喜歡的功能,例如艾什的延時雷管等等,希望大家玩得愉快。

    FPS Microgame 的法老之鷹MOD製作分享

    煙霧和爆炸特效鏈接:https://pan.baidu.com/share/init?surl=OvmZoPdiVXqRj4sl2aERBw​

    提取碼:78w3

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



    咱們的遊戲開發交流群也歡迎強勢插入:869551769

    希望參與線下游戲開發學習的,歡~~~~~~迎訪問:http://levelpp.com/


    分享到:


    相關文章: