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

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

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

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

Unity

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

Q&A

1回答

1228閲覧

UNITY Pohto(PUN2)の子オブジェクト同期処理

noberon

総合スコア17

C#

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

Unity

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

0グッド

0クリップ

投稿2021/08/08 04:37

UNITY Pohto(PUN2)を使用して動画の再生同期をしたいと考えております。

1.PlaneにVideoPlayerコンポーネント、PhotonViewコンポーネントをアタッチしプレハブを作りました。

2.アプリ起動時にロービー、ルームに入り、
UIボタンを押すとマスターサーバーユーザーがシーン上にプレハブを生成、
リソースフォルダからビデオクリップを指定し、再生する

という処理を作りました。
マスターサーバー側では、プレハブ生成、動画指定、再生まで問題なくできていますが
クライアント側ではプレハブまでは生成されますが、動画指定ができません。

オブジェクトの位置情報ではないので、PhotonTransformコンポーネントはアタッチしていませんが
上記のような処理を行う場合、何かコンポーネントをアタッチすることで自動で行ってくれたりしますでしょうか

それともテキスト文字列などをコマンドのように同期して個別に処理する必要があるのでしょうか。

アドバイス頂ければ幸いです。
(RPCを使えばいけるよ、とだけ言われて困惑しているので助けてほしいです)

c#

1public VideoClip videoClip; 2public void Buttonaction() 3{ 4 //MoviePlayer 5 if (PhotonNetwork.InRoom) 6 { 7 8 if (PhotonNetwork.InRoom) 9 { 10 PhotonNetwork.Instantiate("Prefabs/MoviePlayer", new Vector3(0, 0, 0), Quaternion.identity); 11 12 // オーナー以外は操作不可 13 if (photonView.IsMine == false) 14 { 15 return; 16 } 17 18 VideoPlayer videoPlayer = GameObject.Find("MoviePlayer(Clone)").GetComponent<VideoPlayer>(); 19 20 videoPlayer.source = VideoSource.VideoClip; // 動画ソースの設定 21 videoPlayer.clip = videoClip; 22 23 videoPlayer.isLooping = true; 24 videoPlayer.Play(); 25 26 27 } 28 29 30 }

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

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

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

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

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

guest

回答1

0

そりゃ、Photonでありとあらゆるものを同期できるわけがないです。
全てのプレイヤーのローカル上で、動画をロードして再生する必要があります。

投稿2021/08/08 06:17

fiveHundred

総合スコア9917

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

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

noberon

2021/08/08 06:41

教えていただきありがとうございます。 ストーリー選択動画を複数人で視聴し、多数派の選択でストーリーが進む動画システムを作りたいと思ったのですが、そういった意味での動画の同期はUnityではできないのでしょうか? 無知な質問となってしまい、大変申し訳ないのですが、教えていただけると幸いです。
fiveHundred

2021/08/08 06:47

可能ですが、再生する動画を全てのローカル上でロードする必要があります。
fiveHundred

2021/08/08 07:04 編集

> (RPCを使えばいけるよ、とだけ言われて困惑しているので助けてほしいです) RPCで「動画を再生する」という関数を呼び出せばよい、という意味だと思います。 もちろん、その動画をどこかで用意する必要はあります。
noberon

2021/08/08 07:14

ご丁寧に教えていただきありがとうございます。 ではwebGLでオンライン配信みたいなものを想定していましたが、ローカルで動画をダウンロードさせるためにアプリとしてビルドしすればよいのでしょうか?  やりたいことの詳細としては、ストーリー選択式のインタラクティブ動画を複数人で体験できるようにしたいと考えています。 ある推理動画をみんなで視聴し、「AとBどちらの道に進む?」といった選択肢に対して、視聴者の選択肢で多数派のストーリーが展開されるといったものを想定しています。 しかし、いろいろ調べてみたところ、Unityだとこの動画の同期?が難しそうなんですね、、、
fiveHundred

2021/08/08 07:27

> ではwebGLでオンライン配信みたいなものを想定していましたが、ローカルで動画をダウンロードさせるためにアプリとしてビルドしすればよいのでしょうか?  webGLでもアプリでも基本的に変わりません。 (webGLでは動画再生できないというのであれば話は別ですが) > しかし、いろいろ調べてみたところ、Unityだとこの動画の同期?が難しそうなんですね、、、 「動画ロード&再生→選択肢の取得&集計→再度動画ロード&再生」と難しそうな点は見つからないですが、どこで困っているのでしょうか?
noberon

2021/08/08 07:40

ご丁寧に返信していただき教えていただきありがとうございます。 まだPhoton初心者なので的外れな質問かもしれませんが、photonでの動画の同期ができないという意見があり、実際に「Unity photon2 動画同期」と調べてもヒットしませんでした。
fiveHundred

2021/08/08 07:45

動画そのものではなく、再生時間をPhotonで同期させる、と考えればいいと思います。
noberon

2021/08/08 10:16

ご丁寧に教えていただきありがとうございます。 自分の理解度が浅いので、まずはチュートリアル をやり込んできます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問