오늘 유니티 개인과제를 거의 마무리를 하고 제출을 했습니다.
밤에 잠이안와서 밤을 세워가며 만들어서 세부 선택사항을 모두 완성해서
정말 뿌듯했습니다. 앞으로도 최대한 선택사항들을 완성할 수 있도록 노력해보겠습니다.
카메라 따라가기
캐릭터가 움직이면 카메라가 따라가게 하는 방법은 많이 있지만 저는
MainCameraController 스크립트를 하나 생성하여 카메라에 스크립트를 할당합니다.
//MainCameraController.cs public class MainCameraController : MonoBehaviour { public Transform player; [SerializeField] float smooth = 0.2f; private void FixedUpdate() { Vector3 targetPos = new Vector3(player.position.x, player.position.y, this.transform.position.z); transform.position = Vector3.Lerp(transform.position, targetPos, smooth); } }
player의 트랜스 폼은 gameManager가 생성 될 때 mainCamera.player = player.transform; 으로 초기화를 시켜줍니다.
플레이어 위치가 변경된 후 카메라 위치가 변경되게 하기 위해서 Update()가 아닌 FixedUpdate()로 호출해주고 smooth 값으로 부 드럽게 캐릭터를 따라가도록 해줍니다.
캐릭터 만들기
외부 그림파일을 추가하여 2D 캐릭터를 추가
캐릭터 이동
키보드 A/W/S/D 를 이용하여 캐릭터가 움직입니다.
캐릭터는 마우스 방향을 바라봅니다. (좌/우)
방 만들기
타일맵을 이용하여 맵
카메라 따라가기
카메라는 움직임에 따라 캐릭터를 따라갑니다.
캐릭터 애니메이션 추가
이름 입력 시스템
실행시 글자를 입력을 받을 수 있는 UI 를 만듭니다. (2~10 글자 사이)
아니라면 Join 버튼이 눌리지 않습니다.
Join 을 누르면 맵으로 이동하여 캐릭터 위에 이름표가 나타납니다.
이름표는 캐릭터가 움직이면 따라 다닙니다.
캐릭터 선택 시스템
맵으로 들어가기 전 캐릭터가 표시되는 UI 가 나타납니다.
캐릭터를 클릭하면 캐릭터 선택 팝업이 나타납니다.
캐릭터를 선택하면 팝업이 닫힙니다.
선택했던 캐릭터가 표시됩니다.
참석 인원 UI
UI 는 캐릭터가 움직여도 화면에 고정됩니다.
화면 오른쪽에 현재 맵에 있는 사람의 목록을 보여줍니다.
x 버튼을 누르면 UI 가 꺼집니다.
화면 하단에는 파란색 UI 가 있고 참석인원 아래에 버튼을 부르면 목록이 다시 생깁니다.
인게임 캐릭터 선택
하단 메뉴 오른쪽에 캐릭터 선택 버튼을 만듭니다.
캐릭터 선택시 게임화면의 캐릭터가 바로 반영 됩니다.
인게임 이름 바꾸기
하단 메뉴 오른쪽에 이름 바꾸기 버튼을 만듭니다.
입력하면 캐릭터 위쪽 이름과 오른쪽 메뉴 이름이 변경됩니다.
시간 표시
12.NPC 대화
NPC에게 가까이 가면 대화 걸기 버튼이 생깁니다.
NPC에게 멀어지면 다시 버튼이 사라집니다.
버튼을 누른다면 대화가 시작됩니다.
09:00 ~ 10:00 : 알고리즘 코드카타
10:00 ~ 10:30 : 팀 회의
10:30 ~ 14:00 :
12시-1시: 점심식사
14:00 ~ 18:00
6시-7시: 저녁식사
19:00 ~ 20:00 : 집중 코딩 시간 부족한 부분 해결해보기
20:00 ~ 21:00: TIL 작성, 마무리 회고 진행
21:00 : 내일은 위한 휴식!