목록BCA/8. Photon (9)
VioletaBabel
UI Canvas가 있는 씬에서 Slider를 하나 추가한다.이름은 Player UI로 하고, Middle-Center로 설정한 후 width는 80, height는 15로 설정한다.자식 중 background의 컬러는 빨강으로 하고, 자식 중 Fill Area-Fill의 색은 녹색으로 둔다.Player UI의 자식으로 Text를 하나 추가하고 이름은 player Name Text로 한다.그 다음 Player UI를 프리팹으로 저장하고 하이에라키에서 지운다. PlayerUI.cs를 만들어 다음과 같이 입력한다.//PlayerUI.csusing UnityEngine;using UnityEngine.UI;using System.Collections;public class PlayerUI : MonoBehav..
Player instance를 생성하자. PlayerManager.cs를 열어12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879//PlayerManager.csusing System.Collections;using UnityEngine;using UnityEngine.EventSystems;public class PlayerManager : Photon.PunBehaviour, IPunObservable{ public GameObject Beams; public float Health = 1..
My Robot Kyle에 PhotonView.cs를 붙여준다.Observe option을 unreliable On Change로 한다. --Observe optionOff : RPC 전용일 때 유용Unreliable : 업데이트가 있는 그대로 전송되나 손실될 수 있음. 위치 등 잘 변하지 않는 데이터에는 최적이나, 무기를 바꾸는 등의 트리거에는 적합하지 않음. 게임 오브젝트의 위치를 동기화하는 경우에는 게임 오브젝트가 이동하지 않아도 항상 업데이트를 전송하니 주의해야 함.Unreliable on Change : 업데이트 때마다 변경된 것을 확인함. 값이 바뀌면 전송하고, 값이 바뀌지 않으면 전송을 중지함.Reliable Delta Compressed : 갱신된 값을 이전과 비교. 변경되지 않은 값은 생..
카메라가 플레이어를 따라가게 하기 위해CameraWork.cs를 만든다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970//CameraWork.csusing System.Collections;using UnityEngine; public class CameraWork : MonoBehaviour { public float distance = 7.0f; public float height = 3.0f; public float heightSmoothLag = 0.3f; public Vector3 centerOffset = ..
새로운 씬 Kyle Test를 만든 후 Photon Unity Networking/Demos/Shared Assets 폴더의 Robot Kyle.fbx를 Hierarchy에 불러오자.그리고 My Robot Kyle로 이름을 바꾼 후 리소스 폴더에 프리팹으로 만들어준다. My Kyle Robot에 Character Controller 컴포넌트를 넣는다. 그리고 해당 컴포넌트의 Center.y 값을 1로 바꿔주자.다음으로 Animator의 Controller 부분에 Kyle Robot을 넣어준 후 Speed 파라미터를 양수 값으로 바꾸자. 그러면 실행 시 애가 뛰어간다. 씬에 큐브를 넣어 포지션을 (0,-0.5,0)으로, 스케일을 (30,1,30)으로 하고 카메라를 적절히 배치하자.그리고 안전빵으로 My R..
GameManager.cs를 다음과 같이 수정한다. 12345678910111213141516171819202122232425262728293031323334//GameManager.csusing System.Collections;using System;using UnityEngine;using UnityEngine.SceneManagement; public class GameManager : MonoBehaviour { private void LoadArena() { if (!PhotonNetwork.isMasterClient) // 마스터 클라이언트인지 확인. Debug.LogError("PhotonNetwork : Trying to Load a level but we are not the maste..
Room for 1이라는 새로운 Scene을 만든다.floor라는 이름의 Cube를 만든 후 Position은 (0,0,0)으로 하고 Scale을 (20,1,20)로 한다. 그 다음 큐브를 4개 더 만든다. 각각 벽이 될 아이들.Wall 1 : Position (0,2,-10), Rotation (0,0,0), Scale (20,3,1)Wall 2 : Position (0,2,10), Rotation (0,0,0), Scale (20,3,1)Wall 3 : Position (-10,2,0), Rotation (0,90,0), Scale (20,3,1)Wall 4 : Position (10,2,0), Rotation (0,90,0), Scale (20,3,1) 다음 빈 오브젝트인 Game Manager를 ..
PlayButton이란 UI 버튼을 하나 만들고, Child인 Text를 Play로 바꿔 넣어준다.그리고 PlayButton의 Onclick 필드에 Hierarchy의 Launcher를 드래그해 넣어주고, Connect()를 실행시키게 한다.그 후 Launcher.cs의 Start() 부분을 제거한다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152//Launcher.csusing UnityEngine; public class Launcher : Photon.PunBehaviour{ //이 클라이언트의 게임 버전. 사용자는 게임 버전으로 구분됨. string _gameVersion ..
포톤 튜토리얼 Launcher라는 게임 오브젝트를 만들고 아래 스크립트를 자식으로 넣어준다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556//Launcher.csusing UnityEngine; public class Launcher : Photon.PunBehaviour{ //이 클라이언트의 게임 버전. 사용자는 게임 버전으로 구분됨. string _gameVersion = "1"; public PhotonLogLevel Loglevel = PhotonLogLevel.Informational; // 밑에서 한 것과 다르게, 이렇게 하면 인스펙터에 노출. public..