問題タブ [photon]
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.
c# - Unityscript からの Unity Multiplayer Respawn Calling C#
弾丸収集スクリプトを使用して、プレイヤーのヘルスが 1 を下回ったときにプレイヤーを削除してリスポーンしようとしています。しかし、ユニティ C# 関数を呼び出すスクリプトが正しく機能していません。呼び出しようとしている関数は
Assets/Levels/Resources/bulletCollision.js(27,16): BCE0019: 'SpawnMyPlayer' は 'UnityEngine.Component' のメンバーではありません。
また、これは殺されたプレイヤーをリスポーンする適切な方法ですか?
NetworkManager.cs:
弾丸collision.js:
c# - PhotonNetworking Unity Player Spawn がネットワーク経由で機能しない
これが解決されたコードです。
解決済み[]
そのため、フォトン ネットワーキングを使用しているユニティ プロジェクトに取り組んでいます。プレーヤーの構造とそれに関連するスクリプトの画像を添付しました。何らかの理由で、2 人のプレイヤーをロードすると、お互いが見えなくなります。
プレーヤーを無効にしないと、両方が表示されますが、コントロールはすべて台無しになります。ただし、キャラクターの各要素に関連付けられたスクリプトを無効にし、チュートリアルで述べたようにキャラクターを有効のままにしておくと、コンポーネントにアクセスする方法がわかりません。
コンソールで参加に失敗しました ここに出力があります
しかし、それは参加し、失敗しません
これが私のNetworkManagerです
新しい開発 Unity に参加してから別のプレイヤーと再度参加すると、次のエラーが表示されます。
コードを少し変更しましたが、カメラ以外は機能しているようです
2 番目のキャラクターをスポーンしても、カメラが起動せず、最初のキャラクターのカメラから 2 番目のキャラクターを技術的に制御しています。
コーディングを続けると、これを思いつきます
したがって、エラーは発生しませんが、Turret、PivotPoint の子が見つからず、そのマウスの外観を有効にすると、Turret のマウスの外観のみが有効になります。
c# - 何らかの理由で PhotonNetwork オブジェクトを破棄できない
衝突した後にインスタンス化されたフォトン ネットワーク オブジェクトを削除しようとしていますが、オブジェクトに設定していて、エラーが正しいオブジェクトを返しても、何らかの理由でそれを削除できません。なぜここにいるのかわからない。ここにエラーがあります:
c# - PhotonNetworkingを介したUnityキャラクターの移動
そのため、スクリプトが実行されているプレーヤーのヘルス ポイントを撤回するために呼び出される関数を持つプレーヤー ヘルス スクリプトがあります。
したがって、PlayerOnes のヘルス スクリプトは彼のヘルスを追跡し、PlayerTwo は彼のヘルスを追跡します。
弾丸の衝突が検出されると、衝突したオブジェクトのヘルス スクリプトから takedamage が呼び出されます。したがって、ダメージを受けます。NPC では機能しますが、ネットワーク プレイヤーでは機能しません。
P1 が ---> P2 を 2 回撃った場合、50 のダメージを受け、次に再び 50 のダメージを受けますが、死者を出さず、プレイヤーにヒットを記録しません。つまり、プレイヤーがダメージを受けないためです。ヒットポイントは 0 であるため、衝突を検出するだけで何もしません。ただし、残りのコードは実行せず、プレーヤーの位置などを変換しません。スクリプトは両方のコンピューターで実行され、両方で衝突が検出されるため、ネットワークに接続されているかどうかに関係なく、それを検出して更新を実行し、登録する必要があります。
何か案は?
networking - RPC同期代替MMORPG、Photon Unity3D
私は Photon Unity Networking を使用しており、私の小さなゲームに取り組んでいます。
プレイヤーとモブがいる部屋があるところまで来ました。新しいプレーヤーが表示されたら、RPC 呼び出しを使用して、このプレーヤーに関する情報を他のすべての接続ユーザーに更新し、同期します。問題は、この新しいプレイヤーが部屋の残りの部分に関する情報を持っていないことです (彼の情報は最新ではありません)。たとえば、他のプレイヤーの現在の健康状態やモブの現在の健康状態などです。
私が思いついた唯一の解決策は、RPC をマスター クライアントに送信し、周囲のすべての揮発性オブジェクトを通過させ、この更新でいくつかの RPC 呼び出しを新しいプレーヤーに送り返すことです。
私が尋ねているのは... 本当にこのようにしなければならないのですか?または、他の方法、より良い方法または簡単な方法はありますか?
networking - Photon Unity Networkingを使用して、ネットワーク化されたゲームで特定のプレイヤーにメッセージを表示します
オブジェクトのトリガー ゾーンに入ると、メッセージがプレイヤーに表示されます (タグによって検出されます)。プレイヤーがピックアップ ボタンを押すと、アイテムがインベントリに追加されます。シングルプレイヤーゲームでは問題なく動作します。
PUN (Photon Networking) を使用すると、すべてのプレイヤーに表示され (すべてのプレイヤーのスクリプトがイベントを検出するため)、すべてのプレイヤーがアイテムを拾うことができます。この問題を解決するにはどうすればよいですか?
この部分を修正すると、他のすべてを修正する方法を理解できるようになると思います。
unity3d - Photon Serverは複数のプロトコル接続をサポートしていますか?
UDP 接続と TCP 接続の両方を使用して、Unity3D クライアントを Photon Server に接続する必要があります。出来ますか?それについてどこで読むことができますか?PS TCPを使用して大量のデータを送信したい。
c# - Unity を使用したローカル ネットワーク マルチプレイヤー ゲーム
チュートリアル リンクに従って、Unity 3D を使用してマルチプレイヤー ファースト パーソン シューティング ゲームを作成しました。Photon Unity Networking プラグインを使用します。ゲームは正常に動作します。しかし問題は、Photon クラウドを使用していることです。これをオフライン マルチプレイヤー ゲームに変換したいと考えています。その後、LAN ネットワークまたはローカル Wi-Fi ルーターを使用してゲーム データを転送できます。Call of Duty マルチプレイヤーのようなものが必要です。Photon Unity Networkingでそれを行うことは可能ですか? 可能であれば、それを行う方法は?コードで何を変更する必要がありますか? Unity 3D を使用したオフライン マルチプレイヤー ゲームの設計に関するチュートリアルを教えてください。私はプログラミングにまったく慣れていないので、詳細な回答をお願いします。
マルチプレイヤー ファースト パーソン シューター チュートリアル リンク: リンク