본문 바로가기

분류 전체보기60

[Unity]BSP(Binary Space Partitioning)를 이용한 던전 룸 생성 - 02 이전 포스팅에서 공간을 나누어보았다. 이번에는 크게 설명할 게 없다. 목표는 다음과 같다. 분할된 공간 안에 임의의 사이즈의 직사각형 룸을 생성하는 것이다. 이해를 위해 먼저 결과물을 보면 사진과 같다. 미리 분할해놓은 공간 안에 임의의 위치, 임의의 사이즈의 룸을 생성한다. 이 부분은 각자 취향대로 구성할 수 있다. 하지만 나는 다른 사이트를 참고하여 만들었다. 다음과 같은 순서로 진행한다. 1. 공간의 중심좌표에서 랜덤하게 이동한 새로운 좌표를 구해준다. 2. 랜덤하게 길이, 높이를 빼주어 룸을 구성한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 public void InitRoomSizeBySpace(int minPadding, int maxPadding) {.. 2023. 7. 13.
[Unity]BSP(Binary Space Partitioning)를 이용한 던전 룸 생성 - 01 Binary Space Partitioning(이하 BSP)를 먼저 간단하게 설명하자면 말 그래도 이진 공간 분할로 공간을 둘로 분할하며, 재귀적으로 나누어진 공간을 트리 형태로 구성하면 우리가 흔히 듣던 BSP Tree가 된다. 그럼 BSP를 이용해 던전을 구성해보자. 순서는 다음과 같다. 1. 한 공간을 수직 또는 수평으로 이분할 한다. 이 때, 분할된 공간을 노드로 취급하며, 이진 트리의 자식 노드로 추가한다. 2. 정해진 분할 개수만큼 1번을 반복한다. 3. 말단노드(Leaf Node)는 최종적으로 룸을 구성할 공간 노드가 되고, 나중에 이를 통해 룸을 구성한다. 1. 공간 분할하기 구현함에 있어 사람마다 다르게 구현한 걸 자주 볼 수 있었다. 예를 들면 노드의 순회 방식에 따라 깊이(depth).. 2023. 7. 12.
프로젝트 리소스 구조 및 클래스 설명 학생분들로부터 리소스 관련 문의 메일이 많이 와서 이 기회에 추가 포스팅합니다. 죄송하게도 제가 저작권 관련 때문에 깃헙에는 리소스를 업로드 하지 않았을 뿐더러 리소스 구조나 어디서 어떻게 사용되고 있는지 포스팅한 적이 없었네요. 간단하게 포스팅 해봅니다. * 제일 밑에 csv 파일+저작권 문제가 없는 제가 직접 그림판으로 끄적인 리소스만 첨부해놓았습니다. * BMS파일은 일본bms관련 사이트나 http://k-bms.com/ 를 참고. [상대 경로 관련] 코드를 보면 아시겠지만 경로 대부분이 "../../Resource ~"로 상위 폴더로 두번 올라가는데 이건 제가 프로젝트를 버전별로 테스트할 때, 리소스를 중복으로 복사하기 싫어서 이렇게 했던 기억이 있습니다. 상대경로 하나를 지워 "../Resour.. 2023. 4. 11.
[생존신고]요즘 회사가 바빠서 포스팅을 못하고 있습니다. 포스팅할 게 잔뜩 밀리긴 했는데 아직 살아있습니다. 2022. 5. 24.