![개인 프로젝트 [MiniZep]](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F39Ihz%2FbtsA2vLiJDH%2FkaiKqbw70KOT5U50PYJOs1%2Fimg.gif)
개인 프로젝트 [MiniZep]게임 프로젝트2023. 11. 29. 09:55
Table of Contents
스프라이트 아웃라인

- NPC 일정 범위 내의 접근 시 아웃라인 효과 부여
- 셰이더 사용보다는, 간단하게 표현하는 게 낮다 판단하여 이미지 두 개를 덮어 씌어서 작업하였다.

- 기존 NPC와 똑같이 작동하는 SpriteRenderer와 Animator를 복사 생성한다.
- NPC 보다 스케일을 1.15배로 키우고 유니티 내에서 제공하는 셰이더인 GUI/Text Shader로 하얗게 표현
- 기존 이미지 보다 뒤에 있어야 되므로 sortingOrder 값을 하나 낮춘다.
대화창 연출

- NPC와 대화하기 버튼을 누를 시, 양쪽 사이드바가 사라지는 연출을 추가했다
- 양쪽이 그대로 있을 때, 다른 버튼 작동 제어를 구현 안 했는데 사라지는 연출을 추가해 주면서, 다른 버튼을 누를 필요도 없고, 자연스러움이 더욱 묻어나는 거 같았다.
Extensions.cs
// [DOTween] RectTransform X 좌표 움직임
public static void MoveSidebar(this RectTransform rectTransform, float movePosX)
{
rectTransform.DOLocalMoveX(movePosX, 0.4f);
}
// [DOTween] 텍스트 타이핑 연출
public static void TypingText(this TextMeshProUGUI tmproText, float duration)
{
float maxDuration = tmproText.text.Length * duration;
DOTween.To(c => tmproText.maxVisibleCharacters = (int)c, 0f, tmproText.text.Length, maxDuration);
}
- DOTween에서 제공하는 API를 활용해 간단하게 움직임 연출을 줄 수 있다.
기타 버그 수정
- NPC와 대화하기 버튼 생성 때, 유니티 실행 종료 시 Missing 또는 Null Error가 발생
- 임시로 해당 부분에서?. 연산자를 두어 Null 체크를 해두었지만, 아직은 임시방편
- 유니티 실행 종료 시 TriggerExit가 호출되는 것을 확인하여 추후 개선 작업 필요
Github 링크
GitHub - psw1305/MiniZep: 유니티 개인과제 프로젝트
유니티 개인과제 프로젝트. Contribute to psw1305/MiniZep development by creating an account on GitHub.
github.com
마무리
- 과제를 진행하면서 필수 부분과 선택 부분을 구현하는 파트가 있었지만, 다 구현하는 방향으로 잡고 시작하였다.
- 주말에도 작업을 하면서 진행하니까, 나름 시간적 여유를 가지고 있어서 기능 구현 부분에서 여러 가지 부분을 디테일하게 신경 쓸 수 있었다.
- 그래도 개인적으로는 코드가 정리가 안되어있고 통일성이 부족하다 느껴서, 리팩토링으로 코드를 수정해야 한다.
- 이제 팀과제에 돌입하게 되니 협업을 하면서 점차 개선해 나아가려 한다.
'게임 프로젝트' 카테고리의 다른 글
2D 퍼즐 RPG [P.P.R] (0) | 2024.05.28 |
---|---|
2D 방치형 [용력사무소] (0) | 2024.05.28 |
3D FPS [스파르타슈팅클럽] (0) | 2024.01.09 |
3D 퍼즐 [BUILD 2048] (0) | 2023.12.26 |
2D 로그라이크 [1500000000000의 번제] (0) | 2023.12.22 |