質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

1回答

3794閲覧

unityでのphotonを用いた変数同期

qpalzmoknijb

総合スコア13

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2018/06/24 14:37

###困っていること
同じルームに入っているが、Photonを用いた変数同期ができない
下記プログラムでは受信側の「受信しますた」というログが表示されない。
接続まではできるのだが、ルームに入ったあとにエラーが出てきてしまい、プログラムが止まる。

###環境
Unity 2017.4.1.f1
OS windows10
同一のパソコン上でサーバー側をエディタで可動させ、クライアント側をビルドしたexeで動かしています。
このスクリプトがアタッチされているプレハブはAssets直下のResourcesフォルダに入れてあります。

###プログラムの内容
お互いのプログラムをスクリプトを使って同じルームに接続(debug.logにて双方確認済み)
別のスクリプトを使ってクライアント側から変数Arrowを送信し、サーバー側で受信して変数arrowに格納後、Debug.Logに受信成功の表示。
いわゆる変数同期です。

以下に送信側と受信側のプログラムとエラー表示を示します。

lang

1//受信側 2using System.Collections; 3using System.Collections.Generic; 4using UnityEngine; 5 6public class ArrowRecever : Photon.MonoBehaviour { 7 public int arrow=0; 8 9 void OnPhotoSerializeView(PhotonStream stream, PhotonMessageInfo info) 10 { 11 if (stream.isWriting) { 12 //受信のみなので何もしない 13 } else { 14 this.arrow = (int)stream.ReceiveNext (); 15 Debug.Log ("受信しますた"); 16 } 17 } 18 19 void Update(){ 20 Debug.Log (arrow); 21 } 22}

lang

1//送信側 2using System.Collections; 3using System.Collections.Generic; 4using UnityEngine; 5 6public class ArrowSender : Photon.MonoBehaviour { 7 private int Arrow=1001; 8 9 void OnPhotoSerializeView(PhotonStream stream, PhotonMessageInfo info) 10 { 11 if (stream.isWriting) { 12 stream.SendNext (Arrow); 13 } else { 14 //送信のみなので何もしない 15 } 16 } 17}

lang

1The observed monobehaviour (ArrowRecever) of this PhotonView does not implement OnPhotonSerializeView()! 2UnityEngine.Debug:LogError(Object) 3PhotonView:ExecuteComponentOnSerialize(Component, PhotonStream, PhotonMessageInfo) (at Assets/Photon Unity Networking/Plugins/PhotonNetwork/PhotonView.cs:544) 4PhotonView:SerializeComponent(Component, PhotonStream, PhotonMessageInfo) (at Assets/Photon Unity Networking/Plugins/PhotonNetwork/PhotonView.cs:457) 5PhotonView:SerializeView(PhotonStream, PhotonMessageInfo) (at Assets/Photon Unity Networking/Plugins/PhotonNetwork/PhotonView.cs:352) 6NetworkingPeer:OnSerializeWrite(PhotonView) (at Assets/Photon Unity Networking/Plugins/PhotonNetwork/NetworkingPeer.cs:4243) 7NetworkingPeer:RunViewUpdate() (at Assets/Photon Unity Networking/Plugins/PhotonNetwork/NetworkingPeer.cs:4105) 8PhotonHandler:Update() (at Assets/Photon Unity Networking/Plugins/PhotonNetwork/PhotonHandler.cs:165) 9

lang

1The observed monobehaviour (PhotonManagerServer) of this PhotonView does not implement OnPhotonSerializeView()! 2UnityEngine.Debug:LogError(Object) 3PhotonView:ExecuteComponentOnSerialize(Component, PhotonStream, PhotonMessageInfo) (at Assets/Photon Unity Networking/Plugins/PhotonNetwork/PhotonView.cs:544) 4PhotonView:SerializeComponent(Component, PhotonStream, PhotonMessageInfo) (at Assets/Photon Unity Networking/Plugins/PhotonNetwork/PhotonView.cs:457) 5PhotonView:SerializeView(PhotonStream, PhotonMessageInfo) (at Assets/Photon Unity Networking/Plugins/PhotonNetwork/PhotonView.cs:352) 6NetworkingPeer:OnSerializeWrite(PhotonView) (at Assets/Photon Unity Networking/Plugins/PhotonNetwork/NetworkingPeer.cs:4243) 7NetworkingPeer:RunViewUpdate() (at Assets/Photon Unity Networking/Plugins/PhotonNetwork/NetworkingPeer.cs:4105) 8PhotonHandler:Update() (at Assets/Photon Unity Networking/Plugins/PhotonNetwork/PhotonHandler.cs:165) 9

以上です。よろしくおねがいします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

現在、同じシーンを2つ作り、プレハブ、スクリプトを同じにしたが、エラーが出続けてしまった。
新しくプロジェクトを作り直したので別のところに質問します。

投稿2018/06/25 12:24

qpalzmoknijb

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問