Unity C#  網路連線RPC廣播

 

  • 此篇重點語法 * * * * *

→ [ClientRpc]

void RpcDemo(){

}

  e.g[ClientRpc]←宣告一個廣播函式

廣播函式void RpcDemo(){

             ↑   ↑           

 ↑前面一定要加Rpc,後面可以自己取。

}

  • 用法

→ 當host呼叫這個RPC函式時host端會執行這個函式的內容,而其他client端也會同步執行這個函式來呈現連線效果(注意!只有host端可以呼叫這個函式喔!所以ClientRpc可以說是一個單向的廣播)

 

  • 此篇效果* * * * 

 

 

 

-  大概了解重點後,接下來進入完整教學   -

 

一、延續我們上一篇我們已經可以同步兩玩家的動畫與座標了,接下來我們做的是讓「事件」進行同步(補充:上禮拜我寫網誌的時候用的模組這周已經變成收費模組了....所以我這篇換了一新的模組,所以請不要搞混了喔!這還是同一系列的教學XDD)

 

 

二、本篇要同步的「事件」是:當玩家按下空白鍵後自己的頭上會出現一個紅色方塊。

          1. 首先我們先在角色身上新增一個子物件。

 

2. 再來我們把這個cube的Position設定為(0 ,2 ,0 )這樣cube就會出現在玩家頭上

 

3. 最後我們幫cube加上一個顏色(紅色)方便辨識

 

4. 為了效果呈現,我們將角色身上的cube預設為false

 

三、接下來我們新增一段叫做RemoteEvent的程式碼。

 

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

//使用UnityEngine.NetworkingAPI

using UnityEngine.Networking;

 

//把這個類別改成網路行為才可以使用UnityEngine.NetworkingAPI

public class RemoteEvent : NetworkBehaviour {

    

     void Update () {

        //判斷是不是本地端的玩家

        if (isLocalPlayer)

        {

            //如果按下空白鍵可以觸發事件

            if (Input.GetKey(KeyCode.Space))

            {

                //呼叫且執行網路呼叫函式,讓client端上的自己也執行網路呼叫函式中的內容

                RpcShowCube();

            }

        }

    }

 

    //宣告這個函式為網路呼叫函式

    [ClientRpc]

    void RpcShowCube()

    {

        //抓取自身第一個子物件(Cube)並將其設定為Active狀態,這樣我們就可以看到Cube

        this.transform.GetChild(0).gameObject.SetActive(true);

    }

}

 

四、程式碼新增完畢後我們到Unity中按下PLAY,並且按下空白鍵可以看到我們成功的在本地端執行了網路呼叫函式。

 

 

五、接下來我們匯出這個專案並執行(FileBuild    Setting→  Build   &  Run),並且也Unity執行,當我們在Host端按下空白鍵可以看到Client端的視窗也同步出現紅色Cube囉!

 

 

六、如果你成功做到這一步,代表你已經能夠成功利用網路呼叫函式囉!接下來就看你們如何活用在自己的遊戲中囉!不過因為這個函式是「單向」呼叫的(Host to Client ),所以下一篇我們會教各為如何從Clientt端上呼叫Host端的函式,就請大家敬請期待囉!

 

 

  • 複習重點語法 * * * * *

→ [ClientRpc]

void RpcDemo(){

}

  e.g[ClientRpc]←宣告一個廣播函式

廣播函式void RpcDemo(){

             ↑   ↑           

 ↑前面一定要加Rpc,後面可以自己取。

}

 

上一篇《UnityC#網路角色動畫同步)》

: https://goo.gl/N3mEV4

下一篇《UnityC#網路連線Command廣播)》

: https://goo.gl/n1FQcV

 

 

-------------------------------------------------------------------------------------------------------------------------------------

 

我們有粉絲專頁囉!!!       

如果怕有問題連絡不到我們,歡迎隨時私訊FB粉專哦!!!

https://www.facebook.com/Straying2018/

 

●     如果這篇文章有幫助到您,希望您能留言給予我們鼓勵 !  

●     對於文章有任何的建議,非常歡迎留言告訴我們哦 !!!  

●     有任何想知道的功能也歡迎告訴我們,我們會盡快寫成部落格分享給大家!

 

- By Alex-    

 

arrow
arrow

    『迷途』 發表在 痞客邦 留言(0) 人氣()