上一篇我們已經透過繼承使用UNET的CALSS來實作區網交換資訊,以達到聊天對話的功能,接下來就來加入一個簡單的井字遊戲,並且利用先前的對話框來拋出一些系統資訊吧。
閱讀全文 [UNET]UNITY連線小遊戲(二){井字遊戲}
分類彙整: UNET
[UNET]UNITY連線小遊戲(一){聊天功能}
網路遊戲有很多為了相隔兩地的玩家可以溝通的功能,其中聊天對話框就是最常見的一種方式,本系列就來看看如何透過繼承使用UNET的CALSS來實作區網交換資訊,以達到聊天或者其他連線功能。
閱讀全文 [UNET]UNITY連線小遊戲(一){聊天功能}
UNET連線遊戲(十){動畫動態同步}
本篇使用的是5.3版後有UNET的UNITY
目標:動作同步
1.延續前篇(UNET連線遊戲(九){美化遊戲選單與流程})
現在我們要用UNET實作動態表現
首先再度把我們的角色拿出來編輯
閱讀全文 UNET連線遊戲(十){動畫動態同步}
UNET連線遊戲(九){美化遊戲選單與流程}
本篇使用的是5.3版後有UNET的UNITY
目標:重製連線UI
1.延續前篇(UNET連線遊戲(八){鬼抓人})
現在我們要用UNET重新實作連線介面
閱讀全文 UNET連線遊戲(九){美化遊戲選單與流程}
UNET連線遊戲(八){鬼抓人}
本篇使用的是5.3版後有UNET的UNITY
目標:基本連線遊戲機制+線上怪物
1.延續前篇(UNET連線遊戲(七){原來這就是掛掉的感覺})
除了連線玩家,以及場景的布置外,還可以在場中加入一些由伺服器控制的NPC怪物增添遊戲的樂趣。首先處理場景的布置~
為了節省效能,我們開啟Window→Lighting關閉Auto Bake並烘焙貼圖後關閉即時的GI渲染,讓遊戲運行的快些節省網路效能。
閱讀全文 UNET連線遊戲(八){鬼抓人}
UNET連線遊戲(七){原來這就是掛掉的感覺}
本篇使用的是5.3版後有UNET的UNITY
目標:基本連線遊戲機制+陣亡後延遲重生
1.延續前篇(UNET連線遊戲(六){你快掛囉,HUD_UI續})
已經有血條的控制與顯示後,接下來針對陣亡的玩家做一些對應的控制,例如:
- 不能再發射子彈
- 不能繼續移動
- 停留數秒後才重生
- 畫面變紅的陣亡提示
- 以及模擬暈眩
2.以上行為可以改寫之前的DamageScript.cs來達成對陣亡人物的行動限制,不能發射子彈的部分可以透過關閉GunController腳本達成(把槍的零件關閉),不能移動則透過關閉FirstPersonController fpsController腳本達成,畫面變紅則需要Image的UI。
using UnityStandardAssets.Characters.FirstPerson; GunController gunCtrl; FirstPersonController fpsController; Image DEAD_BG;
增加上列的引用和宣告,並於Start()處取得相關零件,如下
gunCtrl = GetComponent<GunController> (); fpsController = GetComponent<FirstPersonController> (); DEAD_BG = GameObject.Find ("BG").GetComponent<Image> ();
UNET連線遊戲(六){你快掛囉,HUD_UI續}
本篇使用的是5.3版後有UNET的UNITY
目標:基本連線遊戲機制+敵方玩家血條(UI)
1.延續前篇(UNET連線遊戲(五){死神之眼我看的見你的名子,HUD_UI})
現在我們必須要讓敵方UI與他自己的HP兩產生互動,但在這邊其實我方也是相對的;意思是其實不管是誰的血量都應該要告知SERVER後同步給所有玩家,所以接下來我們要大刀闊斧的修正程式內容。
首先是玩家自己的UI實際上也應該要像敵方UI一般生成帶入,只是型態有所不同,因此這裡我們要做的事情是把之前做好的我方HPBAR(綠色一大條的)也掛上先前的UIReset.cs還有NetowrkIdentity的套件
隨後將PLAYER_ID放到HP階層下當成子物件,拖曳到Resources資料夾製作成預製物,並刪除場景上的HP
閱讀全文 UNET連線遊戲(六){你快掛囉,HUD_UI續}
UNET連線遊戲(五){死神之眼我看的見你的名子,HUD_UI}
本篇使用的是5.3版後有UNET的UNITY
目標:基本連線遊戲機制+敵方玩家血條(UI)
1.延續前篇(UNET連線遊戲(四){我快死了,HP_UI})
UNET連線遊戲(四){我快死了,HP_UI}
本篇使用的是5.3版後有UNET的UNITY
目標:基本連線遊戲機制+玩家血條(UI)
1.延續前篇(UNET連線遊戲(三){廝殺吧!!吃下我的子彈})
UNET連線遊戲(三){廝殺吧!!吃下我的子彈}
本篇使用的是5.3版後有UNET的UNITY
目標:基本連線遊戲機制+發射物體和其他玩家互動(攻擊)
1.延續前篇(UNET連線遊戲(二){讓子彈飛一毀})
- 邏輯概念:人物被子彈擊中要產生相應的處理,因此需要掛載一個程式在人物身上,來判斷是否被擊中。
透過此程式呼叫SERVER讓SERVER回覆PLAYER發生了什麼事情。 - 首先簡單改寫一下原來子彈的內容
希望子彈在擊中目標後也會消失using UnityEngine; using System.Collections; using UnityEngine.Networking; public class AmmoController : NetworkBehaviour { private float lifeTime; public float maxTime = 3.0f; void Start () { lifeTime = 0.0f; } [ServerCallback] void Update () { lifeTime += Time.deltaTime; if( lifeTime > maxTime ) { NetworkServer.Destroy(gameObject); } } }