본문 바로가기

유니티31

[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] 씬 로딩과 메모리 관리 유니티에서는 씬이 전환될 때 내부적으로 Resources.UnloadUnusedAssets() 함수를 호출한다. 하지만 씬이 전환될 때 메모리가 터져 앱이 꺼지는 경우가 있는데 씬이 전환되는 과정을 자세히 보면 위 사진과 같은데 B씬을 로드하면 바로 A씬을 제거하는게 아니라 B씬을 먼저 로드한다. 이 과정에서 메모리가 터진다고 한다. 로딩씬과 같은 별도의 씬을 넣는 것이 메모리 관리에서는 더 효율적이라고 한다. 참고 영상. https://youtu.be/Z9LrkQUDzJw?t=1540 2021. 12. 5.
[Unity] 콜라이더가 달린 물체를 움직일 때 주의할점 그냥 콜라이더만 달려있는 물체를 움직이면(transform 움직일 때) static collider를 움직이는 것을 의미한다. rigidbody를 추가해주고 kinematic을 체크하여 사용하자. 2021. 12. 5.
[Unity]LayerMask 사용 예시 LayerMask.NameToLayer //레이어 번호만 가져옴! int layerMask = 1 2021. 12. 5.