오늘은 TileManager 에서 배치하는 타일들이 원점이 타일 한쪽 끝에 있었던걸 중심을 기준으로 퍼져나가게 해주었고 Map > grid 하위의 오브젝트에 생성되는걸로 수정해주었다.
public void SetLockTileMap()
{
// 그리드 중심으로부터 범위를 계산
int halfGrid = gridCount / 2;
// 반복문의 범위를 (0 ~ gridCount-1)에서 (-halfGrid ~ halfGrid)로 변경
for (int x = -halfGrid; x <= halfGrid; x++)
{
for (int y = -halfGrid; y <= halfGrid; y++)
{
// 제외할 타일 목록, excludedCells에 있는 좌표도 중심 기준으로 조정해야 할 수 있음
Vector2Int cell = new Vector2Int(x, y);
// excludedCells의 좌표 시스템에 맞게 변환 필요
Vector2Int adjustedCell = new Vector2Int(x + halfGrid, y + halfGrid);
if (excludedCells.Contains(adjustedCell))
continue; // 제외된 영역은 스킵
Vector3Int gridCell = new Vector3Int(x, y, 0);
Vector3 worldPos = grid.CellToWorld(gridCell);
Vector3 addjustedPos = new Vector3(worldPos.x, 0f, worldPos.z);
Instantiate(lockTileObj, addjustedPos, Quaternion.identity, lockTileBlock); // 프리팹을 addjustedPos월드위치에 생성
}
}
}
잠금타일의 코드이이며 기존 방식은 그리드좌표(0, 0)에서 시작하여 양의 방향으로만 타일을 배치하여 원점(0, 0, 0)이 한쪽 끝에 위치하고 있었으나 원점을 중심으로 타일이 사방으로 퍼지도록 좌표 시스템을 변경했다. 그리드 크기의 절반(halfGrid)를 계산 후, 반복문의 범위를 halfGrid로 수정했다. 이렇게 함으로써 타일이 원점을 중심으로 균등하게 분포하게 되었다.
- 기즈모 표시 좌표도 수정하여 정상적으로 작동

이리하여 수정 완료!
그리고 오전회의에서 이제 사용할 에셋을 구매하기로 하였는데 어떤에셋을 구매할까는 이미 정해두었었고 결제를 누가하냐 인데.. 이건 룰렛으로 각각 결제할 에셋을 정하기로 했고 그리하여 나는 캐릭터 에셋을 하나 구매하였다.
유료에셋 구매는 이번이 두번째인데 기존엔 페이팔로 구매하다 이번엔 신용카드로 결제했는데 처음엔 뭔가 잘못되었다고 해서 왜 뭔데 했는데 그냥 초기에 카드결제 설정하는게 안되어있어서 그랫던거라 정상적으로 구매하고 Import 해주었다.
이제 MapManager를... 작성하기 전에 맵은 여러씬을 만드는게 아닌 한 씬에서 진행할거라 동적으로 만들어주게 해야하는데 컨셉이 여러개라 어떤식으로 할까 고민하던 중 지형만 필요한 상황이니 지형을 프리펩으로 만들어두고 리스트에서 랜덤으로 가져오는 형식으로 타일매니저에서 작성했던 코드를 조금 응용하여 작성해보고자 하였다.
그러면 지형 프리펩이 필요한것.. 그래서 맵을 만드는 과정중에 있다.
일단 지형도 TileMap 기능을 이용해서 만들어보려고 했는데

잠금타일 처음에 진행했던 것처럼 GameObject Brush를 이용하여 하려고 했더니 저렇게 나온다.. 화가난다
예전에 2D에서 이러한 적이 있어 이건 어떻게 할까 햇는데 pivot을 변경하여 해결했던 적이 있었다.
이건 근데 찾아봐도 pibot 변경이 안보여서 한참동안 한숨을 쉬었는데 약간 야매적인 방법으로 해결했다.

타일 상위에 오브젝트를 하나 만들어주고 타일 position을 변경해준 다음 상위 오브젝트를 타일팔레트에 적용시켜주면 정상적으로 된다!
근데.. 타일 하나만 쓸게 아니라 구지 타일매니저를 써야하나 싶어서 기존에 있던 에셋을 가져와 일부만 내 입맛대로 변경해주는게 빠르지 않을까 ㅎㅎ 싶어서 그렇게 진행하기로 했다... 그럴거면 왜 타일팔레트로 길잃엇엇냐고....
그래서 짜잔! 완성했습니다.
근데 중간에 깃에서 머지받고 오니 자꾸 오류나서 재부팅 하고왔는데 중간중간 뭔가 이상해지고 이가 빠져버렸다....

^_____^..... 하......
그래도 빠진부분은 얼마 안되고 수정해야할 부분은 많지 않으니 그냥 수정 해야지 뭐...

그리고 이걸 보고 다른분께서 매쉬콜라이더 이런식으로 되어있으면 로딩 많이 느릴거라고.... 그리하여 이것도 박스콜라이더로 변경까지 하면 맵 지형 임시로 하나는 마무리다.
나중에 컨셉에 맞게, 그리고 다듬는 작업은 하겠지만 여기까지 하면 끝!

그래서 이건 왜 오늘 하루 마무리하기전에 나타나서 날 고생시키고 있냐고..
'Unity > Project' 카테고리의 다른 글
| [Unity] 내배캠 최종프로젝트 : 루시퍼 서바이벌 18일차, (0) | 2025.04.30 |
|---|---|
| [Unity] 내배캠 최종프로젝트 : 루시퍼 서바이벌 17일차, (0) | 2025.04.30 |
| [Unity] 내배캠 최종프로젝트 : 루시퍼 서바이벌 15일차, 배치지옥 (0) | 2025.04.25 |
| [Unity] 내배캠 최종프로젝트 : 루시퍼 서바이벌 14일차, 타일 배치 (0) | 2025.04.24 |
| [Unity] 내배캠 최종프로젝트 : 루시퍼 서바이벌 13일차, 첫 병합 (0) | 2025.04.23 |