2024/10 36

2024 10 15 TIL

오늘 특강에선 객체지향에 대해 다루었습니다. 객체 지향에 대해 TIL에 생각을 조금 정리해보려합니다.  객체: 객체 오브젝트 여러가지 이름으로 부릅니다. 이 객체라는 것은 정의되어 있는 요소들을 통들어 말한다고 저는 생각합니다.  어떤 것을 정의한다는 것은 그 대상에 의미를 부여한다는 것입니다. 예를 들어 수박이라는 것이 과일이라는 분류가 되는 것도 누군가가 정의하였기에 우리가 그렇게 생각하는 것이고 여기서 객체라는 것도 우리가 의미를 부여한 모든 물체나 개념을 의미한다고 저는 생각합니다. 클래스: 클래스는 저희가 붕어빵 틀이라고도 많이 불렀습니다. 인스턴스와 묶어서 붕어빵 틀과 붕어빵이라고 많이 표현하시는데  그 이유는 클래스는 기능적으로 구현을 하도록 미리 만들어두고 인스턴스로 그 기능을 다하기 때문..

TIL 2024.10.15

2024 10 14 TIL

스탠다드 특강에서 배운 내용으로 TIL 을 적어보려 합니다. Virtual 과 Abstract(추상)  class 에 대하여 좀 더 확실히 알게 된 것 같아 먼저 정리해봅니다. 클래스 상속에서 쓰이는 Virtual 과 Abstract 는 상속하는 클래스에서 선언을 하고 상속받는 클래스에서override(재정의)를 합니다.   Virtual Virtual로 선언한 함수의 같은 이름의 override 함수가 있을 경우 같은 이름의 함수를 사용하더라도 파생 클래스의 함수가 사용됩니다. (없을 경우 Virtual의 함수가 실행) public class Job{ public virtual void Attack() { Debug.Log("막대기로 공격"); }}public class Worrior..

TIL 2024.10.14

유니티 인풋 필드(Input Field)

인풋필드란?Input Field 는 키보드나 터치패드를 이용하여 문자열을 입력할 때 상호작용을 목적으로 쓰이는유니티 오브젝트입니다. 주로 아이디나 패스워드를 입력하거나 채팅창등을 구현하기 위해 사용됩니다. 생성하는 방법 인풋필드를 생성하는 방법은 유니티의 Hierarchy 창에서 우클릭을 하여 생성할 수 있습니다.인풋필드를 생성할 때 TextMeshPro 와 일반 인풋필드를 볼수 있는데여기서 TextMeshPro는 포인트 크기가 변하거나 해상도가 변해도 글자가 깨지지 않는다는 특징이 있습니다. 또한 최적화가 잘되어있어 TMP가 유료였던 시절에도 기존의 텍스트 오브젝트보다 사용자들이 많이 찾았다고 합니다. 그래서 저도 한번 InputField - TMP 를 활용하여 과제를 해보자 마음 먹고 글을 정리해보려..

자료 관리 2024.10.12

2024 10 11 TIL

과제 제출기간이 얼마 남지 않은 관계로 간략하게만 TIL을 제출하려 합니다. 오늘 발생하였던 문제 사항은 코드적 문제라기보단 기술적인 문제가 많았던 것 같습니다.파일 탐색기의 오류로 인해 유니티의 파일이 정상적으로 지워지지 않는다던가 지금도 아래 사진처럼알림이 가운데서 사라지지 않아 좀 불편함을 겪고 있습니다.  원드라이브 용량이 가득차서 우클릭을 해도 먹통이 되어 눌리지 않는다던가 뭔가 뜻대로 풀리는 하루는 아니었던 것 같습니다.   오늘은 과제를 진행하면서 다른 자료들을 참고하여 카메라가 캐릭터를 따라 조작되게 하였습니다. 해당 방법은 카메라의 위치를 계속 플레이어가 있던 위치로 옮기면서 따라가게 합니다.   //카메라를 붙이는 대상 public GameObject player; //..

TIL 2024.10.11

2024 10 10 TIL

강의 진도를 나가며 이전의 코드들을 세분화하여 폴더를 만드는 것을 진행하였다.기능별로 폴더를 정리한 후 오브젝트에 연결된 스크립트들이 오류가 발생하여 찾을 수 없는 문제가 발생하였다.Reimport All을 사용하여 프로젝트내 모든 파일을 다시 불러오기하여 문제가 해결되었다.강의를 진행하며 느낀점은 알 것 같으면서도 모르겠는? 그런 느낌이다. 여러번 돌려보면서도 이해가 안되는 부분이 많고검색과 질문을 통해 조금씩 이해해가는 중이다.내일 할일을 미리 정해두자면 강의 진도 13강까지 그리고 개인과제 진도나가기 정도로 생각해두고있다.

