Print Friendly and PDF

유니티 77

[디펜스 게임] 스킬 코드 리펙토링(진행중)

이번 시간엔 스킬 시스템에 대해 리펙토링을 해보려 합니다. 현재 공격 스킬의 경우 스킬 사용자의 공격 범위를 기준으로 단일 타겟을 찾아 그 단일 타겟에게 공격을 한다로 되어 있습니다.이렇게 할 경우 범위가 고정으로 되어 있기 때문에 스킬마다 자유자제로 범위나 타겟을 넣기가 애매해집니다. 그래서 스킬 자체에다가 범위, 타겟 지정을 넣고 자유자제로 할 수 있도록 해보겠습니다.추가로, 공격 오브젝트(이펙트)나 구체 같은 것에 닿으면 데미지를 받는 형태도 추가할 예정입니다. 타입 두가지를 만들어 줍니다.public enum EUSETYPE{ NOW,//즉시 발동 OBJECT_ENTER,//오브젝트에 닿으면 발동} 그다음 범위 종류를 만들어줍니다.public enum ESKILLAREA{ ONE,..

[디펜스 게임 제작] 영웅 5종 추가

이번 시간부터는 디테일한 작업을 진행하려 합니다.영웅 5종, 몬스터 10종, 스킬 추가 등등 하나씩 작업하여 게임의 완성도를 높일 예정입니다. 영웅 5종 종류- DeathKnight, Knight, Mage, Wizard, Paladin 영웅 추가 스테이터스 추가 아이템 테이블 추가 가챠 상품 변경20250717 07:00~07:30 영웅 6종 프리팹/데이터/애니메이션/클래스 추가중20250717 20:20~21:20 가챠/아이템/스테이터스 데이터 추가

[디펜스 게임] 로딩 UI 및 기능

이번 시간엔 로딩UI와 기능에 대해 제작해보려 합니다. 만든는 이유?- 추후에 패치서버나 어드레서블이 들어가게 되면 비동기식으로 불러오기 때문에 로딩이 필수적으로 필요하게 됩니다. 그걸 미리 만들어 적용할 예정입니다. 로딩UI 제작 로딩 코드using TMPro;using UnityEngine;using UnityEngine.UI;public class UI_Loading : MonoBehaviour{ [SerializeField] Image _gagebar; [SerializeField] TextMeshProUGUI _gagetext; [SerializeField] GameObject _loginpanel; float _currentgage = 0; float _update..

[디펜스 게임] 우편 UI 및 기능

이전 시간에 뒤끝 서버를 이용해 로그인, 데이터 저장, 로그를 추가 하였으니 이번 시간에 우편 기능을 추가해보려 합니다. 우편 기능의 경우 전체적으로 아이템을 전달하거나 아니면 특정 상황에 대한 보상이나 특정 유저에 대한 보상을 지급할때 매우 유용한 기능중 하나라 생각합니다. 우편 UI 래퍼런스 플로우 차트 우편 추가- 차트를 이용해서 아이템 정보를 추가한 후 우편 발송 우편 UI 제작 뒤끝 우편 코드 작성using System;using System.Collections.Generic;using UnityEngine;using LitJson;using Cysharp.Threading.Tasks;using BackEnd;public class BackEndPOST{ /// /// 우편 아..

[디펜스 게임] 로그인 UI 및 로그인 기능 추가

이번 시간엔 뒤끝서버를 이용한 로그인 작업을 하려 합니다.로그인 작업을 하는 이유는 서버에 데이터를 저장하기 위해선 구글이나 애플 로그인을 했을때 나오는 고유 번호와 같은 것들이 필요하기 때문입니다. 구글이나 애플 로그인을 위해선 개별 스토어의 아이디 값 같은 것들이 필요합니다.저의 경우 구글은 계정이 없지만 애플쪽엔 개발자 계정을 만들어두었다가 아직 갱신하지 않은 것이 있어 추후 마무리 작업이 되고 출시할 준비가 되었을때 애플 로그인을 추가하도록 하겠습니다. 그래서 이번 시간에 제작할 것은 게스트 로그인이며 애플 로그인은 버튼만 넣어둘 것 입니다. 로그인 플로우 차트 뒤끝 로그인 클래스using BackEnd;using Cysharp.Threading.Tasks;using UnityEngine;pub..

[디펜스 게임] 뒤끝 서버 프로젝트 설정

이번 시간엔 뒤끝 서버를 연동할 예정입니다. 뒤끝 서버의 경우엔 로그인/유저 데이터/로그/우편 기능 순으로 추가할 예정입니다. 먼저 로그인 기능을 제작해야 유저 데이터를 저장할 수 있기 때문에 로그인 부터 우선 추가 진행 해보겠습니다. 그전에 먼저 뒤끝 회원가입 및 프로젝트 생성 해보겠습니다.- 뒤끝 SDK 버전은 Backend-5.18.0 으로 진행할 예정입니다. 뒤끝 SDK 추가 뒤끝 프로젝트 셋팅- 뒤끝 콘솔 -> 프로젝트 설정 -> 인증 정보 -> "Client App id" 와 "Signature Key"를 복사 - 유니티 프로젝트 상단 The Backend -> Edit Settings -> 복사한 키 값을 "Client App id" 와 "Signature Key" 붙여넣으면 끝

[디펜스 게임 제작] 퀘스트 시스템

이번 시간엔 퀘스트 시스템을 제작할 것 입니다. 퀘스트 래퍼런스- 반복, 일일, 주간, 업적 총 4가지 타입이 존재할 것 입니다.- 뽑기와 업그레이드에 사용되는 재화 수급에 사용될 예정입니다. *이전에 퀘스트를 제작할때 가장 까다로웠던 점은 퀘스트 조건에 맞는 값을 설정하는 것이였습니다.- 예를들면 몬스터 처치시, 특정 몬스터 처치시, 아이템 획득시, 특정 아이템 획득시 등등 특정하는 것과 하지 않은 것 그리고 퀘스트 마다 누적되는 것도 있고 일일, 주간 초기화 하는 것들도 있어 까다로웠습니다.- 특히나 튜토리얼과 연계한다던가 특정 던전 오픈 조건이라던가 범용적으로 사용되었기 때문에 생각보다 까다로웠던 작업이였습니다. 퀘스트 플로우 차트 퀘스트 완료, 오픈 조건 리스트(추후 더 추가될 수 있음)퀘스트 완..

[디펜스 게임 제작] 강화 시스템

이번 시간에는 영웅 강화 시스템을 제작하려 합니다. 영웅 강화 시스템이란?- 재화를 이용해 영웅의 기본 Status를 강화 하는 시스템- 총 5회까지 강화가 가능하며 인벤토리에서 별이 상승한다. 플로우 차트 강화 테이블 제작using System;using System.Collections.Generic;using UnityEngine;[CreateAssetMenu(fileName = "SO_Upgrade_Table", menuName = "Table/SO_Upgrade_Table", order = 0)]public class SO_Upgrade_Table : ScriptableObject{ public List _upgradetable = new List(); const int MAXGRA..

[디펜스 게임 제작] 영웅 장착

이번 시간엔 영웅 장착 기능을 만들어 보겠습니다. 간단한 플로우- 영웅 인벤토리 슬롯 두번 클릭 -> 장착 팝업창 -> 원하는 위치 클릭 -> 그 위치에 장착- 장착을 진행할때 "유저 영웅 장착 정보" 데이터를 만들어 저장하여 게임 시작할때 해당 위치에 생성되도록 할 예정 유저 영웅 장착 정보 데이터using System;using System.Collections.Generic;[Serializable]public struct St_UserEquitHero{ public List _equipheroid; public List GetEquipHeroList() => _equipheroid; public void EquipHero(int heroitemid, int idx) { ..

[디펜스 게임 제작] 인벤토리 제작

이번 시간엔 인벤토리를 제작하려 합니다. 영웅 인벤토리 래퍼런스- 여기서 필요한건 승급과 능력치 표기, 이름, 스킬 정보 정도만 필요 기타 아이템 인벤토리 래퍼런스-기타 아이템들은 종료 상관없이 한곳에 몰아 넣고 갯수가 없어도 표기되도록 되어 있음 *기타 아이템 인벤토리와 영웅 인벤토리 UI의 경우엔 둘다 플로우 차트를 쓰지 않을 정도일 것 같아 제외하고 추후 승급 정도면 별도의 플로우 차트를 만들면 될 것으로 보입니다. 기타 인벤토리 UI 제작using System;using TMPro;using UnityEngine;using UnityEngine.UI;public class UI_Inventory_Sundry : MonoBehaviour{ [SerializeField] GameObject _s..