전체 글 (38) 썸네일형 리스트형 Unity 19일차 TIL - Unity(InputSystem) Input System - 입력 행동들을 정리하는 시스템1. Input Action : 입력 행동을 정의한다. "이동", "공격" 등의 행동을 정의하고 트리거하는 키 또는 버튼을 지정할 수 있다.2. Input Action Asset : 여러 개의 입력 행동을 그룹화하는 방법.3. Player Input Component : 자동으로 입력 행동을 처리하고 해당 게임 오브젝트에 메시지를 보낸다. Input System을 사용하기 위해서는 Package를 추가해야된다.Window -> Package Manager -> Unity Register -> Input System -> Install Action Type : 입력을 어떻게 받을 것인지1. Value : 눌렀을 때, 누르고 있을 때, 뗄 때 등 다양한.. Unity 18일차 TIL - 팀 프로젝트 회고록 오늘은 2024.04.29 ~ 2024.05.07까지 진행했었던 TextRPG 구현이 끝나고, 발표를 하면서 마무리 하는 날이였다. 다른 조들의 발표를 보니 거의 모두가 클래스 설계, 플로우 차트, 와이어프레임 등 프로젝트를 시작하기 전에 굉장히 체계적으로 분배와 정리를 하고 있다는 것을 알게 됐었다. 우리 조는 서로 얘기하지 않아도 알아서 다들 기능을 하나씩 맡아서 구현해준 덕에 필수 요구 사항과 선택 요구 사항 구현이라는 공동 목표만 있었을 뿐, 체계적이게 프로젝트를 진행해봤으면 어땠을까 하는 아쉬움이 남는다. 이번에 발표 들어보면서 느꼈던건 확실히 관련 전공자 혹은 경험자가 있는 조와 그렇지 않은 조가 어느정도 구분이 되는 것 같다. 첫 프로젝트였고, 원래 조원들과 목표로 잡고 생각했던 대로 다 구.. Unity 17일차 TIL - 재귀 함수 (스택 관리) TextRPG 게임 플레이 도중 어떤 동작을 다 끝내고 마무리를 했을 때 생각지도 못했던 부분에서 다시 시작되는 경우가 생겼었다. 왜 그런건지 고민을 하다가 디버깅을 통해서 확인 해본 결과 호출 스택 관리 부분에서 함수가 계속 누적해서 쌓이는 것을 확인할 수 있었다. TextRPG를 구현 할 때 GameManager라는 class에서 MainMenu함수를 통해 구현한 다른 class에 접근을 하게 된다. 그렇다보니 함수를 제대로 끝내지 않고 다시 MainMenu 함수로 왔다 갔다 하거나, 아니면 처음 접근한 class에 계속 호출이 스택되는 현상이 생겼었다. 그래서 첫 호출을 했던 그곳으로 다시 돌아오도록 return;을 함수 끝에 넣어줘서 동작이 끝났을 때 첫 호출을 했던 지점으로 돌아오게끔 수정해서 .. Unity 16일차 TIL - 오류 해결 기존에 Class에 대한 개념을 잘못 이해하고 있었다.int i = 0;는 stack에 int i와 0이라는 데이터값이 들어가고 Class Test 일때 Test test1 = new Test();는 new Test()가 힙에 생성이 되고 그 주소값이 Test test1이 있는 스택 공간에 들어가게 된다. 그리고 이때 착각했던 것이 그냥 주소값만 가져온다고 생각했던 것이였다.바로 new Test()라는게 Test 클래스를 새로 만드는 과정이였다. 그래서 앞서 Test1과 Test2 클래스를 생성하고 각각의 클래스에서 서로 다른 클래스를 인스턴스화 시킨 뒤 Program 클래스에서 Test2 클래스를 새로 생성하게 되면 Test2 클래스의 객체를 생성할 때 Test1 클래스를 인스턴스화 시키는 부분이 실행.. Unity 15일차 TIL - 오류 (Class_Stack OverFlow) 팀 프로젝트 진행 2일차아이템의 사용되는 상점, 인벤토리, 장착관리 등을 만들고 포션을 만들고 있다. 만들다보니 Class에 대해서 제대로 이해하지 못하고 있는 것 같다.// Test1.csClass Test1{ Test2 test2 = new Test2(); public int ShopGold { get; }}// Test2.csClass Test2{ Test1 test1 = new Test1(); public int PlayerGold { get; }}// Program.csClass Program{ static void Main(string[] args) { Test2 test2 = new Test2(); // Stack OverFlow }}기존에 이해했었던 것은 클래스.. Unity 14일차 TIL - Github 본격적으로 팀 프로젝트를 시작하면서 Github를 제대로 사용하게 됐다. 아직 사용하는게 익숙하지 않아서 여러가지 상황들이 생겼었던 것 같다. 1. 병합 충돌murge를 할 때 보통 main branch를 기준으로 Dev branch를 만든 후 Dev branch를 기준으로 각자 팀원들끼리 사용하는 branch를 만든 후에 작업을 수행했다.작업을 수행 한 후 Dev branch로 merge하는 과정에서 여러 충돌들이 있었는데 그 이유는 동일한 cs파일을 수정해서 생기는 문제였다. 문제가 생기면 기존에 있던 Dev branch에 있는 파일을 사용할지, 아니면 내 branch에서 들고온 파일을 사용할지 정하게 되는데 이때 실수하게 되면 머리속이 복잡해진다.그렇기에 충돌이 발생하면 우선 팀원들과 상의한 후에 .. Unity 11일차 TIL - Func, Action Func와 Action은 델리게이트를 대체하는 미리 정의된 zenuric 형식이다.Func와 Action은 zenuric 형식으로 미리 정의되어 있어서 매개변수와 반환 타입을 간결하게 표현할 수 있다. 1. FuncFunc는 값을 반환하는 method를 나타내는 delegate이다.마지막 zenuric 형식 매개변수는 반환 타입을 나타낸다.ex) Func 이라면 int는 입력으로 받고, string을 반환하는 method를 나타낸다. 사용 예제)// Func를 사용하여 두 개의 정수를 더하는 메서드int Add(int x, int y){ return x + y;}// Func를 이용한 메서드 호출// int 2 개를 입력으로, 마지막 int는 반환타입Func addFunc = Add;int res.. Unity 10일차 TIL - 델리게이트(Delegate), 람다(Lamda) 1. Delegatedelegate는 method를 참조하는 타입이다.delegate를 이용하면 method를 매개변수로 전달하거나 변수에 할당할 수 있다. ex) 사용 예시delegate void MyDelegate(string message);static void Method1(string message){ Console.WriteLine("Method1: " + message);}static void Method2(string message){ Console.WriteLine("Method2: " + message);}class Program{ static void Main() { // delegate instance 생성 및 method 등록 MyDe.. 이전 1 2 3 4 5 다음