24_01_26 TIL
·
TIL
오늘 하루를 보내며 오늘로 유니티 입문 팀프로젝트 3일차에 접어들었습니다. 하면 할수록 데이터 관리에 조금은 능숙해지는 기분이 드네요. 아이템마다 데이터를 가지고 있고 해당 아이템의 데이터에 접근하여 플레이어가 강해지는 컨셉인데 비슷한 작업을 해본 경험이 없어서 아직 미숙하지만 열심히 해보려고 합니다.
24_01_25 TIL
·
TIL
1. 오늘 배운내용 델리게이트를 사용하면 함수를 변수처럼 사용할 수 있기 때문에 여러가지 상황에 대응할 수가 있다. 예를들어 상점 팝업창, 설정 팝업창, 점수 팝업창등 다 똑같은 팝업창일 경우 매번 팝업창 스크립트를 작성하는 것이 아니라 한가지 스크립트로 여러가지 경우의 수를 대응할 수 있게 짜는 것이 프로그래머의 마음가짐이라고 튜터님께 배웠습니다. 델리게이트를 사용하면 함수를 매개변수로 받을 수 있기 때문에 설정페이지 이동, 점수 페이지 이동, 팝업 페이지 이동 등을 특정 경우에 따라 받아서 그때그때 사용할 수 있습니다. 2. 느낀 점 아직 C#의 고급문법을 능숙하게 활용하기는 많이 부족한 것 같습니다. 엑셀에서 데이터를 파싱해서 읽어오는 기능까지는 쉽게 했지만, 파싱해온 데이터를 필요한 타입으로 정리..
2024_01_24 TIL
·
TIL
1. 오늘 배운내용 오늘은 깃허브 협업시 어떻게하면 오류를 줄일 수 있을지 배웠습니다. 깃허브 협업시 최대한 업무가 겹치지 않게 브런치를 나누는 것이 좋고, 브런치를 깃허브 서버에 publish하는 것이 아닌 개인적으로 사용하다가 다쓰면 지우는 방식을 자주 사용한다는 것을 알게 되었습니다. 2. 오늘의 고민 오늘부터 부트캠프에서 고전게임의 재해석이라는 과제가 주어졌습니다. 우리팀이 선택한 고전게임은 닷지라는 게임인데 이를 재해석하여 로그라이크 게임을 만들어볼 예정입니다. 제가 담당한 부분은 아이템 및 게임매니저 파트를 담당하게 되었는데, 어떻게 하면 구조를 깔끔하게 구성할지 고민이 많습니다. 아이템 데이터 구조의 경우 처음부터 짜임새있게 작성하고 가는것이 이후에 편하기 때문에 더욱 신경을 써야할 것 같습..
Unity Action
·
Unity
1. Action Action을 한마디로 설명하자면, 반환값이 없는 함수 포인터라고 할 수 있습니다. Action은 Delegate처럼 함수를 대리자(변수)에 대입해서 사용할 수 있지만, 사용 방법이 훨신 간단하기 때문에 Delgate 대신에 반환 값이 존재하지 않으면Action을, 반환 값이 존재한다면 Func을 사용하는 경우가 많습니다. - Action의 장점 Action을 사용하면 해당 Action의 대리자에 함수를 여러개를 추가할 수 있습니다. 이를 구독한다라고 합니다. 해당 대리자가 호출 될 경우 구독된 모든 함수들이 실행되기때문에 플레이어 사망, 생성과 같은 특정 이벤트가 발생했을 때 실행되야하는 함수들을 대리자에 전부 구독시켜 놓으면 다른 스크립트에서 복잡하게 참조하지 않아도 대리자만 호출하..
#Unity[PhotonPun2] PhotonView, RPC
·
Unity
1. Photon View 포톤으로 네트워크 게임을 제작할 경우 사용자 뿐만 아니라 해당 네트워크에 접속해 있는 다른 플레이어들도 존재합니다. 아무런 세팅을 하지 않았을 경우 플레이어 A가 움직여도, 플레이어 B 입장에서는 플레이어가 A가 움직이지 않습니다. 그 이유는 하나의 게임파일을 같이 사용하는 것이 아니라, 플레이어 A와 B는 둘다 별도의 게임 파일을 가지고 있기 때문입니다. 따라서 A에 변화를 감지해서 B에게도 적용해줄 수 있는 장치가 필요합니다. - 플레이어 움직임 동기화 플레이어의 위치를 동기화 하기 위해서는 반드시 Palyer 오브젝트에 Photon View 컴포넌트가 존재해야합니다. Photon View는 변화를 감지하여 서버에 존재하는 플레이어들에게도 똑같이 적용하는 역할을 합니다. 위..
Unity Animator Controller 변경, RectTransform
·
Unity
1. Animator Controller 변경하는 방법 유니티를 하다보면 Player 오브젝트는 그대로 냅둔 상태에서, Animator 컴포넌트의 Controller만 변경하여 플레이어를 변경하고 싶을 때가 있습니다. 이경우 RuntimeAnimatorContoller의 배열을 만든 뒤 인스펙터 창에서 Animator Controller들을 인덱스 값으로 할당해준 뒤에 원할때 Animator.runtimeAnimatorController를 할당 시킨 인덱스에 존재하는 Animator Controller로 변경해주면 쉽게 플레이어의 애니메이션을 변경 할 수 있습니다. 2. RectTransform 유니티를 하다보면 게임오브젝트의 자식 오브젝트로 Canvas를 넣어서 Text를 표현하는 경우가 생기기도 합니..
Unity Photon 주요 기능들
·
Unity
이번 포스팅은 Photon을 사용하면서 알게된 메서드와 멤버 변수들의 쓰임새를 간략하게 남겨보겠습니다. 세팅 환경은 Photon Pun2를 이용했습니다. 1. Photon 사용하기 에셋스토어에서 Photon Pun2를 받고 네트워크 게임을 만들경우, NetWorkManager 오브젝트를 생성하고, NetworkManager 스크립트를 할당해주는 것이 일반적 입니다. Photon Pun2의 기능을 사용하기 위해선 반드시 Photon.Pun, Photon.Realtime의 NameSpace를 사용해줘야합니다. 이후 MonoBehaviourPunCallbacks를 상속받아야지만, 포톤의 NetWork 기능들을 사용할 수 있습니다. 2. 네트워크 세팅 Puncallbaks를 상속 받았다면, Awak()에 해당 ..
2024_01_17 TIL
·
TIL
1.오늘 배운 것 using System.Collections; using System.Collections.Generic; using Photon.Pun; using Photon.Realtime; using UnityEngine; using UnityEngine.UI; public class NetworkManager : MonoBehaviourPunCallbacks { public InputField NickNameInput; public GameObject DisconnectPanel; public GameObject RespawnPanel; private void Awake() { Screen.SetResolution(960, 540, false); PhotonNetwork.SendRate = 6..