본문 바로가기

스파르타코딩클럽64

내일배움캠프를 마치며 2023년 7월 17일부터 시작한 사전캠프, 2023년 8월 7일부터 시작한 스파르타코딩클럽 내일배움캠프까지 5개월 간의 대장정이 끝났다. 캠프를 완료한 지는 거의 일주일이 되어가는데도 Unity 코리아 본사 방문이나 이력서 코칭 등등 후속 프로그램이 계속 이어져 너무나도 바쁜 와중에도 캠프에 대한 소회와 후기를 남겨보고자 한다. 처음 내일배움캠프를 하기로 결정한 이유 중 하나가 이전 수강생 분들의 블로그 후기였으니 내일배움캠프 합류를 고민하고 계셔서 이 글을 보시는 분들께 도움이 되었으면 좋겠다. 0. 캠프 합류 전 나는 뭐하는 사람? 작년에 참가했던 Maplestory Worlds SUPERHACKATHON 2022 기본 베이스는 조금 있었다고 봐도 무방하다.Unity와 매우 흡사한 인터페이스의 플랫.. 2023. 12. 21.
최종프로젝트를 앞두며 내일배움캠프를 시작한지 어언 두 달, 사전캠프까지 포함하면 세 달이 넘어버렸다. 아직까지는…. 너무 만족스럽다!!! 공부할 때 드는 에너지는 학교 다닐 때보다 반도 안드는데 막상 공부양은 역대급으로 많다! 그동안 정말 많은 것을 공부했다.쌓여온 TIL들이 그걸 증명해주는 것이겠지. 교내 게임동아리에 처음 들어갈 때만해도 건들기가 무섭기만 했던 유니티도 이제는 익숙?은 해졌다. 이제 약 8주간의 최종프로젝트를 앞두고 있는데, 중요 포인트를 정리해보려 한다. 프로젝트 매니징 (Project Managing) 여러 번의 팀 프로젝트를 겪고난 뒤 느낀 건 팀원 간 역할 분배나 전체적인 진행도 관리가 중요하다는 것이다. 무엇보다 중요한건 그래서 어떻게? 이다. 몇 가지 협업 툴이 있는데, 소개해보고자 한다. 깃허.. 2023. 10. 20.
Unity 포톤 동기화 작업 시 주의할 점들 플레이어블 캐릭터를 Instantiate할 때게임 로직 동기화 캠프에서 포톤을 이용한 팀 프로젝트가 점점 마무리되는 단계이다. 포톤으로 동기화를 하면서 플레이어 동기화 같은 것들이 어려울 줄 알았는데, 의외의 복병이 바로 게임 로직 동기화였다. 서버 (or 마스터 클라이언트) 에서 처리해야하는 함수와 개별 클라이언트에서 각각 처리해야하는 함수들의 구분이 필요했었는데, 초기 코드 작성 단계에서 그것을 제대로 고려하지 않은 점이 가장 큰 패착이었다. 프로젝트의 완성도가 아쉬운만큼 그 아쉬운 점에 대해 적어보려 한다. 플레이어블 캐릭터를 Instantiate할 때 private void StartGame() { int idx = PhotonNetwork.LocalPlayer.ActorNumber; if (id.. 2023. 10. 19.
Unity 기존 게임을 포톤 PUN2로 동기화하기 MonobehaviourPun vs MonobehaviourPunCallbacks로컬 vs 리모트변수 동기화: IPunObservable함수 동기화: PunRPC 포톤으로 기존 싱글플레이 게임들을 멀티플레이 게임으로 만들어보자. 물론 기존에 만들어놨던 게임 구조가 너무나도 복잡하면…. 좀 힘들 수 있다. 주로 상속받는 부분 변경과 함수 변경에 대해 이야기해보고자 한다. MonobehaviourPun vs MonobehaviourPunCallbacks 일단 제일 먼저 하게되는 일은 Monobehaviour를 상속받고 있던 기존의 스크립트를 MonobehaviourPun이나 MonobehaviourPunCallbacks를 상속받는 걸로 바꿔주면서 시작한다. 둘의 차이는 뭐냐 하면, 오버라이드를 하는지 안하는.. 2023. 10. 18.
Unity 포톤으로 멀티플레이 구현해보기 로비 씬 만들기게임 씬 동기화빌드해서 테스트해보기 이번 글에서는 포톤을 이용하여 멀티플레이를 구현하는 방법을 정리해보도록 하겠다. 베이스라인이 되는 게임은 다음의 간단한 탁구게임을 이용하였다. Pong 게임 https://github.com/seoksii/Pong 포톤을 프로젝트에 Import하는 등의 설정은 다음의 게시글을 참고하자. 유니티 포톤 (Photon) 셋업하기포톤 Import 하기어플리케이션 아이디 가져오기 포톤 Import 하기 포톤은 기본적으로 Package Manager에서 제공해주는 것이 아니라 애셋스토어에서 Import를 해야한다. PUN 2 - FREEGet the PUN 2 - FREE package from Photon Engine and speed up your game de.. 2023. 10. 17.
Unity2D 사이드뷰 게임의 좋은 움직임 만들기 기본적인 달리기 테크닉매력적인 점프 구현하기1) 코요테 타임 (Coyote Time)2) 점프 버퍼 (Jump buffer)3) 그 외 잡다참고) 예제 코드 개선 게임을 만들다보면 사람들이 많이 놓치는 것 중에 하나가 바로 조작감이다. 좋은 게임 경험을 만들기 위해 필수적인 것으로 높은 난이도의 사이드뷰 게임일수록 중요도가 높아지는 부분이다. 플랫포머 장르에서 조작감으로 유독 언급이 많이되는 게임이 두 개가 있는데, 셀레스테 (Celeste), 할로우 나이트 (Hollow Knight)이다. 셀레스테 (Celeste) 할로우 나이트 (Hollow Knight) 이 글에서는 두 게임을 비롯하여 사이드뷰 시점 게임에서 조작감을 어떻게 올리는 지 그 테크닉에 대해 다뤄보도록 하겠다. Reference : Da.. 2023. 10. 16.
Visual Studio 단축키 이동 관련커서 이동탭 간 이동편집 관련줄 편집영역 편집열 모드 편집자동 완성탐색 및 수정디버깅 관련 비주얼 스튜디오에 상당히 간략한 단축키들이 많다는 것을 알았다. 이게 알아도 몇 번 써먹어 봐야 좀 손에 익는 것 같은데, 이번 기회에 아예 한 곳에 정리해놓고 최대한 의식해서 써보고자 한다. 이동 관련 커서 이동Ctrl + 왼쪽 화살표: 현재 커서를 현재 단어의 왼쪽 끝으로 이동Ctrl + 오른쪽 화살표: 현재 커서를 현재 단어의 오른쪽 끝으로 이동Ctrl + 위쪽 화살표: 현재 커서를 현재 문단의 맨 위로 이동Ctrl + 아래쪽 화살표: 현재 커서를 현재 문단의 맨 아래로 이동Ctrl + Home: 파일 맨 처음으로 이동Ctrl + End: 파일 맨 끝으로 이동Ctrl + ]: 괄호 끝으로 이동Ctrl.. 2023. 10. 13.
유니티 포톤 (Photon) 셋업하기 포톤 Import 하기어플리케이션 아이디 가져오기 포톤 Import 하기 포톤은 기본적으로 Package Manager에서 제공해주는 것이 아니라 애셋스토어에서 Import를 해야한다. PUN 2 - FREEGet the PUN 2 - FREE package from Photon Engine and speed up your game development process. Find this & other Network options on the Unity Asset Store.https://assetstore.unity.com/packages/tools/network/pun-2-free-119922 먼저 해당 링크에서 포톤을 내 프로젝트에 추가하자. 어플리케이션 아이디 가져오기 포톤을 Import하면 다음과.. 2023. 10. 12.
Unity 포톤 (Photon) 포톤 기본 기능PhotonNetwork1) ConnectUsingSettings()2) CreateRoom() & JoinRoom()3) Instatiate()MonoBehaviourPunCallbacks1) OnConnectedToMaster()2) OnJoinedRoom() & OnPlayerEnteredRoom()포톤뷰 (PhotonView) 컴포넌트PhotonViewObserved Component 추가 PhotonView1) PhotonTransformView2) PhotonAnimatorView3) PhotonRigidbodyView 포톤 (Photon) 은 멀티플레이를 구현하는 솔루션 중 가장 유명한 네트워크 엔진 중 하나이다. 여러 엔진에 적용 가능하고, 크로스플랫폼 간 통신도 지원하는 등.. 2023. 10. 11.
Unity3D FSM으로 플레이어 캐릭터 조작 구현하기 (3) 기존 코드 수정Walk, Run 상태 추가 저번 게시글까지 FSM으로 플레이어 캐릭터 조작을 구현하기 위한 기본 State 클래스를 구성하는 부분까지는 완성을 했었다. Unity3D FSM으로 플레이어 캐릭터 조작 구현하기 (2)State Machine 만들기땅에 붙어 있을 때 상태 구현하기PlayerSO 만들기Player 오브젝트 설정Animator 설정 저번 글에서는 Input Action을 스크립트로 접근하는 법과 Player Animation을 FSM으로 구현하기 위한 기본 세팅을 마쳤었다. Unity3D FSM으로 플레이어 캐릭터 조작 구현하기 (1)프로젝트 세팅Input System으로 기본적인 이동 구현하기Input Actions와 오브젝트 연결하기플레이어에 애니메이션을 받도록 하는 스크립트.. 2023. 10. 10.