전체 글 149

2024 10 08 TIL

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

델리게이트, 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 TIL

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

Send Messages

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

ArcTangent(아크 탄젠트)

삼각함수는 삼각형의 각도를 이용하여 각 변의 비율을 구하는 함수를 의미함탄젠트는 밑변과 높이 사이의 각도를 이용해  밑변과 높이의 비율을 구하는 것을 의미함 그렇다면 아크 탄젠트는 무엇인가아크 탄젠트는 역삼각함수라고도 부릅니다.  즉 각도를 이용해 비율을 구했던 삼각함수의 역순으로비율을 통해 각도를 구하는 것을 말합니다.  유니티에서 아크탄젠트를 이용한다고 하는데 이것을 활용한다면 x축과 y축의 비율을 활용하여 각도를 구하는 것을 의미합니다 Atan2 함수란?     아크탄젠트를 사용하는 개발자들이 개발자들의 편의를 위해 만들 함수이다.   private void RotateArm(Vector2 direction){ float rotZ = Mathf.Atan2(direction.y, directi..

카테고리 없음 2024.10.07

(Unity 2D) 기본 컴포넌트

유니티에서 컴포넌트란유니티에서 의미하는 컴포넌트는 유니티에서 제공하고 있는 어떠한 기능을 가지고 있는 모듈들을 뜻합니다. 오늘 정리할 내용은 기본적으로 사용되는 기능의 컴포넌트에 관한 내용으로 앞으로 자주 쓰게될 것 같아 정리해두려합니다. SpriteRenderer SpriteRenderer는 2D 이미지를 표현해주는 컴포넌트입니다. Sprite 항목에 이미지를 집어넣어 오브젝트의 이미지를 변경할 수 있고Color 항목은 이름 그대로 오브젝트의 색상을 변경합니다.Flip 항목은 오브젝트의 X Y 각각 좌우 상하 반전을 시킬수 있습니다.Sorting, Order  in Layer 항목으로 화면으로 보여지는 우선순위를 정해줄 수 있습니다.   Rigidbody 2D  Rigidbody2D는 2D 게임에서 유..

2024 10 04 TIL

이번주 마지막 TIL 입니다. 팀 과제를 마치면서 피드백할 항목과 주말에 따로 학습해볼 항목을 적어두려 합니다. 먼저 피드백할 항목은 꼭 우리 팀의 피드백이 아니더라도 해당하는 내용을 적어봅니다.1. 깃 컨벤션이나 코드 컨벤션 통일 이번 과제를 진행하면서 서로 컨벤션을 미리 통일하지 않고 진행하였기에 사전에 미리 합의를 하고 진행하여야 했다고 생각합니다.  다른 팀의 노션을 봤을 때도 미리 합의를 하고 진행하였기에 이후 팀 과제를 할 때는 꼭 알아두어야 합니다. 2. 반복되는 기능을 메소드화하는 연습 이번 팀과제를 진행하면서 한 스크립트에 900줄이 넘는 양의 분량이 들어가기도 하는 등 여러 요소가 눈에 밟혔습니다.클래스를 구분하기 전에 먼저 메소드를 활용하여 불필요한 코드를 줄여나가는 것이 먼저인듯 합..

2024 10 02 TIL

협업하는데 있어 느낀 점으로 말하자면 결국 방향성을 잡는 사람이 한명 쯤 필요하다는 것입니다.그런 점에서 있어 이번에 제가 팀장을 맡았기에 스스로 피드백해보자면 자격 미달인듯 합니다. 왜 그런가? 이유는 저 스스로 배운 과정에 대해 잘 안다고 생각하지 않았기 때문인 것 같습니다. 그렇기에 스스로 의견을 내기가힘들었고 팀 프로젝트에서 아쉬운 점이 많았던 것 같습니다. 결국에 개발자를 한다는 것은 여러 사람들과 소통을 해야합니다.  소극적인 팀장 밑에 있다면 소극적인 결과물이 나올 뿐이고 못하더라도 그냥 부딪혀보는게 맞았나 싶긴합니다. 다음 기회가 온다면?저는 이번 C# 과정을 진행하며 과제를 함께 진행함에 어려움을 느낀 사람 중 한명입니다.  강의 내용을 통한 학습은 그 분야의 전문가가 자신의 생각을 말해..

C# 코딩 스탠다드

프로그래머끼리 이름을 어떻게 작성할 것인지 약속한 것을 코딩 스탠다드라고 부릅니다.일을 한다면 혼자서 일을 하는 케이스가 아니라면 익혀두어야 하기에 배우는 과정에서 쓰이는 요소만 적어둡니다.(추후 추가 예정)camelCase 카멜 케이스 앞글자는 소문자 중간 글자 대문자PascalCase 파스칼 케이스 앞, 중간 다 대문자현재 저의 단계에선 camelCase , PascalCase 두 종류만 사용합니다. 클래스 클래스와 메서드의 표기는 파스칼 케이스 public class Character{ public void CharacterMove() { } public void CharacterJump() { }} 변수 이름 함수 내에서 쓰이거나 public..

2024 10 01 TIL

오늘은 팀 내에서 자체적으로 알파테스트를 시행해보며 어떤 부분이 미흡한지 어떤 부분에서 기능이 정상적으로 실행되지 않는지 확인해보는 과정을 진행하였습니다. 다 합쳐서 실행해보니 생각보다 많은 부분에서 생각치도 못한 결함이 발생하였고 수정하면서 생긴 오류나 GIT 을 사용하면서 외부적인 문제도 발생하기도 하였습니다. 대체 공휴일이긴 했지만 열심히 공부하였다고 생각하였기에 의미 있었다고 생각합니다.