LHH Blog
취소

(3D RPG) 스킬 Popup

구현 기간 : 05.25 , 05.26 , 06.01 레벨에 따른 스킬을 얻을 수 있도록 스킬 Popup을 구현한다. 🎮 구현 기능 플레이어 레벨에 따라 스킬을 얻을 수 있고, Scene에 있는 스킬Slot에 등록하여 사용할 수 있다. 📝 UI_SkillPopup.cs 스킬창을 On/Off 한다. 📝 UI_SkillPopupSlot....

(3D RPG) 장비/스탯 Popup

구현 기간 : 05.23 ~ 05.24 장비 아이템을 착용하고 스탯을 관리한다. 🎮 구현 기능 인벤토리와 마찬가지로 장비창과 장비안의 슬롯을 나누어 구현한다. 그리고 레벨업에 따른 스탯포인트 증가와 포인트를 가지고 스탯을 증가시키는 기능을 구현한다. 📝 UI_EqSataPopup.cs 장비창을 On/Off 하고 스탯을 관리한다. 📝...

(3D RPG) 인벤토리 Popup

구현 기간 : 05.22 ~ 05.23 🎮 구현 기능 인벤토리를 구현할 때 팝업창과 인벤안의 슬롯들을 나누어 구현했다. 📝 UI_InvenPopup.cs 인벤토리를 On/Off 하고 아이템 슬롯을 관리한다. 📝 UI_InvenSlot.cs 인벤토리 안에 있는 슬롯이고, 아이템을 관리한다. EventSystem을 사용하여 슬롯끼리 아이...

(3D RPG) 아이템

구현 기간은 짧았지만 장비장착 아이템이나 아이템 에셋들을 선택하는데 있어 시간이 좀 걸렸다. 🧮 아이템 클래스 구조 아이템은 인벤토리, 장비, 등 여러 곳에서 사용되므로 각각의 상황에 쓰일 수 있도록 상속시켰다. Item Class - 아이템 부모 클래스 UseItem Class - 소비 아이템 클래스 Equipm...

(3D RPG) 스킬

구현 기간 : 05.14 ~ 05.16 스킬을 구현할때 Effect와 Animation을 맞춰주는게 좀 까다로웠고, 협업이나 내가 만든 것이 아니기에 에셋에 대한 적응이 어려웠다. 🎮 구현 기능 📝 스킬 데이터 💻 PlayerAnimEvent.cs 스킬을 사용할 때마다 공격 범위가 바뀌기 때문에 하나하나 수치를 저장해 관리했다. 범위...

(3D RPG) 몬스터

💻 MonsterController.cs 몬스터도 캐릭터기 때문에 BaseController.cs를 상속받는다. 몬스터가 플레이어를 따라가는 방법은 NavMeshAgent를 사용했다. [ 몬스터 기능 ] 플레이어 감지 (Idle) 플레이어 따라가기 (Moving) 플레이어 공격 (Attack) 피격 당하면 (Hit) 죽음 (Di...

(Unity) Slider NaN

UI 작업을 하는 중 Slider의 value를 코드에서 관리해주려는데 Slider가 작동을 하지 않는다. 원인은 value의 값이 NaN으로 되어있어 다른 값으로 변경 자체가 불가했다. NaN이란? NaN은 Not-a-Number의 약자로 숫자로 표현할 수 없는 값을 뜻한다. 이런 이유 때문에 NaN 된다는건 숫자를 바꿀 수 없는 상황이니 사전...

(3D RPG) 플레이어 기능

구르기 (회피) 몬스터의 공격이나 보스의 공격 패턴을 피하기 위해 구르기를 추가했다. 연속 공격 처음에 연속 공격은 생각보다 구현이 헷갈려서 해맸지만 구현은 성공했다..! [ 연속 공격이 되는 과정 ] 공격키 입력 -> 공격 진행 -> 공격 중에 공격키 입력하는지 계속 확인 -> 공격키를 누르면 다음 공격 진행 || 안누르면 Id...

(3D RPG) Google Sheet 연결

데이터를 관리하는 방법은 Google Sheet를 사용했다. 간단한 백엔드 서버로도 유명하고 1인 개발이기 때문에 적합하다 생각했다. 유니티 Asset 폴더에 csv 파일을 넣어 관리해도 되지만 백엔드 서버를 사용해보고 싶었다. 💻 코드: 시작 데이터 가져오기 // 시작 데이터 class public class StartData { ...

(Unity) GoogleSheet Get

로컬에서 엑셀파일을 유니티 폴더에 넣어 관리하기가 불편해서 구글시트와 연결하여 쉽게 사용해보려고 한다. GoogleSheet 구글시트는 백엔드 서버처럼 사용 가능하며 Get, Post 등이 가능하다. 구글시트의 장점은 무료라는 점이고, 매우 편리하게 백엔드 서버를 사용할 수 있다. 협업에서도 엑셀파일을 보내는 불편함을 없앨 수 있고 수정하는 즉시...