반응형

프로그래밍 정리/Unity 49

[Unity - 유니티] OnSerializeNetworkView 콜백함수

void OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info)==============================================================================BitStream stream=> 데이터를 직렬화(Serialize)해 스트림에 저장. 속성- isWriting=> 데이터를 스트림에 쓰고 있는 중인지 체크(송신 상태) - isReading=> 데이터를 스트림에서 읽고 있는 중인지 체크(수신 상태) 메서드- Serialize=> 직렬화시키는 메서드. 송수신하는 메서드.=> 송수신 가능 데이터 타입public void Serialize(ref bool value);public void Seria..

[Unity - 유니티] NetworkView - 네트워크 플레이시 끊어짐 현상 처리

네트워크 게임시 다른 플레이어의 움직임이 끊어짐 현상이 있음. NetworkView의 Observed를 스크립트에 연결해 Lerp 함수를 통해 처리할 수 있음. ============================================================================================ private Transfomr tr;private NetworkView nv; private Vector3 curPos;private Quaternion curRot; void Awake(){tr = Getcomponent();nv = GetComponent();nv.observed = this; // 스크립트를 observed 속성에 연결} void Update(){if(nv.i..

[Unity - 유니티] Network 예제

Network.Instantiate(프리팹, 위치, 각도, 그룹)- 현재 게임에 접속한 모든 유저에게 프리팹 생성.- 내부적으로 Buffered RPC를 호출해 나중에 접속한 유저도 이미 생성된 프리팹을 볼 수 있음.- 그룹 지정시 동일 그룹의 유저들에게만 생성됨. =========================================================NetworkView- isMine => NetworkView 가 자신의 것인지 확인. ex)// NetworkView가 자신의 것인지 확인.if(networkView.isMine){ } ========================================================= ex)void OnGUI(){// 현재 유저의 네트워..

[Unity - 유니티] CharacterController 컴포넌트

CharacterController- 주로 FPS나 TPS 게임의 플레이를 구현할 때 사용.- Rigidbody와 Capsule Collider 기능을 포함하고 있음. 별도의 Rigidbody나 Capsule Collider 컴포넌트를 추가하지 않아도 됨. CharacterController 속성 속성 설명 Slope Limit 경사로를 동반할 수 있는 최대 각도를 설정. 기본값은 45도 Step Offset 올라갈 수 있는 계단 높이 설정. Skin Width 특정 위치에 빠져 갇히는 현상(Stuck)을 방지하기 위한 설정값. Min Move Distance 설정된 값 이하로 움직이려 할 때 이동할 수 없게 하는 옵션. Center Capsule Collider 위치 설정 Radius Capsule C..

[Unity - 유니티] Network 클래스 제공 콜백함수

Network클래스가 제공하는 콜백함수 콜백 함수명 호출 시점 OnConnectedToServer 서버 정상 접속시 OnDisConnectedFromServer 서버로부터 접속 종료되었을시 OnFailedToConnect 접속 실패 OnNetworkInstantiate Network_Instantiate로 네트워크 오브젝트 생성되었을시 OnPlayerConnnected 새로운 플레이어 접속시 OnPlayerDisConnected 기존 플레이어 접속 종료되었을시 OnSerializeNetworkView NetworkView가 특정 스크립트를 Observer 할 때스크립트내에서 Sendrate 간격으로 호출할 콜백 함수 OnServerInitialized 게임 서버의 초기화가 완료되었을시

[Unity - 유니티] NetworkView, RPC - Network 게임 제작시.

NetworkView - Observed 된 컴포넌트의 정보를 실시간으로 송수신하여온라인상의 다른 유저에게 해당 객체의 상태를 동기화시킴. - Observed 속성을 스크립트 컴포넌트로 지정시해당 스크립트의 OnSerializeNetworkView() 함수가 정의되어있어야하며이 콜백 함수에서 데이터를 송수신하여 동기화. - OnSerializeNetworkView 함수가 호출되는 주기는Editor - Project Settings - Network 의 Sendrate 속성으로 조절할 수 있음.※ Sendrate - 초당 패킷 전송 횟수. Inspector ====================================================================================..

[Unity - 유니티] Application 클래스 - Scene병합, 로드 등

Application 클래스 함수 Application.LoadLevel - Scene의 이름 또는 인덱스로 Scene 로드. Application.LoadLevelAdditive - Scene을 추가해서 로드===================================================================ex)void GoScene(){// Scene01을 먼저 로드한 다음// Scene02를 추가해서 로드.// Scene01 씬에 Scene02가 병합되어 로드됨.Application.LoadLevel("Scene01");Application.LoadLevelAdditive("Scene02");}================================================..

반응형