디버깅이란?디버깅은 소프트웨어 개발 과정에서 발생한 오류나 버그를 찾아 수정하는 작업을 의미합니다. 코드가 예상한 대로 동작하지 않거나 프로그램이 비정상적으로 종료될 때, 문제의 원인을 파악하고 수정하기 위해 디버깅을 수행합니다. 디버깅 과정은 일반적으로 다음과 같은 단계를 포함합니다:1. 오류 재현: 버그가 발생한 상황을 재현해 문제를 확인합니다.2. 원인 분석: 코드를 분석하여 오류의 근본 원인을 찾습니다.3. 수정: 문제를 해결할 수 있는 코드를 수정합니다.4. 검증: 수정한 코드가 정상적으로 동작하는지 확인합니다.디버깅 도구(디버거)를 사용하면 변수 값을 실시간으로 확인하거나 코드의 특정 지점에서 프로그램 실행을 멈추고 상태를 점검할 수 있어, 문제를 해결하는 데 도움이 됩니다. 디버깅 하는 방법..
새로 쓰게 된 이유 전에 쓴 글을 보고 나중에 저 글을 보면서 구현하라고 하면 과연 똑같이 할 수 있을까? 란 생각과 그 방식으로 구현하게되면 추후에 더 많은 기능들을 구현했을때 다른 오브젝트들과 상호작용에 있어서 제대로 돌아갈 수 있을까? 란 생각이 많이 들었다. 프로젝트 코드이기도 했고, 내가 생각했던 인벤토리 형식이 아니였어서 이번엔 완전히 RPG게임의 인벤토리와 같은 기능을 구현해보았고, 나중에도 보고 따라 만들 수 있도록 상세하게 쓰고싶었다. 나는 로스트아크의 인벤토리를 참고해서 얼추 만들어보았다. 우선 내가 생각한 인벤토리이다. Panel이 총 3개(원정대, 개인, 소지품)으로 있고, 개인창고와 소지품은 또다시 2개의 Panel이 들어간다. 첫번째로는 위에 소지품 텍스트가 들어가있는 Panel..
목차 키 입력 설정 기능이란? 스크립트(코드) 및 설명 결과 1. 키 입력 설정 기능이란? 다들 게임을 하다보면 디폴트로 박혀있는 키 입력들이 있죠? 제가 즐겨하는 로스트아크의 설정에 단축키 기능인데요. 프로젝트로 게임개발을 하는데 단축키 설정기능을 구현을 해야해서 로아를 키고 어떤 기능이 있나 이렇게 켜보았습니다. 로직을 보니 저 키입력을 한번 누르고 바꿀 키로 다시 눌러주면 해당 기능이 바꾼 키로 작동하도록 되어있더라구요. 그래서 그런 기능이 있나 구글링 하면서 찾아보고 구현에 성공해서 공유해드리고자 합니다. 2. 스크립트(코드) 및 설명 KeyManger.cs using System.Collections; using System.Collections.Generic; using UnityEngine;..
2D 유니티로 만드는 게임의 인벤토리 및 아이템 습득 전 글에 이어서 이번엔 인벤토리를 만들어보겠습니다. 1. 인벤토리를 위한 Panel추가 판넬을 추가하고 대충 보기좋게 설정해줍니다. 그리고 저희는 인벤토리의 배경과 Slot들을 가지런히 놓기위한 Gid Layout Goup을 추가하여 이렇게 설정해줍시다. 대충 설정해보시면 금방 이해됩니다. 그리고 밑에 Inventory스크립트를 추가해줍니다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class ItemInventory : MonoBehaviour { public static ItemInventory instance; public ItemSl..
2D 유니티로 만드는 게임의 인벤토리 및 아이템 습득과 사용 제가 프로젝트로 2D 게임을 만들고 있는데, 그 중에 저는 UI담당과 아이템을 맡아서 하고 있습니다. 그 외에도 더 많지만 아무튼 이번엔 아이템에 관련한 구현방법을 알려드리려 합니다. 이걸 구현하려고 구글에 이것저것 검색해보고 유튜브에도 검색해보며 찾아봤지만 저같은 초보개발자들이 처음으로 이걸 하려하니 어떻게 해야할지 봐도 모르겠더라구요 그래서 초보개발자인 제가 간단한 방식의 아이템 습득과 인벤토리를 구현한 글을 쓰려합니다. 우선 아이템오브젝트 구현과 습득먼저 쓰고 차근차근 알려드리겠습니다. 1. 아이템 오브젝트를 만들어보자 제가 만들고 있는 프로젝트의 모습입니다. 여긴 그냥 테스트용 씬이라 괜..찮...을겁니다.. ㅇㅅㅇ 우선 에셋이 있다면 ..
유니티에서 Scene 관련 함수를 사용시에는 using UnityEngine.SceneManagement; 유니티에서 제공하는 SceneManagement 라이브러리를 작성합니다. 이제 씬 전환마다 호출되는 함수적용을 위해 Start() 함수에 아래와 같은 코드를 작성해줍니다. void Start() { SceneManager.sceneLoaded += OnSceneLoaded; } 이제 씬 전환될때마다 호출되는 함수인 OnSceneLoaded()를 써줍니다. void OnSceneLoaded(Scene arg0, LoadSceneMode arg1) { } 위 코드는 Start()함수에 작성한 SceneManager.sceneLoaded += OnSceneLoaded; 이 없으면 작동하지 않는 것 같습니..
유니티에서 Scene 관련 함수를 사용시에는 using UnityEngine.SceneManagement; 를 먼저 코드 위에 라이브러리 사용을 해줍니다. 특정 씬으로 이동하고 싶다면 SceneManager.LoadScene("이동할씬이름"); SceneManager가 제공하는 LoadScene 메소드를 통해 특정 씬으로 이동할 수 있습니다.
유니티 PNG 슬라이스 하기 목차 1. PNG 사진 선택 2. Slice 설정 3. 직접 하나씩 자르기 4. 늘려도 안 깨지게 하기 1. PNG 사진선택 이렇게 뭉쳐있는 사진들을 각자 하나씩 빼내기 위해 slice를 해봅시다. 2. Slice 설정 이렇게 설정을 시켜주신 후 Sprite Editor를 눌러줍니다. Sprite Editor 화면에 왼쪽 위에 Slice를 누르시면 이런 설정창이 나옵니다 - AutoMatic : 자동으로 인식해서 잘라줌 - Centor : 중심 기준 이렇게 하시면 화면에 사진들이 흰 테두리로 각자 잘린 것을 볼 수 있습니다. 왼쪽 위에 slice가 제대로 안되어 아직 뭉쳐있는 사진들이 있습니다. automatic으로 해놔서 인식이 제대로 안되어 slice가 잘 안 된 것 같습..
에셋 스토어에서 먼저 에셋을 구매해 줍니다. 이렇게 에셋 스토어에서 에셋을 구매하셨다면 [내 에셋]에 가시면 이렇게 unity에서 열기를 누르실 수 있습니다. Package Manager가 뜨고 적용시킬 에셋을 DownLoad 시킨 후 import를 누르게 되면 오른쪽 창이 나오게 됩니다. 그 후 import를 시키면 해당 에셋의 이름을 가진 폴더가 Assets 폴더에 생성되며 sprite에 png로 저장되게 됩니다. 이렇게 되셨다면 에셋은 적용된 것입니다.