0

クライアントによって制御されないゲームオブジェクト「プレーン」があります。ホストが特定のボタンをクリックすると、クリップを再生するオーディオ ソースが生成されます。クライアントに音を聞かせたいので、rpc を使ってみましたが、送信できないようです。

エラーが発生し続けます: プレーン (UnityEngine.GameObject) で着信 [ClientRpc:InvokeRpcRpc_SendSoundIDToServer] の動作が見つかりません。サーバーとクライアントには同じ NetworkBehaviour インスタンスが必要です。

1日以上私を夢中にさせてきました。助けていただければ幸いです。

これが私のコードです:

using UnityEngine;
using UnityEngine.Networking;

[RequireComponent(typeof(AudioSource))]
[RequireComponent(typeof(NetworkIdentity))]
public class SpoolUp : NetworkBehaviour
{
private AudioSource source;

public AudioClip[] clips;
public bool start;

void Start()
{
clips = Resources.LoadAll("Audio");
source = GetComponent();
source.playOnAwake = false;
}
public void Spool()
{
start = true;
if (isServer)
PlaySound(0);
}

public void PlaySound(int id)
{
if (id >= 0 && id < clips.Length)
{
RpcPlaySound(id);
}
}
[ClientRpc]
void RpcPlaySound(int id)
{
source.PlayOneShot(clips[id]);
}

PS: 次の警告も表示されます: ClientRpc [ClientRpc:InvokeRpcRpcPlaySound] handler not found [netId=4]

4

0 に答える 0