TIL 2024.10.10

캐스팅 연산자 as

강의를 시청하다 as 연산자를 처음 봐서 이해가 안되어 정리해보는 시간을 가지게 되었습니다. 먼저 찾아보려던 as 연산자에 대해 알아보다 캐스팅 연산자라는 개념을 알게 되었습니다.캐스팅 연산자라는 것은 상속관계의 클래스간에 형변환이 필요할 때 사용합니다. as라는 키워드도 상속관계의 클래스의 형변환 여부를 알아보기 위해 사용하는 듯 합니다. 강의를 들으며 작성한 코드의 일부를 가져왔습니다.[대충 어택SO의 매개변수를 받는 함수](AttackSO attackSO){ RangedAttackSO rangedAttackSO = attackSO as RangedAttackSO; if (rangedAttackSO == null) return; . . . } 해당 코드 RangedAtta..

자료 관리 2024.10.10

2024 10 08 TIL

오늘 한 것은 9강까지 강의 진도를 나갔고 질문을 통해 델리게이트를 사용하는 원리와 개념을 익혔습니다.  아직도 적절하게 써보라고 한다면 분명 술술 쓴다하진 못할 것 같기에 Debug.Log 를 통해 어디서부터 동작하는 지 하나하나 살펴보며 익히는 것이 답인 듯 합니다. 질문을 하는 것도 좋지만 결국 나 자신이 먼저 이것을 스스로 해봐야 한다고 생각하여 하루종일 같은 코드를 좀 많이 굴려본듯 합니다. 이제 화살이 발사되었을 때 도전과제를 좀 더 생각해보고 완성시켜보려합니다. 과제 상황은 일단 강의 내용을 인용하여 캐릭터를 움직이고 마우스 커서를 따라가게 하며 기본적인 맵의 구성을 마친 상태입니다.다음에 할 것은 카메라가 플레이어의 이동에 따라 시점이 같이 움직이는 것 부터 할듯합니다.  공휴일동안 쉬는 ..

TIL 2024.10.08

델리게이트, Event

델리게이트는 메서드를 변수처럼 저장하여 사용하기 위한 사용법입니다. 함수의 복사본을 받아넣어 사용하는데 델리게이트로 선언한 반환형과 매개변수가 같아야만델리게이트에 전달이 가능합니다.델리게이트는 델리게이트에 들어가는 메서드의 반환형과 매개변수가 같아야하는 특징이 있습니다. [기본 구조]delegate 반환형 이름(매개변수)delegate int Calculation(int i)[델리게이트 변수 선언]public int Add(int x, int y) 라는 메서드가 있다면델리게이트이름 변수이름 = new 델리게이트이름(Add); //델리게이트에서 Add를 참조를 한후 선언Calculation addCal = new Caculation(Add);[델리게이트를 호출하여 참조한 메소드 호출]int result ..

자료 관리 2024.10.07

2024 10 07 TIL

새로운 주차를 시작으로 Unity 부문의 발제가 되었습니다.  유니티를 만져보는 것도 2주만이고 제가 첫 프로젝트 때 어려움이 많았어서 걱정이 좀 많이 되는 편입니다.일단 오늘 배운 것은 InputSystem을 다루는 것과 InputSystem의 send Message를 기반으로 코드를 작성하는 것을 배웠습니다.이전 주차때 델리게이트에 대해 확실히 알고넘어간 것이 아니기 때문에 이와 관련해서 질문을 드리고 어느정도 개념을 알은 것 같기에 오늘 TIL은 간략히 마치고 알게 된 내용을 정리해보려합니다.

TIL 2024.10.07

Send Messages

Input System 의  Send Message 기능에 대해 정리해본다.  Send Message는 미리 설정한 Input System의 특정키 값이 들어오면 특정한 함수를 자동으로 호출하는 방식이다. 비슷한 형식의 Broadcase Message를 사용하면 하위 계층의 오브젝트까지 제어가 가능하다. 이 특정한 함수들의 이름은 미리 만들어둔 Actions 의 이름을 차용하며On + Actions의 이름을 사용하게 된다. Send Message로 설정해두었다면 친절하게 사용할 수 있는 키워드를 밑에 출력해준다. 밑은 그 함수의 예시이다.  매개변수로 InputValue 즉 받은 값을 사용하여 그에 해당한 로직을 만들면 될것이다.public void OnMove(InputValue value){}

자료 관리 2024.10.07