「Unity/photon/pun2/位置同期」の版間の差分
ナビゲーションに移動
検索に移動
編集の要約なし |
|||
| 1行目: | 1行目: | ||
==アバター風にしてみる== | ==アバター風にしてみる== | ||
#Cube作成。ここでは" | #Cube作成。ここでは"AvatarCube"いう名前に変更した。 | ||
# | #AvatarCubeにBoxColliderが追加されていることを確認 | ||
# | #AvatarCubeのAddComponentにPhotonAvaterとPhotonViewとPhotonTransformViewを追加 | ||
# | #PhotonTransformViewに、PositionとRotationが、追加されてることを確認。 | ||
#Assets下に、Resourcesディレクトリを追加して、AvatarCubeをResourcesに追加 | |||
#以下スクリプトでPrefabのAvaterをロードする。 | #以下スクリプトでPrefabのAvaterをロードする。 | ||
*PhotonManager.cs | *PhotonManager.cs | ||
GameObject avater = PhotonNetwork.Instantiate(" | GameObject avater = PhotonNetwork.Instantiate("AvatarCube", Vector3.zero, Quaternion.Euler(Vector3.zero),0); | ||
*PhotonAvater.sc | *PhotonAvater.sc | ||
| 18行目: | 19行目: | ||
public class PhotonAvater : MonoBehaviourPunCallbacks { | public class PhotonAvater : MonoBehaviourPunCallbacks { | ||
public string str = "guest1"; | public string str = "guest1"; | ||
void Awake() { | void Awake() | ||
this.name = " | { | ||
if (GetComponent<PhotonView>().IsMine) { | this.name = "Avater" + GetComponent<PhotonView>().InstantiationId; | ||
if (GetComponent<PhotonView>().IsMine) | |||
{ | |||
GetComponent<Renderer>().material.color = Color.red; | GetComponent<Renderer>().material.color = Color.red; | ||
} | } | ||
} | |||
// 自分からの情報と他人からの情報(位置と回転)同期 | |||
void OnPhotonInstantiate(PhotonMessageInfo info) | |||
{ | |||
Debug.Log("OnPhotonInstantiate"); | |||
// e.g. store this gameobject as this player's charater in PhotonPlayer.TagObject | |||
info.Sender.TagObject = this.gameObject; | |||
} | } | ||
} | } | ||
2022年12月7日 (水) 08:10時点における版
アバター風にしてみる
- Cube作成。ここでは"AvatarCube"いう名前に変更した。
- AvatarCubeにBoxColliderが追加されていることを確認
- AvatarCubeのAddComponentにPhotonAvaterとPhotonViewとPhotonTransformViewを追加
- PhotonTransformViewに、PositionとRotationが、追加されてることを確認。
- Assets下に、Resourcesディレクトリを追加して、AvatarCubeをResourcesに追加
- 以下スクリプトでPrefabのAvaterをロードする。
- PhotonManager.cs
GameObject avater = PhotonNetwork.Instantiate("AvatarCube", Vector3.zero, Quaternion.Euler(Vector3.zero),0);
- PhotonAvater.sc
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System;
public class PhotonAvater : MonoBehaviourPunCallbacks {
public string str = "guest1";
void Awake()
{
this.name = "Avater" + GetComponent<PhotonView>().InstantiationId;
if (GetComponent<PhotonView>().IsMine)
{
GetComponent<Renderer>().material.color = Color.red;
}
}
// 自分からの情報と他人からの情報(位置と回転)同期
void OnPhotonInstantiate(PhotonMessageInfo info)
{
Debug.Log("OnPhotonInstantiate");
// e.g. store this gameobject as this player's charater in PhotonPlayer.TagObject
info.Sender.TagObject = this.gameObject;
}
}
公式:https://doc.photonengine.com/ja-jp/pun/v2/gameplay/instantiation