반응형

Unity/기록 12

NPC 대화, 퀘스트 시스템

캐릭터가 특정 위치에 들어서면 자동으로 대화가 시작되게 만들었습니다.플레이어의 응답 버튼에 상태를 만들었고 퀘스트 받기 상태인 응답을 선택하면 퀘스트가 등록됩니다   대화가 가능한 NPC와 가까워지면 상호작용 키를 눌러서 대화를 할 수 있습니다.NPC는 현재 상태에 따라 다른 아이콘을 띄우게 만들었습니다. ! -> 퀘스트 대기 상태? -> 퀘스트 완료 상태... -> 퀘스트 진행 중 상태 선행 퀘스트의 개념을 적용시켰습니다.선행 퀘스트가 완료되지 않았다면 퀘스트를 진행할 수 없도록 하였고 퀘스트 상태를 체크하는 script를 따로 작성하여퀘스트기 특정 상태가 되면 Cinematic 재생, NPC와 몬스터 생성과 같은 로직으로 이어질 수 있게 했습니다.   JustKnight/Assets/Scripts/N..

Unity/기록 2024.09.02

NPC 대화창 구현

NPC와의 대화 시스템을 구현했습니다.  JustKnight/Assets/Resources/dialogues/npc_01/quest_01.json at main · znlsnel/JustKnight2D Unity Project. Contribute to znlsnel/JustKnight development by creating an account on GitHub.github.comJson을 이용하여 모든 대본을 쉽게 관리할 수 있게 하였습니다.  Dialogue Handler JustKnight/Assets/Scripts/UI/DialogueHandler.cs at main · znlsnel/JustKnight2D Unity Project. Contribute to znlsnel/JustKnight ..

Unity/기록 2024.06.22

상호작용 기능 구현

NPC와 상호작용하는 기능을 구현하였습니다. NPC Manager  JustKnight/Assets/Scripts/NPC/NpcManager.cs at main · znlsnel/JustKnight2D Unity Project. Contribute to znlsnel/JustKnight development by creating an account on GitHub.github.comNPC와 캐릭터가 근접해지면 상호작용을 관리하는 script에 상호작용 Action을 저장하게 하였습니다.private void OnTriggerEnter2D(Collider2D collision){ if (collision.gameObject.GetComponent() == null) return;..

Unity/기록 2024.06.22

인벤토리 기능

인벤토리 간단한 기능을 구현했습니다.아이템을 습득하면 아이템 ID를 입력받고 인벤토리 슬롯에 아이템의 ID가 저장됩니다.  JustKnight/Assets/Scripts/UI/InventoryManager.cs at main · znlsnel/JustKnight2D Unity Project. Contribute to znlsnel/JustKnight development by creating an account on GitHub.github.comprivate void Awake() { _tempSlots.GetComponent().enabled = false; _tempSlotText = _tempSlots.transform.Find("text").GetComponent(); _te..

Unity/기록 2024.06.13

Item System 구현

몬스터가 Item을 떨어뜨리고 줍는 기능 구현했습니다.   JustKnight/Assets/Scripts/Objs/ItemManager.cs at main · znlsnel/JustKnight2D Unity Project. Contribute to znlsnel/JustKnight development by creating an account on GitHub.github.comItem을 관리하는 ItemManager Script를 만들었습니다. public class ItemManager : Singleton{ [SerializeField] GameObject _itemObjPrefab; private ObjectPool _itemObjPool; public override void A..

Unity/기록 2024.06.08

유니티 프로젝트 기록 - Monster

몬스터 로직을 구현했습니다.  JustKnight/Assets/Scripts/MonsterController.cs at main · znlsnel/JustKnight2D Unity Project. Contribute to znlsnel/JustKnight development by creating an account on GitHub.github.com Idle, Move, Attack 3개의 상태를 이용해서 애니메이션을 구현하였고현재 몬스터가 플레이어를 쫓는 상황인지를 체크하여 로직을 다르게 하였습니다. 몬스터 공격 로직의 경우 플레이어의 Hit함수를 실행하도록 하였습니다. JustKnight/Assets/Scripts/PlayerController.cs at main · znlsnel/JustKnig..

Unity/기록 2024.05.13

Unity 2D 배경 움직임

유니티 2D 배경 애니메이션여러 레이어로 배경을 구성하고레이어의 zOrder 별로 속도를 다르게 해서 카메라를 따라가게 하였습니다.flrjtwjrjt.tistory.com  배경 처음 만들때 멀리 있는 배경 레이어가 카메라를 따라오게 하여직교투영이지만 원근투영으로 보이게 만들었습니다. 근데 생각해보니까 원근투영처럼 만드는게 목적이면 그냥 원근 투영으로 하면 될거같아서 수정했습니다.  그리고 배경 레이어를 반대로 사용했어서 수정했습니다.

Unity/기록 2024.05.05

유니티 Fade In Out 효과

Fade In Out을 만들었습니다.Panel UI를 이용하였고 애니메이션의 color alpha 값 조정으로 구현하였습니다.  JustKnight/Assets/Scripts/GameManager.cs at main · znlsnel/JustKnight2D Unity Project. Contribute to znlsnel/JustKnight development by creating an account on GitHub.github.com Fade In Out은 항상 쓰이는 효과이기 때문에 Singleton으로 구현한 GameManager에서 관리하도록 하였습니다.[SerializeField] GameObject _fadePanelPrefab; GameObject _fadeCanvas;FadePanel..

Unity/기록 2024.05.05

GameManager 구현

Singleton으로 만든 GameManager를 이용해서 스테이지를 넘나들 수 있게 만들었습니다.  JustKnight/Assets/Scripts/Singleton.cs at main · znlsnel/JustKnight2D Unity Project. Contribute to znlsnel/JustKnight development by creating an account on GitHub.github.comSingleton 코드   JustKnight/Assets/Scripts/GameManager.cs at main · znlsnel/JustKnight2D Unity Project. Contribute to znlsnel/JustKnight development by creating an accoun..

Unity/기록 2024.05.04
반응형