top of page

Unity Photon PUN2でOwnerActorNrを使用してGameObjectを検索する方法

執筆者の写真: 石黒翔也石黒翔也

Photon PUN2では、photonView.OwnerActorNrを使用して、オブジェクトのリストを作成し、プレイヤーIDに基づいてGameObjectを検索することができます。


方法

  1. シーン内のすべてのPhotonViewコンポーネントを取得します。

  2. 取得したPhotonViewのリストから、photonView.OwnerActorNrが一致するものを検索します。

  3. 一致するPhotonViewのGameObjectを取得します。

以下のコードは、photonView.OwnerActorNrを使用してGameObjectを検索する方法を示しています。

using Photon.Pun;
using UnityEngine;

public class FindGameObjectByActorNr : MonoBehaviour
{
    public GameObject FindGameObjectByOwnerActorNr(int targetActorNr)
    {
        PhotonView[] photonViews = GameObject.FindObjectsOfType<PhotonView>();

        foreach (PhotonView photonView in photonViews)
        {
            if (photonView.OwnerActorNr == targetActorNr)
            {
                return photonView.gameObject;
            }
        }

        return null;
    }
}

このコードでは、FindGameObjectByOwnerActorNrメソッドを使用して、指定されたtargetActorNrに一致するGameObjectを取得できます。GameObjectが見つからない場合は、nullが返されます。


使い方

  1. 上記のFindGameObjectByActorNrクラスをシーン内の適切なGameObjectにアタッチします。

  2. 他のスクリプトからFindGameObjectByOwnerActorNrメソッドを呼び出すことで、指定したtargetActorNrに一致するGameObjectを取得できます。


FindGameObjectByActorNr findGameObjectByActorNr = FindObjectOfType<FindGameObjectByActorNr>();
int targetActorNr = 2; // 検索したいプレイヤーID
GameObject targetGameObject = findGameObjectByActorNr.FindGameObjectByOwnerActorNr(targetActorNr);

if (targetGameObject != null)
{
    Debug.Log("Found GameObject: " + targetGameObject.name);
}
else
{
    Debug.Log("GameObject not found");
}

この方法を使用することで、photonView.OwnerActorNrを利用してGameObjectを検索し、取得することができます。

閲覧数:12回0件のコメント

最新記事

すべて表示

【ジャックマー】評論家をぶった斬る

自己紹介 エンジニア向けバーチャルコミュニケーションアプリのピクセルトークを開発・運営している石黒です。 コロナ禍でリモートワークになり便利さを実感していましたが、人との距離が広がってしまって寂しいと感じることが増えました。...

ハイブリッドワークがクソである理由

自己紹介 エンジニア向けバーチャルコミュニケーションアプリのピクセルトークを開発・運営している石黒です。 コロナ禍でリモートワークになり便利さを実感していましたが、人との距離が広がってしまって寂しいと感じることが増えました。...

【起業】オリジナリティのあるアイデアがクソである理由

自己紹介 エンジニア向けバーチャルコミュニケーションアプリのピクセルトークを開発・運営している石黒です。 コロナ禍でリモートワークになり便利さを実感していましたが、人との距離が広がってしまって寂しいと感じることが増えました。...

Comments


bottom of page