본문 바로가기

유니티/작업일지5

[Unity]BSP(Binary Space Partitioning)를 이용한 던전 룸 생성 - 01 Binary Space Partitioning(이하 BSP)를 먼저 간단하게 설명하자면 말 그래도 이진 공간 분할로 공간을 둘로 분할하며, 재귀적으로 나누어진 공간을 트리 형태로 구성하면 우리가 흔히 듣던 BSP Tree가 된다. 그럼 BSP를 이용해 던전을 구성해보자. 순서는 다음과 같다. 1. 한 공간을 수직 또는 수평으로 이분할 한다. 이 때, 분할된 공간을 노드로 취급하며, 이진 트리의 자식 노드로 추가한다. 2. 정해진 분할 개수만큼 1번을 반복한다. 3. 말단노드(Leaf Node)는 최종적으로 룸을 구성할 공간 노드가 되고, 나중에 이를 통해 룸을 구성한다. 1. 공간 분할하기 구현함에 있어 사람마다 다르게 구현한 걸 자주 볼 수 있었다. 예를 들면 노드의 순회 방식에 따라 깊이(depth).. 2023. 7. 12.
[Unity]일기1 - 타일맵 삽질 난 타일맵 게임을 왜이렇게 좋아하는지 모르겠다. 처음 시작은 리듬게임, 그다음 시작했던게 탑뷰 타일게임이었다. 탑뷰 방식은 뭔가 입체감이 부족해서 쿼터뷰(혹은 isometric)를 만들어 보고 싶었지만 이렇다할 아이디어가 없어 아이디어 구상만 주구장창하고 있었다. 만들다보니 너무 유니티 기능을 안쓰는 것 같아 지금까지 만들었던 것들을 또 맞춰서 수정 중이다. 한마디로 삽질.. csv로 맵로드 맵꾸미기, 맵꾸미는 용도의 씬까지 따로 만들고 그래도 너무 작업하는데 불편해서 유니티에 있는 타일맵, 브러쉬 등등을 맞춰서 한 3일 정도에 걸쳐 고친 것 같다. 삽질 좀 그만했으면 좋겠다. 2019. 10. 20.
[Unity]커스텀 프리팹 브러쉬 제작기 CSV 구조에 맞춰 타일맵 에디터를 만들어서 사용하고 있었다. 유니티 에디터 자체를 확장한게 아닌 그냥 하나의 씬을 만들었다. 너무 불편했다.. - 불편했던 점 일일히 씬을 실행시켜야 되는점. CSV 파일을 불러오기 전까지 맵을 미리 볼 수 없다는 점 타일에 들어갈 정보가 많아지니 CSV 한 셀에 들어가는 데이터가 너무 지저분해짐 타일 정보 추가될 때마다 CSV 파싱 및 만든 에디터를 자꾸 수정해야 함. 이 4가지 이유 때문에 유니티에서 제공하는 Tilemap으로 바꾸기로 결정했다. 출시초에 버그도 많았지만 지금 많이 고쳐졌고 있더라도 어느정도 솔루션을 찾아할 수 있는 것 같았다. (lineBrush는 팔레트에 그려져 버리는 버그가 아직도 있다. 밑에서도 설명하지만 팔레트도 타일맵이어서 그런듯) 추가로 .. 2019. 10. 18.
[Unity]2D 타일맵 에디터 수정/제작 2D 타일기반 게임을 만들다 보니 가장 귀찮은게 바로 맵 제작이다. CSV파일로 만들어 파싱해 쓰는 것까진 좋았지만, CSV를 수정하고 유니티로 확인하고 다시 CSV를 수정하고.... 여간 귀찮은게 아니다. 맵 에디터를 제작하자니 이것 또한 시간이 많이 걸리기에 에셋 스토어에 있는 괜찮은 무료버전을 찾아 입맛에 맞게 수정하였다. 우선 에셋 스토어로 가서 "2D map Editor"를 검색해 가격을 FREE로 맞추면 1페이지에 사진에 동그라미친 맵 에디터가 있다. 먼저 기존 에디터를 분석해보았다. 1. 프로젝트 구조다운받아보니 여러 맵에디터가 있었는데 그 중 필요한건 PlatformerDemo라는 씬에 있었다.여러 맵에디터에서 공통적으로 사용하는 Scripts - Functionalities내의 스크립트들.. 2018. 2. 18.