오늘은 쉬어가는 느낌으로다가
그동안 팀 프로젝트를 진행하면서 겪은 내용을 정리 해 보고자 합니다.
사실 글 상으로만 이번이 네 번째고,
더 많은 프로젝트를 하긴 했었습니다만..
평소 3D는 시도를 잘 안 해봐서
남겨야겠다는 생각으로 올렸습니다.
팀 프로젝트를 하면서 맡은 부분
- 맵 만들기
2024.11.01 - [유니티/3D] - 유니티 3D - 터레인(Terrian)에 대해 알아보자
- 엑셀 데이터 가져오기
2024.09.11 - [분류 전체보기] - 유니티 - '엑셀'과 연동 해보자#1 Excel-Importer 사용하기
건축 시스템 - 아래 참고 자료
확실히 글로 정리해 놓으니 필요할 때 찾아보며 도움이 많이 되어서 좋았습니다.
(전에 했음에도 기억나지 않는 부분도 꽤 있어서 헤맸지만 말이죠 ㅋ;;)
정리하고 보니 뭔가 많아 보이지만
실제로 결과물을 까보니 팀원분들이 더 많이 작업 하셨네요.
하면서 겪었던 문제
1. 플레이어 머리 위에 생성되는 문제.
RayCast를 검사 할 때 충돌하는 물체가 없으면
Ray의 시작 지점에 생성이 되는 문제였습니다.
팀원분들과 어떻게 할지 고민하다가
range 끝을 넘어가면 끝점으로부터 바닥을 계산하는 걸로 처리했습니다.
아래는 코드입니다.
// 처음 작성한 부분
if (Physics.Raycast(ray, out hitInfo, range, _layerMask))
{
if (hitInfo.transform != null)
{
Vector3 _location = hitInfo.point;
goPreview.transform.position = _location;
}
}
// Range 범위 동안 충돌이 없다면
// range 거리만큼 떨어진 지점의 땅을 계산
Vector3 rangeEndPoint = ray.origin + ray.direction * range;
// 그 지점에서 아래로 Raycast를 쏨
Ray downRay = new Ray(rangeEndPoint, Vector3.down);
if (Physics.Raycast(downRay, out RaycastHit downHit, 100f, _layerMask))
{
goPreview.transform.position = downHit.point;
}
else
{
// 아래로 쏜 Ray도 충돌하지 않을 경우의 처리
goPreview.transform.position = rangeEndPoint;
}
2. 중복 생성 문제 발생
UI를 액션에 구독하여 껐다 켰다 하도록 설정하는 과정에서
중복으로 들어가 발생한 문제였습니다.
이 부분은 이전에 수업에서 비슷한 이야기를 들은 적이 있어
금방 방법을 찾았고 다음과 같이 처리했습니다.
inventoryUI.OnUseEvent -= UseItem; // 먼저 해제
inventoryUI.OnUseEvent += UseItem;
혼자 진행할 때는 몰랐는데 합치고 테스트하면서
못 발견했던 오류를 발견하고,
팀원들과 이야기 나누는 과정에서 많이 배웠던 거 같습니다.
역시 직접 겪어봐야 하나 봅니다.
참고했던 자료
https://youtu.be/ZCf e0q8pg68?si=kQNjrwK-rRPZW9WQ
https://youtu.be/8duTsykRc_Q?si=-5s7an_yDNPhKwDv
좀 옛날 영상이긴 하지만 흐름을 이해하니
개인적으로 적용하는 데는 무리 없었습니다.
1부 내용 영상을 진행하다 보면
프리뷰 아이템?이 플레이어를 향해 돌진하는 문제를 겪으실 수도 있습니다.
댓글에서도 자주 언급되고, 저 또한 그랬었는데
Layer를 잘 못 설정해서 그런 거였습니다. ;;
이 부분에서 막혀도 2부 끝까지 보면
아마 이해하고 해결하는 데 도움이 될 겁니다.
'미니 프로젝트' 카테고리의 다른 글
유니티 - 드래그 드롭을 구현해보자 (0) | 2024.12.03 |
---|---|
유니티 프로젝트 : #3 2D TopDown 게임 (완) (1) | 2024.10.14 |
유니티 : 미니프로젝트 #2 - 2 우주 수박게임을 따라 만들어 보자 (완) (0) | 2024.09.06 |
유니티 - 미니프로젝트 #2-1 : 수박게임을 따라 만들어 보자. (0) | 2024.08.30 |
유니티 : 미니 프로젝트#1(완) - 낚시 게임을 따라 만들어 보자 (0) | 2024.08.28 |