안녕하세요 선배님들, 지금 포톤으로로 개발중입니다.
플레이어가 방에 입장 후 큐브 오브젝트에 가까이가서 들기 버튼을 누르면 큐브가 위로 올라가서 플레이어를 따라 다니는 구성인대요
플레이어A(마스터클라이언트O)가 큐브를 들면 플레이어B(마스터클라이언트X) 화면에서는 큐브를 들고있는 액션이 나오는대
플레이어B(마스터클라이언트X)가 큐브를 들면 플레이어A(마스터클라이언트O) 화면에서는 큐브를 들고있는 액션이 나오지 않고
위치값도 동기화가 되지 않는거 같습니다. 큐브를 내려 놓으면 제자리로 훅 날라가 버립니다 ㅜㅜ.
플레이어 A,B,큐브 모두 포톤뷰와 포톤 트랜스폼뷰가 달려있는 상태이구요.
코드입니다 살려주세요 ㅜㅜ
void Update()
{
if (pv.IsMine)
{
if (tagIn)
{
RayItem();
}
if (isTagItem)
{
Item.transform.position = _ItemCtr.ItemPos02.transform.position;
Item.transform.rotation = Quaternion.Euler(_ItemCtr.player.transform.rotation.x, _ItemCtr.player.transform.rotation.y, _ItemCtr.player.transform.rotation.z);
GamRay.transform.localRotation = Quaternion.Euler(-90, 0, 0);
_GameManager.playerClone222.GetComponent<Animator>().Play("PickUp");
}
}
}
public void RayItem()
{
Debug.DrawRay(this.gameObject.transform.position, this.gameObject.transform.forward * 15, Color.red, 10f);
if (Physics.Raycast(this.gameObject.transform.position, this.gameObject.transform.forward, out hit, distance))
{
if (hit.collider.tag == "Item")
{
tagIn = false;
isItem = true;
if (isPickUp == true)
{
pv.RPC("ItemRayCastPhoton", RpcTarget.All);
}
}
else
{
isItem = false;
Item = null;
tagIn = true;
}
}
}
[PunRPC]
public void ItemRayCastPhoton()
{
Item = hit.collider.gameObject;
isItem = false;
isTagItem = true;
}
포톤 트랜스폼뷰가 달려있으면 위치값과 회전값은 동기화가 되는걸로 알고있었는대 뭐가 문제인지 잘 모르겠습니다.