2025/05/11 2

맵 자동 생성(5)

이번 글에서는 통로를 완성시켜보겠다. 내가 몇번 살펴본 결과, 통로는 이렇게 2가지이다. ㄷ자, ㄹ자는 등장하지 않는다. 따라서 일자와 위 사진 같은 경로만 만들면 된다.그럼 어떻게할까? 간단하게 ㄱ자 2개를 만들기로 했다. 문과 문 사이에 지정된 범위 안에서 중간위치를 랜덤생성한 후, 시작점 - 중간위치, 중간위치 - 끝점 을 만들어주면 된다. 랜덤이 문앞에서 일어나면 부자연스러워지기 때문에 25%~75% 지점를 범위로 지정했다. 만약 각 x나 y의 값이 동일하다면 일자도 자연스레 만들어지기 때문에 이 방법을 택한다. void GenerateCorridors(GameObject parent,Vector2 v, Vector2 v2, bool mode/* true : x -> y , false :..

2d 자동 맵생성 2025.05.11

맵 자동 생성(4)

https://tpree.tistory.com/233 맵 자동 생성(3)이번 글에서는 만들어진 방들을 연결하기 위한 방법을 다뤄보겠다. 모든 방(노드)를 빠짐없이 연결하고 이를 최대한 효율적으로 연결하기 위해서는 최소스패닝트리 즉, MST알고리즘을 사용하면tpree.tistory.com 이전 글에 이어서 방 생성에 대해서 다뤄보고 문, 벽까지 완성해보려한다. 이전엔 문의 방향 위치 상관없이 그냥 생성만 해보았다. 그래서 통로와 관계없이 문이 있고 이런데 통로가 어디로 이어져 있으며, 어떻게 방향을 정해 문을 배치할 것인가를 고민해봐야 한다. 우선 a - b 를 연결하는 문과 통로를 만든다고 가정하자.a -> b 는 방향이 어느쪽인지를 파악해야한다. 그리고 그쪽 벽에 문을 설치해야한다. 방향은 간단한 벡..

2d 자동 맵생성 2025.05.11