Unity 53

unity gradle build failed

The attribute property#android.adservices.AD_SERVICES_CONFIG@resource=@xml/gma_ad_services_config in cohttp://m.google.android.gms:play-services-measurement-api:22.1.2 collides with another value 여러가지 plugin을 프로젝트에 추가한 후 빌드를 했는데, 위의 메시지가 뜬다면버전 충돌에 의한 오류가 발생했다는 것입니다. - 저는 firebaseAuth, Google sign in, Google Mobile Ads을 추가한 상태였습니다. 해결방법Project Settings -> Player -> Custom Main Manifest를 체크하여 Andr..

Unity 2024.12.19

유니티 구글 플레이 업적 시스템, 리더 보드

구글 플레이 콘솔에서  Play 게임즈 서비스 -> 설정 및 관리 -> 업적 클릭하면 업적 만들기를 할 수 있습니다.  리더보드의 경우에는 업적 아래의 리더보드를 클릭하여 생성 가능합니다.  이렇게 생성된 업적과 리더 보드를 유니티 프로젝트에 적용시키기 위해서는 해당 리소스가 필요합니다. 설정 및 관리 -> 설정으로 가서 사용자 인증 정보의 리소스 보기를 클릭하여 코드들을 복사합니다. 유니티 프로젝트로 가서 window -> google play games -> setup -> Android setup을 클릭 이후 뜨는 창에 붙여넣어준 후 setup 버튼을 클릭하면 유니티 코드에서 구글 업적으로 접근이 가능해집니다.  public void AddClickCnt() { clickCount.text = c..

Unity 2024.10.27

NPC 대화, 퀘스트 시스템

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

Unity/기록 2024.09.02

유니티 퀘스트 설계 아이디어 (ScriptableObject)

퀘스트는 정말 여러 유형이 있습니다.기본적인 몬스터 사냥, 아이템 획득, NPC와 대화 퀘스트 뿐만 아니라강화를 몇번 하라는 퀘스트, 인벤토리를 열어보라는 퀘스트, 공격을 해보라는 퀘스트 등상상도 못할만큼 많은 종류의 퀘스트가 있습니다. 이러한 모든 종류의 퀘스트에 대해서 script를 작성하고퀘스트를 이행했는지 하나하나 체크한다면 굉장히 복잡하고script를 설계하는 부분에 있어서 굉장히 어려울 것 입니다. 하지만 퀘스트를 만드는 것을 반대로 생각해보면 접근이 굉장히 쉽습니다.각 퀘스트에 id를 부여하고 해당 동작(강화, 인벤토리 오픈 등)이 실행될 때 퀘스트 매니저에 실행을 알립니다.그러면 퀘스트 매니저에서 해당 id를 가진 퀘스트를 찾고 업데이트(횟수를 ++)해주면퀘스트별 script를 따로 작성할..

Unity 2024.07.07

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

Unity Instantiate

Unity - Scripting API: Object.InstantiateThis function makes a copy of an object in a similar way to the Duplicate command in the editor. If you are cloning a GameObject you can specify its position and rotation (these default to the original GameObject's position and rotation otherwise). If youdocs.unity3d.com 유니티의 Instantiate 함수를 이용하여 Prefab을 생성할 수 있습니다.이 때 제네릭을 이용하여 함수를 호출 할 수도 있고 제네릭을 사용하지 않..

Unity 2024.06.11

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