質問: お世話になっております。Photonでオンラインゲームを作りたいのですが、プレイヤーの衝突判定を弾をうった側で処理したいです。以下のコード内に処理を実装したいのですが、弾が当たったプレイヤーが誰なのかを判定する方法がわからなくて困っております。当たったプレイヤーのIDなどを取得するためにはどのようにすれば良いのでしょうか。 いつも弾が当たった側で衝突判定をしているので苦戦しています。 ご教授いただけると幸いです。よろしくお願いいたします。 ``` if(!photonView.IsMine){ //衝突判定 } ```
回答: 実際に衝突するのが「弾」と「撃たれた相手」であれば、 処理できるのは「弾」か「撃たれた相手」のどちらかになるはずです。 仮に「弾」にアタッチしたスクリプトが処理するとします。 この時、弾は撃たれた相手を知ることが出来ます。 弾の OnCollisionEnter とかの引数から取得できるはずです。 もしも、弾の生成時に、弾に「撃った側」の参照を持たせてやっていれば、 弾を通して、「撃った側」に「撃たれた相手」を通知して、処理してやることも出来るのではないでしょうか。 なお、 https://www.urablog.xyz/entry/2016/10/04/082025 とかにもありますが、弾一つ一つを同期オブジェクトにするのは微妙っぽいです