서버(Server) 측 콜백 메서드 순서Awake (Unity의 MonoBehaviour 메서드)네트워크 관리자를 초기화할 때 사용됩니다.Start (Unity의 MonoBehaviour 메서드)네트워크 관리자가 시작될 때 사용됩니다.OnStartServer서버가 시작되었을 때 호출됩니다. 서버 초기화 작업을 수행하는 데 사용됩니다.일반적으로 네트워크를 시작한 후 서버 준비 작업을 수행합니다.OnServerConnect(NetworkConnectionToClient conn)클라이언트가 서버에 처음 연결될 때 호출됩니다.클라이언트의 연결을 허용할지 또는 거부할지 결정할 수 있습니다.OnServerAddPlayer(NetworkConnectionToClient conn)새 클라이언트가 연결된 후, 해당 클..
 [Unity Mirror] Do not use Start !
        
        
          [Unity Mirror] Do not use Start !
          NetworkRoomPlayer를 상속받는 클래스를 만든 후 Start를 사용하려고 하였다.당연히 Override를 하면 되겠거니 했는데 virtual 단에서 코드가 꽤 작성되어 있었다. public virtual void Start() { if (NetworkManager.singleton is NetworkRoomManager room) { // NetworkRoomPlayer object must be set to DontDestroyOnLoad along with NetworkRoomManager // in server and all clients, otherwise it will..
 [팀 프로젝트] 'The Last Hunt' 개발 후기 - 03
        
        
          [팀 프로젝트] 'The Last Hunt' 개발 후기 - 03
          이제부터 다산다난했던 퍼즐게임 제작기를 작성합니다... 마지막 챕터 '집으로...' 는사냥을 마친 사냥꾼이 멍청하고 게으른 말과 함께집으로 돌아간다는 내용의 게임입니다. 언레일드와, 닌텐도 스위치의 월드와이즈 51이라는 게임에 수록된 슬라이딩 퍼즐을 참고하여 기획하였습니다. 크게 보면 슬라이딩 퍼즐과 차이가 없지만나름의 차별 요소를 두기 위해언레일드의 작업 요소를 조금 추가하였습니다.플레이어 캐릭터를 조작하고 이동하여 맵을 수정하고장애물을 제거하는 작업들 말입니다.8. 게임 설명게임의 목표는 단순합니다. 도로를 따라 이동하는 말이 집까지 갈 수 있도록도로 퍼즐을 연결해 길을 완성하는 것입니다. 말은 길을 따라 스스로 천천히 이동합니다.플레이어는 말이 계속해서 앞으로 나아갈 수 있게도로 퍼즐을 이어나가야 ..
 [팀 프로젝트] 'The Last Hunt' 개발 후기 - 02
        
        
          [팀 프로젝트] 'The Last Hunt' 개발 후기 - 02
          학원의 유니티 수업은 유니티를 배워본 누구나 한 번씩은 다 해볼 법한 프로젝트로 진행되었습니다.플랫포머 러닝액션을 통해 오브젝트 풀링을 배우고서바이벌 슈팅 게임으로 레이캐스트와 클래스, 인터페이스 상속을 익혔습니다.그리고 간단한 리듬 게임을 만들기도 했습니다.게임을 만드는 데 익숙하지 않은 팀원들에게다음에 있을 중요한 팀과제를 위해이번 프로젝트를 복습과 연습의 기회가 되었으면 했습니다. 5. 네 개의 게임정해진 스토리를 기반으로 게임을 네 개의 챕터로 나누고 각 챕터마다 각기 다른 게임을 만들기로 하였습니다.앞서 말한 바와 같이 슈팅 게임과 리듬게임, 러닝 액션 게임과 퍼즐 게임을 기획하였고본인은 마지막 챕터의 퍼즐 게임을 제작하기로 하였습니다.Chapter 1. (보우 슈팅 게임) '더 라스트 헌트' ..
 [팀 프로젝트] 'The Last Hunt' 개발 후기 - 01
        
        
          [팀 프로젝트] 'The Last Hunt' 개발 후기 - 01
          1. 시작...6월, 유니티 수업을 시작하고 1개월...두 번째 팀 작업을 시작했습니다.유니티를 처음 접하는 팀원들에겐커리큘럼은 분명 성급한 느낌이지만하루빨리 성장해야 할 시기임은 분명하기에목표를 잡고 마감 안에 반드시 완성한다는 각오로 작업하였습니다. 작업 기간은 2024.07.08 ~ 2024.07.31입니다. 시리즈로 나누어 개발 일지를 뒤늦게나마 작성합니다. 2. 주제학원의 두 번째 팀프로젝트였습니다. 첫 프로젝트 때는 모두가 처음이고 미숙하였기에체력적으로도, 특히 감정적으로도 소모가 너무 컸습니다.본인 또한 팀 작업이 처음이었고팀장이라는 자리를 맡아 책임감에 대한 압박이 너무 크다 보니일 배분에 실패하고 게임의 태반을, 거의 90%를 혼자 작업을 해버렸습니다.그러다 보니 '이게 팀 작업이라고 ..
 (Player Input) 캐릭터의 이동 구현 코드
        
        
          (Player Input) 캐릭터의 이동 구현 코드
          위의 이미지에서 키보드 a 와 d 자판은 Horizontal 이라는 이름의 버튼으로 할당 되어있다.여기서 Input.GetAxis("Horizontal")를 사용하면 -1 에서 1 까지의 float 값을 반환 받을 수 있다.이것에 관한 설정은 이하의 설정을 따르는데,키가 입력되면 Sensitivity에 설정한 만큼 값이 서서히 -1이나 1에 도달한다.그러다 입력이 중단되면 Gravity에 설정한 만큼 값이 서서히 0으로 되돌아간다.그러다 Dead에 설정한 값에 도달하면 입력이 없는 것으로 한다. 사람들은 Input.GetAxis를 Horizontal이나 Vertical 과 같이 캐릭터의 조작에 사용한다. transform.position += new Vector3(Input.GetAxis("Horizo..
 유니티 2D 게임 프로젝트 (feat. 날려날려)
        
        
          유니티 2D 게임 프로젝트 (feat. 날려날려)
          한 달 만에 C# 언어 기본을 마치고 드디어 유니티 수업이 시작되었다.그리고 개강 두 달째, 개인 2D 프로젝트가 시작되었다.다른 학원생들은 시중의 게임 리소스를 가져다 썼지만,나는 몇 년 전에 한 번 만들어보려다 덮어둔 게임이 생각나서직접 만들었던 리소스를 가져다 프로젝트를 진행했다. 아무래도 유명 게임들의 리소스에 비해 퀄리티가 처참하지만...내가 직접 그린 그림에 본을 심고 애니메이션까지 만들어움직이는 모습을 보니 큰 성취감을 느꼈다. 1. 기획부터?게임 개발자라면 누구나 마음속에 '나의 게임'이란 걸 생각하고 있을 것이다.취업을 위한 직업 훈련 학원에서조차 1인 개발을 하고 싶어 왔다는 사람들이 있을 정도로...;이런 기회가 아니면 언제 내 게임을 만들어 보겠는가! 게임은 옛날에 재미있게..
Unity의 Application 클래스는 애플리케이션의 여러 정보와 경로를 관리하는 데 사용됩니다. 특히 파일 시스템과 관련된 경로를 다루는 메서드와 속성을 제공합니다. 여기에는 다양한 경로 종류가 있습니다:1. Application.dataPath설명: 프로젝트의 Assets 폴더가 있는 경로입니다.사용 예시: 주로 리소스 로드나 파일 쓰기와 같은 작업에 사용됩니다.예제:csharp코드 복사string path = Application.dataPath + "/Resources/myResource.txt";2. Application.persistentDataPath설명: 애플리케이션의 영구 데이터를 저장할 수 있는 경로입니다. 이 경로는 앱의 사용자 데이터를 저장하는 데 사용됩니다.사용 예시: 사용자 ..
