캐릭터 이름 표시
예전에도 많이 해왔던 방식으로 플레이어에 canvas를 추가하여 하위에 배경이미지와 PlayerNameText를 만들어 준뒤 유니티에서 오브젝트를 연결해준다.
시간 표시
간단하게 TimeText 오브젝트를 만들어 준뒤 TimeController.cs에서 DateTime.now.Tostring으로 현재 시간을 표시해준다.
카메라이동
카메라 이동은 Player하위에 메인카메라를 넣어주면 되는데 InputController.cs를 작성하면서 코드로 아래와 같이 작성을 하였었다.
이번에 스탠다드반 세션에서 배운 내용을 토대로 생각해 보면 Struct구조인 Vector3에서 값형 데이터를 계속 생성해서 카메라 위치에 복사하여 넣어주는 것은 메모리적으로도 낭비이고 가비지도 많이 생성 될 것 같다.
게임도중 이름, 캐릭터 변경
기존 스타트화면에서 작성된 함수들을 재사용하면 되기 때문에 생각보다 어렵지 않았다.
우전 메인 화면 UI를 구성하고 예전에는 하나로 구성되어있던 캐릭터 선택과 이름입력을 나누어 작성하면 된다.
캐릭터를 선택하는 팝업셋캐릭터와 이름을 입력받는 팝업리네임을 나누어 작성하였다.
NPC대화기능 만들기
당시에는 생각나는 방법이 NPC주면에 투명한 원을 하나 그리고 해당영역에 트리거를 설정하여 Player가 트리거 영역안에 있는 경우 팝업창을 띄우는 방식이었다.
지금 생각해보면 레이케스트를 쏘는 방법도 적용이 가능할 듯 하지만 일정 거리안에 들어오는 경우 대화가 가능하다는 내용을 생각해보면 트리거 형태로 구성하는게 완성도가 더 높았을 것 같다.
과제는 아니지만 재미로 구현한 내용
대사를 생각하다 그냥 개그요소가 좀 있었으면 좋겠어서 질문을 하게되면 학생은 관심병사로 등록되고 매니저님들과 튜터님의 집중관리를 받는다.라는 설정을 집어넣어 튜터님에게 질문 시 지속적으로 TIL요정과 과제제출몬이 등장하여 Player를 추격하도록 만들었다.
튜터님의 그림자도 밟지 말라는 말이 있어 차마 공격기능은 구현하지 못했다.