LHH Blog
취소

(3D RPG) 기본 기능

처음 구현할 때 아무것도 없는 Scene에 무엇부터 구현해야 할지 고민했다. 우선 틀이라도 잡기 위해 간단하게 기획하여 만들어야할 기능들을 적어봤다. 구현할 기능들 몬스터 (일반, 중간 보스, 보스 등..) 스킬, 궁극기 아이템 (소비, 장비) 장비 장착 적용 (장착한게 보이게) 인벤토리 장비/스탯창 스킬창 NPC (...

(Unity) 구글 로그인 에러

구글 로그인이 가능한 게임을 개발중일 때 빌드한지 며칠도 안지났는데 이번 빌드를 했을 때 일이 벌어졌다. 아무 설정도 건드리지 않았고, 평범하게 빌드한건데.. 앱을 실행 후 구글 로그인을 진행하는데 로그인이 안된다..!! 무엇이 문제인지 코드부터 확인했지만 이상이 없었고, Play Console과 Google Cloud Console에서 SHA-...

(3D RPG) 프로젝트 시작

포트폴리오 글은 프로젝트의 핵심적인 내용만 넣었습니다. 하루 평균 개발 시간은 3 ~ 5시간입니다. 프로젝트를 시작하기 위해 다음과 같이 준비했다. 에셋 구하기 과거에 에셋을 구매하지 않고 오로지 무료로만 진행한 비공개된 프로젝트가 있다. 무료 에셋으로 만든 프로젝트이기에 퀄리티가 매우 떨어져 이번 프로젝트에서는 원하는 에셋을 사...

(C#) 숫자 단위 지정

우리가 흔히 게임이나 인스타 등에서 볼 수 있는 숫자 단위(K, M, G, ..)를 붙이는 코드를 구현한다. 💻 코드 // 숫자 단위 붙이기 public static string GetNumberUnitText(int number) { // 4자리 까지는 안붙이기 if (number.ToString().Length <= 4) ...

(C#) Packet Generator [3]

지난글(Packet Generator [2])에 이어서 개발을 진행한다. 💻 코드 실행에 필요한 구성 만들기 자동화 코드는 대부분 갖춰졌기 때문에 실행하기 위해서 나머지 필요한 부분을 넣어준다. ( 라이브러리, PacketID 추가 ) // {0} 패킷 이름/번호 목록 // {1} 패킷 목록 public static string fileFormat...

(C#) Packet Generator [2]

지난글(Packet Generator [1])에 이어서 개발을 진행한다. 💻 코드 GenPacket 생성 패킷 자동화 스크립트를 파일로 만들기 위해 Main의 using안에 구현해준다. static string genPackets; class Program { using (XmlReader r = XmlReader.Create("PDL.xml...

(C#) Packet Generator [1]

패킷을 자동화하는 코드를 만들어본다. 💻 코드 코드 삭제 패킷 클래스르 따로 만들어서 자동화시킬 것이기 때문에 다음 코드는 삭제하고 에러가 나는 부분은 적절히 수정해준다. public abstract class Packet { public ushort size; public ushort packetId; public abstr...

(Unity) ScriptableObject

스크립터블 오브젝트(ScriptableObject)는 평소 우리가 사용하는 스크립트와 다르게 대량의 데이터를 저장하는데 사용할 수 있는 데이터 컨테이너이고, 값의 사본이 생성되는 것을 방지하여 프로젝트의 메모리 사용을 줄일 수 있다. ScriptableObject를 사용하면 MonoBehaviour 스크립트에 변경되지 않는 중복된 데이터를 저장하는...

(Github) 유실된 커밋 복구하기

깃허브 관리에 서툴어서 커밋 초기화 -hard를 눌러 커밋한 내용을 다 날려버리는 실수를 저질렀다.. 다행히 유실된 커밋을 복구하는 방법이 있어서 간단하게 복구하는 방법을 알아보겠다. Reflog 깃 터미널에 git reflog를 입력하면 지금까지 진행했던 커밋들이 나열된다. 이 나열된 커밋들 중에서 복구하고 싶은 커밋을 골랐으면 주소를 기억...

(Unity) NetworkManager

구현한 코드를 정리한 글입니다. 웹서버와 협업을 한다면 꼭 접하는 내용이 API이다. API는 서버와 통신할 수 있는 수단으로 서버에서 만들어준 API를 통해 Data를 주고 받을 수 있다. 나는 첫 협업을 통해 Network를 관리하는 Manager를 만들어 보았다. 💻 코드 Data Class API를 통해 통신하기 위해선 Data의...