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

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

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

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

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

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

Q&A

解決済

2回答

2613閲覧

unityの同期処理について

koryo

総合スコア26

C#

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

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

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

0グッド

0クリップ

投稿2016/03/12 09:12

編集2016/03/13 02:39

unityのオンラインゲームでplayerプレファブにNetworkIdentity
(NetworkViewはunityでは非推奨でしたね)をつけ、自分のプレイヤーのみを操作できるように以下のスクリプトをかいてみましたが、
全員一緒に動いており、自分でも調べて解決策を探しましたが見つからず困っています。

C#

1 using UnityEngine; 2using UnityEngine.Networking; 3public class NetworkIdentity : NetworkBehaviour 4{ 5 6 void Update () { 7 if (!isLocalPlayer) 8 { 9 10 return; 11 } 12 } 1314

どうすれば動くのが自分だけになるのか分かる方、回答よろしくお願いします。

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

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

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

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

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

guest

回答2

0

ベストアンサー

新しい方のネットワークシステム(UNET)は使ったことはないのですが、
NetworkIdentityのlocalPlayerAuthorityが該当しそうですね。
http://docs.unity3d.com/ja/current/Manual/class-NetworkIdentity.html

投稿2016/03/15 11:51

sakura_hana

総合スコア11427

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

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

koryo

2016/03/15 12:09

なぜかチェックを入れても動きません... 二つ起動したら、二つプレイヤーが出ます。そこまではいいのですが、出場しているやつ全て動き二つの画面で場所がごっちゃになります。
koryo

2016/03/15 12:37

void Update () { if (networkBehaviour.hasAuthority) { return; } こんな感じですか?これやったらnetworkBehaviourってなんだ!みたいに怒られるんですが...
sakura_hana

2016/03/15 14:43

void Update () { if (networkBehaviour.hasAuthority) { //動くためのスクリプト } } という形ですね。(hasAuthorityがTrue=自分が操作出来るオブジェクト、です) networkBehaviourは自分のオブジェクト(今回の場合playerプレハブ)に付いているNetworkBehaviourまたはNetworkIdentityコンポーネントです。(どっちか付いている方でいいみたいです) networkViewのようにショートカットで取得出来るか分かりませんが、取れないならGetComponentしてください。
koryo

2016/03/16 09:01 編集

if (networkBehaviour.hasAuthority) { Debug.Log("できました"); } こんな感じでやってみましたがlogは出ませんでした...
sakura_hana

2016/03/19 07:30

回答遅れてすみません。 このコードを書く場所(ファイル)ですが、キャラクター操作用のソース内にありますか? もしそうならこれ以上原因が分かりません、申し訳無いです…… 基本原理はnetworkView.isMineと同じなので、こちらを解説している資料を探してみるのもいいかもしれません。
koryo

2016/03/19 07:35

ありがとうございます。 操作用に入れてなかったみたいですね。ぐるぐる回っているうちに取り出してました。
guest

0

NetworkViewは非推奨みたいですよ。
http://docs.unity3d.com/ja/current/Manual/class-NetworkView.html

投稿2016/03/12 10:59

buibui80

総合スコア1033

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

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

koryo

2016/03/12 11:04

えっそうなんですか!?それは知りませんでした。 回答ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問