void Update()
{
_ItemCtr.tagPlayer ์์ง์ฌ!
}
public void PlayerRayCastPhoton()
{
if (!pv.IsMine)
{
return;
}
int userId = hit.collider.gameObject.GetComponent<PhotonView>().ViewID;//RayCast
// string userId = hit.collider.gameObject.GetComponent<PhotonView>().Owner.UserId; ์ด๋์ ์๊พธ null๊ฐ์ด ๋จ๋ค์;;
pv.RPC("SenderTraPlayer", RpcTarget.AllBuffered, userId);
}
[PunRPC]
public void SenderTraPlayer(int userId)
{
playerTag = GameObject.FindGameObjectsWithTag("Player");
for (int i = 0; i < playerTag.Length; i++)
{
if (userId == playerTag[i].GetComponent<PhotonView>().ViewID)
{
_ItemCtr.tagPlayer = playerTag[i];
Debug.Log(hit.collider.gameObject.GetComponent<PhotonView>().ViewID );
}
}
}
A,B ํด๋ผ์ด์ธํธ์์ ๋๊ธฐํ๊ฐ ๋์ง ์๊ณ ๊ฐ์ ๋๊ณ ์์ต๋๋ค.. ์ ๊ฐ ์๊ฐ ํ๊ธฐ๋ก๋ ViewId๋ฅผ ์ด์ฉํ๋ฉด ํด๋ผ์ด์ธํธ๊ฐ ํ๋ ค๋ ViewId๋ ๊ฐ์ผ๋๊น ๊ทธ๊ฑธ ์ด์ฉํ๋ฉด ๋ ๊บผ๊ฐ์๋ ๋ช์ผ์งธ ์ง์ ์ด ์๋ค์
๊ตฌ๊ธ์ ํฌํค๊ฐ์ข ํ๋์ฐพ์์ ์ ๋ ํ๋๊ฑฐ ํ๋ฃจ๋์๊ฑธ๋ฆผ... ์ฝ๋ ๋ฐ๋ผ์ฝ์ผ๋ฉด์ ์ด๋ป๊ฒ๋๊ธฐํ๊ฐ๋๋์ง ๋ณด๊ณ ๋ฐฐ์ฐ๋๊ฒ ์ข์๋ฏ
์ฝ๋๋ง ๋ด์ ๋์ฒด ๋ญ ํ๋ ค๋๊ฑด์ง ๋ชจ๋ฅด๊ฒ ์ Owner๊ฐ ๋์ด๋ผ๋๊ฑฐ ๋ณด๋ ์ฐ๊ฒฐ๋ ๋ชปํ๊ฑฐ ๊ฐ์๋ฐ ํฌํค ๊ณต์ ํํ์ด์ง SDK ๋ฌธ์ [์์ํ๊ธฐ]๋ถํฐ ์ฝ๊ณ ๋ค์ ์ง๋ฌธํ์
์ฝ๋๋ฅผ ๋๋ฌด ์งค๋ผ์ ์ฌ๋ ธ๋ ๋ณด๋ค์;; ๋ถ์กฑํ ์ค๋ช ์ด์ง๋ง ์ํ๋ ๊ธฐ๋ฅ์ RayCast๋ฅผ ์ด์ hit๋ ์ค๋ธ์ ํธ๋ฅผ RayCast๋ฅผ ์ ์ค๋ธ์ ํธ๋ฅผ ๋ฐ๋ผ๋ค๋๊ฒ ํ๋ ๊ฑฐ๊ตฌ์ punrpc๋ OnPhotonSerializeView์ด๊ฑธ๋ก๋ Gameovject ๋๊ธฐํ๊ฐ ์๋ผ๋๊ฑฐ ๊ฐ์์ viewId๋ฅผ ๋๊ฒจ์ ์์ง์ด๊ฒ ํ ๋ ค๊ณ ํ๊ฑฐ๋ ์ Owner.UserId์ ์์ ๋ถ๋ถ์ ์ฐ์ด๋ณด๋ ๋์ค๊ธธ๋ ๊ทธ๋ฅ ์ฐ๋ฉด ๋๋์ค ์์๋ค์ ๊ทธ๋ฆฌ๊ณ ์ดํด๊ฐ ์๊ฐ๋๊ฒ ํฌํคํธ๋์คํผ๋ทฐ๋ OnPhotonSerializeView ์ด๊ฑธ๋ก ํฌ์ง์ ,๋กํ ์ด์ ๊ฐ ๋๊ธฐํ ์ํค๋ฉด ๋ค๋ฅธ๊ฑด ๋ชฐ๋ผ๋ ํฌ์ง์ ,๋กํ ์ด์ ์ ๋๊ฐ๋ ํน๋ณํ ์๊ฑด๋ค์ด๋ ๋์ง ์๋์ ์ดํด๊ฐ ์ข ์๊ฐ๋ค์ ์ ์ฅ ์ข ๋ ๊ณต๋ถํด๋ณด๊ฒ ์ด๋ค