내일배움캠프 (Unity_8기) TIL 18일차

2023. 9. 5. 20:53내일배움캠프 Unity

오늘 학습한 것

- 코드카타

- 게임개발 입문 개인과제 : 스파르타 타운 만들기 (필수 요구사항)

 

0. 코드카타 : 하샤드 수 / 두 정수 사이의 합

1. 캐릭터 만들기

2. 캐릭터 이동

3. 맵 구성

4. 카메라 따라가기

 

0. 코드카타 : 하샤드 수 / 두 정수 사이의 합

 
 

하샤드 수란 x의 자릿수의 합으로 자기 자신(x)이 나누어지는 수를 뜻한다.

첫 번째 문제는 입력받은 정수값을 문자열로 변환 후 foreach문을 통해 sum에 모든 자릿수의 합을 대입하고 자기 자신을 sum으로 나누었을때 나누어 떨어지는지를 검사하였다.

 

두번째 문제는 입력받은 두 정수의 합을 구하는데 두 정수의 대소관계를 모르는 상태이다.

때문에 a가 클 때와 b가 클 때의 상황을 각각 지정해주었으며 작은수가 큰 수가 될때까지 sum에 더하고 작은수를 1씩 증가시킨다.

 

1. 캐릭터 만들기

캐릭터 및 타일 스프라이트 등 이미지는 에셋 스토어를 이용하였다.

[사용한 에셋] 

https://assetstore.unity.com/packages/2d/characters/top-down-2d-rpg-assets-pack-188718

 

Top-Down 2D RPG Assets Pack | 2D 캐릭터 | Unity Asset Store

Elevate your workflow with the Top-Down 2D RPG Assets Pack asset from Goldmetal. Find this & more 캐릭터 on the Unity Asset Store.

assetstore.unity.com

 

 

2. 캐릭터 이동

    입력을 받아 해당하는 방향으로 이동하는 메소드. InputAction에서 설정한 값과 연계되어

    w : 위, s : 아래, a : 왼쪽, d : 오른쪽의 방향값을 얻는다.

    현재 대각선 움직임을 허용했지만 허용하지 않는편이 어울릴것이라 생각됨

     => w, s 가 눌려있을때 a, d가 적용되지 않도록 처리

 

3. 맵 구성

    UI - 2D - Tilemap 오브젝트를 생성하고 타일처럼 찍어낼 이미지 파일을 가져온 후 브러쉬로 사용.

    주변 구조물을 생성하고 구조물에도 Collider를 적용해 부딪혔을 때 통과하지 못하도록 하였음.

    맵을 제작하며 Animation Tile, Rule Tile, Pixel Perfect Camera의 기능을 익혔다.

 

4. 카메라 따라가기

    현재는 Unity 내에서 Player 오브젝트 안에 MainCamera를 자식으로 넣어서 구현하였음.

    이후 플레이어 위치를 받아와 카메라의 위치를 설정하는 코드를 작성할 것.

 

이후 계획

    1. 튜터님 캐릭터 추가

    2. 캐릭터 애니메이션 추가(Idle, Walk)

    3. 이름 입력 시스템 - Main Scene 입장 전

    4. 캐릭터 선택 시스템 - Main Scene 입장 전

    5. 참석 인원 UI - 버튼을 누르면 현재 온라인인 사람들의 이름이 나열됨

    6. 인게임 캐릭터 선택 - 버튼을 누르면 선택 가능

    7. 인게임 잉름 바꾸기 - 버튼을 누르면 입력창 나오게

    8. 현재 시간 표시하는 UI

    9. NPC와 대화 - NPC에게 가까이 가면 대화걸기 버튼 생김, 버튼을 누르면 대화 시작

 

 

!최종 결과물!