Unity 7

[Unity]연습 프로젝트 3.패킷 설계

이제 무엇이 필요한가? 다음으로는 어떤 패킷이 필요한지를 정해 둬야합니다.3D그래픽의 게임이니 이동 동기화를 위해선 위치 x,y,z 회전 x,y,z같은 플레이어에 대한 정보를 주고받는 패킷이 필요합니다. 패킷을 직렬화시 주의할점은 유니티에서 Vector3같은 자료형은 유니티에서만 한정되기때문에 Vector3를 바로 보내주면 알아먹지 못하기때문에 불가능합니다. 앞서서했던 미니 프로젝트의 경우 SendBuffer를 만들어주었지만https://myjeongjun.tistory.com/116 [서버 공부] 미니 프로젝트: 채팅 방 만들기 1편지금까지 배운 소켓프로그래밍으로 채팅을 주고 받는걸 구현해보고자 한다. 채팅방 시스템이 어떻게 구현되어있는지를 예상해서 구성해보자면 1.더미 클라이언트 2개를 두고(완성하고..

[Unity]연습 프로젝트 2.멀티 플레이 준비

서버공부를 위한 강의도 거의다 수강했기 때문에 이제 본격적으로 저의 프로젝트에 적용시켜 보려고 합니다. 현재 3D 프로젝트에서 애니메이션,이동 동기화까지를 목표로 잡고있습니다. 어떻게 유니티와 내가 만든 서버를 연결 시킬 것인가?https://myjeongjun.tistory.com/116 [서버 공부] 미니 프로젝트: 채팅 방 만들기 1편지금까지 배운 소켓프로그래밍으로 채팅을 주고 받는걸 구현해보고자 한다. 채팅방 시스템이 어떻게 구현되어있는지를 예상해서 구성해보자면 1.더미 클라이언트 2개를 두고(완성하고 나면 2myjeongjun.tistory.com간단합니다. 이 미니 프로젝트에서는 DummyClient를 서버와 같은 프로젝트에 Connector를 집어넣어 구현했지만이제 유니티에다가 Connect..

[Unity]연습 프로젝트 - 1.캐릭터의 부드러운 움직임

이전 프로젝트에서 플레이어의 움직임을 Blend Tree를 통해 부드럽게 움직일수있도록 구현해보았다. #1. 기본 세팅 (Unity 프로젝트)(gif로 상세하게 설명하고싶은데 나중에 어떻게 하는지 배워서 수정하겠습니다.)대학교 게임개발 프로젝트 수업에서 RPG장르를 만들어 보기로 결정했습니다. 글 작성을 시작한지 일주일이 지난myjeongjun.tistory.com 하지만 글쓴이가 원하는 정도의 퀄리티가 어째서인지 나오지않았고 어떤점이 부족했는지를 분석해보면 1.parameter 조절 방식이 비효율적이다. -> 이 방식으로인해 진행방향의 반대방향으로 움직이기위해 키를누르면, (만약 왼쪽 이동중이라고 가정할때 오른쪽 방향키를 누르면) left walk -> idle -> right walk 불필요하게 id..

#3. 데이터 관리

제가 나중에 게임을 개발하다 다루는 데이터가 점점 커질텐데, 언제까지나 유니티내에서 모든 데이터를 저장해놓고 개발하는건 효율적이지도, 제가 추구하는 방향도 아니라고 생각했습니다. 그렇기 때문에 따로 데이터 내용을 저장후 불러올때 아이템으로 불러오는 작업을 하고싶었습니다. 대부분의  경우에는 XML 혹은 JSON포맷을 사용해서 데이터를 주고받습니다. 이전에 JSON을 다뤄본적은 있었으나 그땐 개발공부를 시작한지 3~4개월차 였기때문에 제대로 다뤄보지도못하고 따라만 사용했던 기억이 납니다.이번에는 CSV포맷을 사용해서 데이터 부분을 구현했습니다. 이 형식으로 가능한지도 몰랐으나, 어느 블로그 글을보면서 매우 쉽게 구현 가능하겠더라고요 그래서 시간이 얼마없었던 저에게 안성맞춤인 방법이었습니다. 우선 Excel..

Unity 2024.12.25

#2.1 UI 설정

이제 UI_PopUp, UI_Scene, UI_World일때마다 어떻게 설정해주었는지를 작성해보겠습니다. 먼저 제일 간단한 UI_World 입니다. UI_World는 사실 PopUp이나 Scene과 다르게그저 몬스터 머리위에서 체력을 표시하거나, 상점 npc머리위에 상점입장이 표기되거나 하는 정도였기때문에 사용처가 많지않아 따로 클래스를 정의하진 않았습니다. 몬스터 체력바 UI스크립트입니다.using System.Collections;using System.Collections.Generic;using Unity.VisualScripting;using UnityEngine;using UnityEngine.UI;public class UI_MonsterHp : UI_Base{ enum GameObje..

Unity 2024.12.23

#2 Managers 평가 + UI

오랜만에 유니티 글을 써봅니다. 학기중에 개발과 동시에 글을 작성할수가 없어서 프로젝트 제출을 마치고 이제서야 쓰게되었습니다. UI부분을 짚고 넘어가기전에 제가 작성했던 코드인 Managers에 대해 이야기 하고 평가해보고자 합니다. 아마 대부분의 게임에는 서로다른 역할을 맡는 Manager를 두고 개발할 거라고 생각합니다. 그렇게 하는것이 가장 효율적 이라고 생각하고요. 저또한 역시 이번 개발에서 Manager들을 활용했습니다.  제가 기존에 하는방식은 모든 Manager에게 각각 싱글톤 패턴을 적용시켜서 접근했다면, 제가 강의를 듣고 찾은 방식은 최상위 Managers에게만 싱글톤을 적용시키고 Managers를 통해 각각의 Manager에 접근하는 방식으로 보였습니다. 하지만 이 방식은 무조건적으로 ..

Unity 2024.12.23

#1. 기본 세팅 (Unity 프로젝트)

(gif로 상세하게 설명하고싶은데 나중에 어떻게 하는지 배워서 수정하겠습니다.)대학교 게임개발 프로젝트 수업에서 RPG장르를 만들어 보기로 결정했습니다. 글 작성을 시작한지 일주일이 지난 시점에서 작성하는거라 많은게 생략되어있습니다. playerController에 public Vector2 moveInput; public void OnMove(InputValue value) { moveInput = value.Get(); } New Input System의 OnMove함수로 인풋을 받아오고  void Move() { IsMove = moveInput.magnitude != 0; if (moveInput.y == 1 ..

Unity 2024.11.15