본문 바로가기

반응형

유니티 멀티

(4)
유니티 Photon의 RaiseEvents를 이용한 채팅 시스템 UI에 관한 건 스킵하겠다. 각자 본인 마다 원하는 UI 배치가 있을꺼니깐. 나는 이 포스팅에선 모바일 전용이니깐 키보드로 입력하는 것이 아닌 미리 정해진 구문을 누르면 메세지를 보낼 수 있게 했다. RPC가 아닌 RaiseEvent 기능을 이용한 채팅 시스템 RaiseEvents에는 4가지 특징이 있다 PhotonView가 필요없다 Unreliable하게 이벤트를 보낼 수 있다 한 오브젝트에서 다른오브젝트로 보내거나 받을 수 있다 특정 플레이어에게만 보낼 수 있다 두 가지 종류의 이벤트가 있는데 Reliable한 이벤트와 Unreliable한 이벤트가 있다 Reliable : 매우 중요한 이벤트고 어떠한 경우에서라도 전달되어야 한다. 네트워크가 얼마나 바쁘든지 간에 이 이벤트는 전달되야한다 Unreli..
유니티 3D 멀티플레이 RPC이용법(플레이어 체력 깎기) 당연한 얘기지만 총에 맞으면 체력이 달아야 한다. 일단 위와 같이 적당히 체력바를 만들어 준다. MyPlayer.cs에 위 두 변수를 만들어 준다. playerHealth는 말그대로 플레이어의 체력이고 damage는 총알 한개의 데미지이다. 이런 변수 수치는 개발자 맘대로 하자. 같은 스크립트의 Fire()함수를 아래와 같이 수정한다 if(Physics.Raycast(rayOrigin.position,Camera.main.transform.forward,out hit,100f)) { Debug.Log(hit.transform.tag); if(hit.transform.tag=="Player"&&!hit.transform.GetComponent().IsMine)//Not hitting myself { hit..
유니티3D OnPhotonSerializeView() 사용법 이전 포스팅 영상을 보면 다른 플레이어의 총구섬광 효과가 보이지 않았다. 계속해서 변화하는 어떤 것을 네트워크를 통해 동기화 시키려면 OnPhotonSerializeView()를 사용해야한다. ParticleSystem은 계속 변화하는 것이다. User01의 빨간색이 나 자신의 플레이어라고 가정해보자. 나 자신의 플레이어이므로 계속 해서 무언가를 작성하는 역할을 하고 있다. 즉 내 로컬플레이어는 stream.IsWriting이 참이 되어 stream.SendNext(value)를 실행한다. value는 동기화 하고 싶은 어떤 값이든 될 수 있다. 플레이어의 position이나 rotation도 가능하다. User02입장에서 본 빨간색은 상대방의 플레이어이다. 본인의 로컬플레이어가 아니다. 그러므로 계속 ..
유니티 Photon으로 간단하게 핑 확인법 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using Photon.Pun; public class GameManager : MonoBehaviour { // Start is called before the first frame update public GameObject player; public Transform playerSpawnPosition; public Text pingrateTextx; void Awake()//First of all, make the player. It makes camera can track the player. { PhotonNetwo..

반응형