私は、ユニティでロケットリーグタイプのゲームを作ろうとしていました。ノンプレイヤーオブジェクトからすべてのプレイヤーの得点を計算する方法
私はプレイヤーとプレイエリアですべてを持っています。選手はネットワークスポンサーによって生まれ、ボールはチュートリアルの敵のようなボールスポンサーによって生まれます。ボールが衝突し、ボールの位置がリセットされるという2つの目標があります。しかし、どのようにしてゴールがあるのかをプレイヤーに伝えることはできますか?私はどこからでも見てきましたが、ボールからプレーヤーに情報を渡す方法の良い例を見つけることはできません。私は、すべてのプレーヤーのカメラに表示され、スコアをカウントする2つのvariablersを使用するテキストUIを持っているので、私は何とかそれらがゴールに衝突するときにボールを介して変数を増加させることです。
RPCコールは、私が理解しているように、プレイヤーオブジェクト間でしか動作せず、ボールとプレーヤーの間でそれらを使用しようとすると、syncvarsが機能していないようで、誰かがヒントを持っているか、
EDIT:同じ問題を抱えている人向けです。私はscoreManagerオブジェクトを作成し、それがsyncvarsとしてスコアを持たせることでこれを解決しました、そして、私はscoremanagerコンポーネントとそのスクリプトを得て、ボールでスコアを増やし、プレーヤーのためにそれを得てスコアを得ました。
私はこれを試しましたが、プレイヤーに何も変更を加えなかったので、私はそれをもう一度見なければなりませんが、私がそれを理解したように、敵とプレイヤーは同じ健康スクリプトボールとプレイヤーは同じスクリプトを共有していません – Morti
私のテストゲームでは(このチュートリアルに基づいて)プレイヤーだけがヘルススクリプトを持っています。それでも、あなたのクライアントアプリケーションは同じUIとスクリプトを持っていると思うので、同じです。 'NetworkBehaviour'からあなたのスクリプトを継承しますか? – Krajca
はい、私はボールを与えることも試みましたlocalclientauthority – Morti