問題タブ [unity-networking]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
6860 参照

networking - 新しい Unity Networking の RPC に相当するものは何ですか?

Unity はネットワーキング システムをアップグレードし、古いものをレガシー ネットワーキングと呼びました。

では、RPC 呼び出しを新しい Unity Networking に変更するにはどうすればよいでしょうか? このアプローチに相当するものは何ですか? 独自のメソッドを作成する必要がありますか? (バイト配列などの送信)

0 投票する
2 に答える
2766 参照

c# - UNET NetworkBehaviour を使用した継承の問題

Unity3d 5 の UNET の State Synchronization サポートを使用して頭が痛いです。

ドキュメントhttp://docs.unity3d.com/Manual/UNetStateSync.htmlによると、 クラスはNetworkBehaviourから継承する必要があります。さて、私はそのようにしています:

ここで、カスタム属性Characterを使用してすべてのプレーヤー データを保存しています。[SyncVar]このような:

しかし、インスペクターで次のエラーが表示されます。

The type or namespace name `SyncVar' could not be found. Are you missing a using directive or an assembly reference?

The type or namespace name `SyncVarAttribute' could not be found. Are you missing a using directive or an assembly reference?

C# の経験豊富なプログラマーではありません。クラスが継承元の別のクラスから継承されているという事実は、それNetworkBehaviourを行うためのサポートを私に与えませんか?

[SyncVar]参考までに、 MovingEntity(That direct inherits from )を追加するNetworkBehaviourと問題なく動作します。

私が間違っていることは何ですか?この例で私が行っていない、クラス継承の良い習慣はありますか?

事前に感謝し、英語が下手で申し訳ありません。

0 投票する
1 に答える
939 参照

unity3d - Unity 5 と NetworkManager

Unity 3d バージョン < 5.0 を使用する場合。私が使用するもの: - Network.InitializeServer - MasterServer.RegisterHost - MasterServer.PollHostList - ネットワーク ビュー コンポーネント。しかし... Unity 3dバージョン>= 5.0を使用すると、メッセンジャーを受け取りました:ネットワーキング システムです。)" 私は Unity 5.1.1 で C# スクリプトを使用しています。Unity 5.0以降でその機能を使用するにはどうすればよいですか? すべての体に感謝します。

0 投票する
2 に答える
2568 参照

unity3d - Unity UNet クライアント権限

マルチプレイヤー ゲームを作成しており、クライアントで新しいオブジェクトをインスタンス化しようとしています。オブジェクトは、そのプレーヤーだけが制御する必要があります。

クライアントでインスタンス化してから、生成するだけで試しました。

これにより、クライアントでオブジェクトが生成され、それによって制御できますが、サーバーでは生成されません。

私も同じことをしましたCommandが、どこでもインスタンス化されますが、クライアントはそれを制御できません。ただし、サーバーはそれを制御できます。

これを行う適切な方法は何ですか?サーバーではなくプレイヤーの 1 人が制御するオブジェクトを作成しますか?

グーグルで検索してみましたが、何も見つかりませんでした。

ありがとう!

0 投票する
3 に答える
12174 参照

unity3d - Unity 5.1 Networking - オブジェクトをホストとすべてのクライアントの子として生成する

複数の武器を装備できるプレイヤー オブジェクトがあります。武器を装備すると、そのトランスフォームの親がその手に設定されます。私はしばらくこれをいじっていましたが、これをホストとクライアントの両方で機能させることができません。現在、私はサーバーに武器を装備しようとしており、すべてのクライアントに親の変換を設定するように指示しています。

そして更新では、武器の変換を更新しています

私はこれがこれを行うための最も最適化された方法ではないことを知っています。それは単純な作業であるように思われます。

0 投票する
1 に答える
4979 参照

unity3d - エラー「UNet クライアント切断エラー: タイムアウト」の処理方法は?

エラー「UNet クライアント切断エラー: タイムアウト」の処理方法は? それが発生したときに、アプリケーションを再起動してみませんか?

0 投票する
1 に答える
13207 参照

unity3d - Unity UNET - プレーヤー オブジェクトの外部で [Command] を呼び出す

[コマンド]がノンプレイヤーオブジェクトに効かないのは理解できたのですが…どうしてでしょうか?NPC の場所など、プレイヤー以外のオブジェクトのデータを同期する方法を教えてください。プレイヤー以外のオブジェクトで Command を呼び出す機能により、各クライアントで繰り返される計算時間を大幅に節約できます。

この設計上の決定に対する回避策を思いついた人はいますか?

また、プレーヤー オブジェクト上にない場合、SyncVars も同期されていないようです。

現時点での私の最善の戦略は、プレーヤー オブジェクトに膨大な量のデータを保存し、外部クラスからデータを参照し続けることです。

編集: SyncVars は、サーバー上で更新された場合にのみ、プレーヤー以外のオブジェクトで動作していると指摘したように、私の間違いです。