問題タブ [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.

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

c# - Unityscript からの Unity Multiplayer Respawn Calling C#

弾丸収集スクリプトを使用して、プレイヤーのヘルスが 1 を下回ったときにプレイヤーを削除してリスポーンしようとしています。しかし、ユニティ C# 関数を呼び出すスクリプトが正しく機能していません。呼び出しようとしている関数は

Assets/Levels/Resources/bulletCollision.js(27,16): BCE0019: 'SpawnMyPlayer' は 'UnityEngine.Component' のメンバーではありません。

また、これは殺されたプレイヤーをリスポーンする適切な方法ですか?

NetworkManager.cs:

弾丸collision.js:

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

c# - PhotonNetworking Unity Player Spawn がネットワーク経由で機能しない

これが解決されたコードです。

解決済み[]

そのため、フォトン ネットワーキングを使用しているユニティ プロジェクトに取り組んでいます。プレーヤーの構造とそれに関連するスクリプトの画像を添付しました。何らかの理由で、2 人のプレイヤーをロードすると、お互いが見えなくなります。

プレーヤーを無効にしないと、両方が表示されますが、コントロールはすべて台無しになります。ただし、キャラクターの各要素に関連付けられたスクリプトを無効にし、チュートリアルで述べたようにキャラクターを有効のままにしておくと、コンポーネントにアクセスする方法がわかりません。 ここに画像の説明を入力

コンソールで参加に失敗しました ここに出力があります

しかし、それは参加し、失敗しません

これが私のNetworkManagerです

新しい開発 Unity に参加してから別のプレイヤーと再度参加すると、次のエラーが表示されます。

コードを少し変更しましたが、カメラ以外は機能しているようです

2 番目のキャラクターをスポーンしても、カメラが起動せず、最初のキャラクターのカメラから 2 番目のキャラクターを技術的に制御しています。

コーディングを続けると、これを思いつきます

したがって、エラーは発生しませんが、Turret、Pivo​​tPoint の子が見つからず、そのマウスの外観を有効にすると、Turret のマウスの外観のみが有効になります。

0 投票する
0 に答える
1693 参照

c# - 何らかの理由で PhotonNetwork オブジェクトを破棄できない

衝突した後にインスタンス化されたフォトン ネットワーク オブジェクトを削除しようとしていますが、オブジェクトに設定していて、エラーが正しいオブジェクトを返しても、何らかの理由でそれを削除できません。なぜここにいるのかわからない。ここにエラーがあります:

0 投票する
0 に答える
76 参照

c# - PhotonNetworkingを介したUnityキャラクターの移動

そのため、スクリプトが実行されているプレーヤーのヘルス ポイントを撤回するために呼び出される関数を持つプレーヤー ヘルス スクリプトがあります。

したがって、PlayerOnes のヘルス スクリプトは彼のヘルスを追跡し、PlayerTwo は彼のヘルスを追跡します。

弾丸の衝突が検出されると、衝突したオブジェクトのヘルス スクリプトから takedamage が呼び出されます。したがって、ダメージを受けます。NPC では機能しますが、ネットワーク プレイヤーでは機能しません。

P1 が ---> P2 を 2 回撃った場合、50 のダメージを受け、次に再び 50 のダメージを受けますが、死者を出さず、プレイヤーにヒットを記録しません。つまり、プレイヤーがダメージを受けないためです。ヒットポイントは 0 であるため、衝突を検出するだけで何もしません。ただし、残りのコードは実行せず、プレーヤーの位置などを変換しません。スクリプトは両方のコンピューターで実行され、両方で衝突が検出されるため、ネットワークに接続されているかどうかに関係なく、それを検出して更新を実行し、登録する必要があります。

何か案は?

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

networking - RPC同期代替MMORPG、Photon Unity3D

私は Photon Unity Networking を使用しており、私の小さなゲームに取り組んでいます。

プレイヤーとモブがいる部屋があるところまで来ました。新しいプレーヤーが表示されたら、RPC 呼び出しを使用して、このプレーヤーに関する情報を他のすべての接続ユーザーに更新し、同期します。問題は、この新しいプレイヤーが部屋の残りの部分に関する情報を持っていないことです (彼の情報は最新ではありません)。たとえば、他のプレイヤーの現在の健康状態やモブの現在の健康状態などです。

私が思いついた唯一の解決策は、RPC をマスター クライアントに送信し、周囲のすべての揮発性オブジェクトを通過させ、この更新でいくつかの RPC 呼び出しを新しいプレーヤーに送り返すことです。

私が尋ねているのは... 本当にこのようにしなければならないのですか?または、他の方法、より良い方法または簡単な方法はありますか?

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

networking - Photon Unity Networkingを使用して、ネットワーク化されたゲームで特定のプレイヤーにメッセージを表示します

オブジェクトのトリガー ゾーンに入ると、メッセージがプレイヤーに表示されます (タグによって検出されます)。プレイヤーがピックアップ ボタンを押すと、アイテムがインベントリに追加されます。シングルプレイヤーゲームでは問題なく動作します。

PUN (Photon Networking) を使用すると、すべてのプレイヤーに表示され (すべてのプレイヤーのスクリプトがイベントを検出するため)、すべてのプレイヤーがアイテムを拾うことができます。この問題を解決するにはどうすればよいですか?

この部分を修正すると、他のすべてを修正する方法を理解できるようになると思います。

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

unity3d - Photon Serverは複数のプロトコル接続をサポートしていますか?

UDP 接続と TCP 接続の両方を使用して、Unity3D クライアントを Photon Server に接続する必要があります。出来ますか?それについてどこで読むことができますか?PS TCPを使用して大量のデータを送信したい。

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

c# - Unity を使用したローカル ネットワーク マルチプレイヤー ゲーム

チュートリアル リンクに従って、Unity 3D を使用してマルチプレイヤー ファースト パーソン シューティング ゲームを作成しました。Photon Unity Networking プラグインを使用します。ゲームは正常に動作します。しかし問題は、Photon クラウドを使用していることです。これをオフライン マルチプレイヤー ゲームに変換したいと考えています。その後、LAN ネットワークまたはローカル Wi-Fi ルーターを使用してゲーム データを転送できます。Call of Duty マルチプレイヤーのようなものが必要です。Photon Unity Networkingでそれを行うことは可能ですか? 可能であれば、それを行う方法は?コードで何を変更する必要がありますか? Unity 3D を使用したオフライン マルチプレイヤー ゲームの設計に関するチュートリアルを教えてください。私はプログラミングにまったく慣れていないので、詳細な回答をお願いします。

マルチプレイヤー ファースト パーソン シューター チュートリアル リンク: リンク