Unity UFPS 教學FPS 射擊遊戲是許多玩家喜愛的遊戲類型,例如《戰地風雲》、《全境封鎖》系列,行動裝置的《DEAD TRIGGER》、《UNKILLED》,甚至是經典射擊遊戲 《毀滅戰士》 也推出複刻版 DOOM Classic 遊戲。 UFPS : Ultimate FPS 是一套支援 Unity 遊戲引擎的 FPS 遊戲製作套件,可協助您快速開發第一人稱射擊遊戲,它提供遊戲必要的元素,包括角色控制器、武器系統(槍枝與炸彈)、補給品(補血與彈藥)、地形(移動平台)與角色的重生系統等。 http://visionpunk.com/hub/assets/ufps/manual/ UFPS 獲得使用者的壓倒性 5 顆星評價,官方提供 Mobile Add-on for UFPS 行動裝置遊戲開發套件與 UFPS Photon Multiplayer Starter Kit 多人線上遊戲開發套件,並可搭配第三方外掛程式共同使用。 前往資源商店搜尋 UFPS 下載到專案。
將 UFPS 資源包下載並匯入所有項目,本教學將使用 Unity 提供的 Prototyping 資源包,也可一併匯入專案。
10. UFPS Photon Multiplayer Starter Kit 教學
基本設置(遊戲角色與攝影機)
建立遊戲場景中的地板,調整到適當的大小,並加上地板貼圖。 刪除場景中的預設攝影機,避免進入遊戲時出現錯誤的情況。
加入玩家使用的武器1. 選取 Player 玩家角色,搜尋 vp_FP Weapon Handler 腳本並套用到玩家角色。 2. 建立一個新的空物件,重新命名為適當名稱 (例如 1Pistol 手槍 ),前面的數字對應武器切換順序。 3. 搜尋 vp_FP Weapon 腳本並套用到剛才建立的 1Pistol 物件,用於設定手槍的外觀與功能。 4. 展開 Vp_FP Weapon 元件的 Rendering 欄位,然後並將手槍的預製物件拖曳到1st Person Weapon (第一人稱觀點的武器)欄位。 您可以在 [ UFPS > Base > Content > Prefabs > Weapons ] 資料夾找到 UFPS 提供的預製物件。 包括: Pistol 自動手槍、Revolver 左輪手槍、Machinegun 機槍、Mace 流星槌。 5. 在 Hierarchy 視窗將 1Pistol 拖曳到 Camera 上,使手槍成為攝影機的子物件,將能夠隨著攝影機轉動。 6. 將 1Pistol 的座標位置重設為 (0, 0, 0),將會讓手槍的位置與父物件攝影機相同,稍後可調整武器的位置。 7. 按下 Play 測試遊戲,使用鍵盤 Q 或 E 鍵可切換武器,玩家移動或跳躍時手握的槍會呈現自然晃動的效果。 8. 玩家角色若能夠使用多種武器,重複以上的步驟加入更多武器,命名時請加上數字以控制武器切換順序。
調整武器位置與角度1. 按下 Play 測試遊戲,注意 UFPS 可以在 Play 模式調整,並將參數儲存到檔案。 2. 透過 Vp_Fp Weapon 元件的 Position Springs 調整 Offset 設定武器的位置。 3. 透過 Vp_Fp Weapon 元件的 Rotation Springs 調整 Offset 設定武器的角度。 4. 武器調整到適當的位置與方向,可在下方的 Preset 按下 Save 按鈕,將設定的數值儲存到 .txt 文字檔。 5. 按下 Play 回到編輯模式,同樣在此武器的 Vp_FPWeapon 元件下方的 Preset 按下 Load 按鈕,選擇剛才的存檔,即可載入設定數值。
製作武器相機當玩家走近場景中的牆壁或其他物件時,武器可能會因為位置重疊而被部份遮蔽,這是真實世界是不會發生的,可以使用 Weapon Camera(武器相機)來避免這個情況。雖然此功能可以選擇是否使用,但是在部份的情況是建議使用武器相機。 1. 建立一個新的空物件,重新命名為「WeaponCamera」,拖曳到 Camera 使其成為攝影機的子物件。 2. 將 WeaponCamera 武器相機的位置重置為(0,0,0),使其與父物件的位置相同。 3. 按下 Add Component 按鈕,選擇 [ Rendering > Camera ] 套用 Camera 攝影機元件。 武器相機只需要製作一個即可,不需要為每一個武器分別製作。
加入子彈1. 選取剛才製作的 1Pistaol 手槍物件,搜尋 vp_FP Weapon Shooter 腳本並套用到武器物件。 2. 展開 Vp_FP Weapon Shooter 元件上的 Projectile 子彈,搜尋 PistolBullet 並拖曳到 Prefab 欄位。 3. 展開 Vp_FP Weapon Shooter 元件上的 Sound 設定項目,將 PistolFire、PistolDryFire 音效拖曳到對應的射擊音效。
4. 按下 Play 測試遊戲,按滑鼠左鍵即可讓槍射出子彈,音效,槍的後座力產生振動。 5. 槍口火花 展開 Vp_FP Weapon Shooter 的 Muzzle Flash 設定項目。 將 PistolMuzzleFlash 拖曳到 Muzzle Flash 下的 Prefab 預製物件欄位。 6. 展開 Vp_FP Weapon Shooter 的 Shell 設定項目,可以設定槍枝射擊時彈出的彈殼。 將 PistolShell 拖曳到 Prefab 預製物件欄位,試玩遊戲,調整 Scale 縮放彈殼的大小。 7. 射擊準星,沒有準星不容易瞄準。 選擇武器(例如 Pistol ),搜尋 Vp_Simple Crosshair 腳本並套用到武器上。 將 Crosshair 拖曳到 Image Crosshair 欄位。注意每個武器需要各別套用。 8. 如果已經製作其他射擊類武器,請透過以上步驟為每個武器加入子彈、射擊音效、槍口火花、射擊準星。
調整射擊的後座力按下 Play 測試遊戲,槍技射擊的後座力可能需要調整。
玩家使用武器的動作調整UFPS 對於玩家使用武器的動作可以進行細部的調整,以符合真實的情境。 Retraction (縮回) 玩家角色接近牆壁時,手臂會自然縮回,避免與武器產生碰撞。 Distance 設定縮回的距離。
向下看時手部的動作。 Vp_FP Weapon Look Down 勾選 Adjust for lookdown
玩家角色的設定透過遊戲角色的 Vp_FP Controller 腳本進行移動的設定。 開啟 Motor 設定項目,設定玩家角色的移動行為。 Acceletation(加速): 移動時,每一幀都加入控制器的世界移動速度。 Free fly (自由飛翔): 啟動時玩家可以飄浮在空中,稍後說明設定方法。
開啟 Jump 設定項目,設定玩家角色的跳躍行為。 Force(力量): 當玩家跳躍時,在單個幀中添加到控制器的上升量。跳躍的高度稍微受到重力影響。
開啟 Physics 設定項目,設定玩家角色的物理行為。 Force Damping : 使玩家受外部的力量,例如 ThrownBomb 爆炸的衝擊。”1”值完全不受影響,”0”值表示控制器將受到極大影響。
Free Fly 自由飛翔 - 啟動時玩家可以飄浮在空中,需要同時降低 Vp_FPController > Physics > Gravity Modifider 的數值,例如設為 0 時等於無重力狀態。 玩家角色在自由飛翔模式,按下空白鍵跳起後可以停留在空中,使用鍵盤 C 可下降。
Vp_FP Controller Physics Push Mode 選擇 Kinetic 模式。
主動防衛槍,玩家進入範圍,自動開槍射擊。 Vp_SecurityCamTurret
選取需要加上彈痕的物件,套用 Vp_Surface Identifier 腳本。
選擇不同的表面類型,射擊時也會產生不同的結果。
玩家受攻擊時,沒有任何損傷的效果。選取玩家角色,套用 Vp_Simple HUD 腳本。 Font = Aldrich-Regular Health Multiplier = 1
玩家重生 玩家角色套用 Vp_Player Respawner 腳本。 將會在玩家「倒下」的位置動態生成預製物件。
受傷 玩家角色套用 Vp_Pain HUD 腳本。
玩家角色套用 Vp_Player Inventory 腳本,套用後才能撿拾物品。
此外,可以被玩家撿拾的物品需要套用 Vp_Item Pickup 腳本,注意是場景上的物品(例如武器或彈匣),而不是玩家手上的武器。 PickupPistol
選取玩家持有的武器。 套用 Vp_Item Identifier 腳本。 選擇 Pistol01 物件類型。
補充彈藥 子彈射擊,裝填。 Vp_FP Weapon Reloader
增加槍的射擊準心 玩家使用遊戲中的槍枝射擊時,如果沒有準星不容易瞄準目標,可以透過以步驟加入射擊準星。
選擇武器(例如 Pistol ),搜尋Vp_Simple Crosshair 腳本並套用到武器上。 將 Crosshair 拖曳到 Image Crosshair 欄位。注意每個武器需要各別套用。 |