問題タブ [unity3d-unet]
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.
networking - オブジェクトが生成された後にスクリプトにアクセスする方法は?
Unity マルチプレイヤーでは、シーンがロードされた後にプレイヤー プレハブがスポーンします。必要なスクリプトを宣言し、NullReferenceException エラーを回避する最善の方法は何ですか?
c# - Unet/Unity 5 の別の対話可能なオブジェクトから変更された非プレイヤー オブジェクトの変換を同期しますか?
ゲーム内にキューブがあり、別のオブジェクトを見ているときに、初期状態とより大きな状態の間を行き来します。これはシングル プレイヤーでは問題なく動作しますが、マルチプレイヤーに持ち込むと、両方のクライアント (1 つはホスト) で更新するための適切なオプションの組み合わせが見つかりません。各プレイヤーは自分のキューブをアクティブ化できますが、他のマシンには表示されません。スクリプトは、ネットワーク ID を持つボタン上にあり、ネットワーク ID とネットワーク変換も持つキューブにアクセスします。
シングル プレイヤー コード リファレンス:
unity5 - 非プレイヤーオブジェクトからすべてのプレイヤーのスコアをカウントする方法
Unity 5.4 と c# でロケット リーグ タイプのゲームを作ろうとしています。
プレーヤーの作業とプレイエリアはすべて揃っています。プレーヤーはネットワーク スポーナーによってスポーンされ、ボールはチュートリアルの敵スポーナーのようにボール スポーナーによってスポーンされます。ボールが衝突し、ボールの位置がリセットされる 2 つの目標があります。しかし、ゴールがあったことを選手にどのように伝えればよいでしょうか? 私はいたるところを見てきましたが、ボールからプレーヤーに情報を渡す方法の良い例が見つかりません。すべてのプレーヤーのカメラに表示され、スコアをカウントする 2 つの変数を使用するテキスト UI があるので、ボールがゴールに衝突したときにボールを介してこれらの変数を何らかの形で増やしたいと考えています。
RPC呼び出しは、私が理解しているようにプレーヤーオブジェクト間でのみ機能し、ボールとプレーヤーの間にsyncvarsを使用しようとすると機能しないようです.誰かが何かヒントを持っているか、私が欠けているものを教えてもらえますか?
編集:同じ問題を抱えている人のために。これを解決するには、scoreManager オブジェクトを作成し、それに syncvars としてスコアを持たせました。それから、scoremanager コンポーネントとそのスクリプトを取得し、ボールでスコアを上げてから、プレーヤーのためにそれを取得してスコアを取得しました。
c# - Unity Networking: クライアントが最初にシーンをロードすると、ネットワーク化されたオブジェクトがクライアントに表示されない
マルチプレイヤー ゲームでオブジェクトのインスタンス化に問題があります。ゲームのレイアウトはシンプルです。プレイヤーはロビーに入り、全員が準備完了をマークすると、カウントダウンとゲーム レベルのロードのLobbyManager
呼び出しが行われます。ServerChangeScene(gameScene)
問題は、多くの負荷で、ネットワーク化されたすべてのオブジェクトがクライアント上でインスタンス化されないことです。client
少しプレイ テストを行った後、これはがサーバーの前にシーンをロードしたときにのみ発生するように見えることに気付きました。server
ロードが最初にすべて正しく表示され、ゲームが正常にプレイされるときです。サーバーが最初に読み込まれるようにする方法はありますか?
参照用のコード:
networking - フットボールの試合用にプレイヤーのプレハブをセットアップする方法
Unity でフットボール ゲームのプロジェクトに取り組んでいます。これは、各チームに 5 人のプレイヤーがいる 2 人用の Android ゲームです... すべてのゲームをセットアップしましたが、ネットワーキングで行き詰まってしまいました。Photon ではなく UNETを使用してネットワーキングを行いたい。
このために、私はこのリンクでネットワーキングの Unity ドキュメントを読みました: https://docs.unity3d.com/Manual/UNetSetup.html
ドキュメントには、プレイヤープレハブをセットアップするキューブが1つしかないため、非常に簡単で正常に機能します。 しかし、私の場合、各チームに 5 人のプレーヤーがいて、1 つのサッカー ボールと 1 つのサッカー フィールドがあります。すべてのチーム メンバー (ゲーム オブジェクト) に対してプレーヤー プレハブをセットアップする必要があるかどうか、またはゲームの速度を落としたくないため、これに対する他の解決策があるかどうかはわかりません。
PS: 私はゲーム開発の初心者です。良い解決策や意見をいただければ幸いです。よろしくお願いします。