'MapEditor'에 해당되는 글 10건

  1. 2008.12.05 2008. 12. 05. Indoor Polygon Divide Logic
  2. 2008.12.05 2008. 12. 05. Map Editor
  3. 2008.12.03 2008.12.03. MapEditor
  4. 2008.11.28 내부지형 구조체
  5. 2008.11.20 2008.11.20. MapEditor
2008/12/05 - [Ψ Develop/Δ Map Tool 3D] - 2008. 12. 05. Map Editor



내부지형 맵에디터 제작 하면서 폴리곤 분할에 사용했던 로직이다.

이 방법이 제대로 된 방법인지는 모르겠지만 여러 생각 끝에 나온 방법이다.

먼저 위의 폴리곤은 0 -> 1 -> 2 의 순서대로 그리는 폴리곤이다.

위의 폴리곤을 중간의 선으로 나눈다고 가정 하였을 때 다음과 같은 작업을 한다.
( 분할면의 노말은 <- 쪽이다. )

Front 와 Back 정점들을 넣을 공간을 vFront, vBack 이라 하겠다.

정점 0과 분할면을 비교하여 정점 0이 분할면 앞인가 뒤인가를 판단한다.  ( 정점 0은 분할면 앞쪽에 있다. )
정점 0과 1을 연결한 선분과 분할면을 검사하여 분할면에 걸쳤는지 판단한다. ( 선분01은 분할면에 나눠져야 한다 )
선분01은 분할면에 의하여 나눠져야 하므로 일단 vFront에 정점 0을 넣는다. ( vFront : 0  vBack : NULL )
선분01과 분할면을 계산하여 정점3에 대한 정보를 얻고 vFront, vBack에 넣는다. ( vFront : 0, 3 vBack : 3 )

정점 1과 분할면을 비교하여 정점 1이 분할면 앞인가 뒤인가를 판단한다. ( 정점 1은 분할면 뒤쪽에 있다. )
정점 1과 2을 연결한 선분과 분할면을 검사하여 분할면에 걸쳤는지 판단한다. ( 선분12은 분할면에 나눠져야 한다 )
선분12은 분할면에 의하여 나눠져야 하므로 일단 vBack에 정점 1을 넣는다. ( vFront : 0, 3  vBack : 3, 1 )
선분12와 분할면을 계산하여 정점4에 대한 정보를 얻고 vFront, vBack에 넣는다. ( vFront : 0, 3, 4 vBack : 3, 1, 4 )

정점 2와 분할면을 비교하여 정점 2가 분할면 앞인가 뒤인가를 판단한다.  ( 정점 2는 분할면 앞쪽에 있다. )
정점 2과 0을 연결한 선분과 분할면을 검사하여 분할면에 걸쳤는지 판단한다. ( 분할면에 걸치지 않았으므로 나누지 않아도 된다 )
선분20은 분할면에 의하여 나눠지지 않아도 되므로 vFront에 정점 2를 넣는다. ( vFront : 0, 3, 4, 2 vBack : 3, 1, 4 )

위와 같은 과정으로 정점들을 구했다면 그릴 순서를 정해줘야 한다.
나 같은경우 Front 같은 경우 0->3->4, 0->4->2  Back 같은 경우 3->1->4 로 그린다.



위와 같이 그릴 때 다음과 같은 공통점이 있다.
01. 첫번째 그릴 정점은 저장소의 첫번 째 정점이다.
02. 처음 정점을 제외한 다음 정점들이 2개씩 묶어서 그린다.

그래서 나온 공식은 다음과 같다.
그리는 폴리곤 수 = 저장소에 있는 정점 수 - 2;


위와 같은 방식을 통하여 나는 폴리곤을 분할하는 방법을 만들었다.








'Develop > Map Tool 3D' 카테고리의 다른 글

2008. 12. 15. 작업일지  (0) 2008.12.16
2008. 12. 14. 작업일지  (0) 2008.12.14
2008. 12. 12. 작업일지  (0) 2008.12.12
2008.12.08. 작업일지  (0) 2008.12.08
2008.12.06. 작업일지  (0) 2008.12.06
2008. 12. 05. Indoor Polygon Divide Logic  (0) 2008.12.05
2008. 12. 05. Map Editor  (0) 2008.12.05
2008.12.03. MapEditor  (0) 2008.12.03
D3DCOLOR <-> COLORREF  (0) 2008.11.29
내부지형 구조체  (0) 2008.11.28
2008.11.20. MapEditor  (0) 2008.11.20
Posted by deviAk
TAG BSP, MapEditor

댓글을 달아 주세요

2008/12/05 - [Ψ Develop/Δ Map Tool 3D] - 2008. 12. 05. Indoor Polygon Divide Logic


BSP 분할에 대한 처리를 완료 하였다.

이전 까지는 나눌 면과 겹치는 면에 대한 자르는 부분이 추가가 되지 않아 임시로 Front, Back 노드 두 곳에 넣어 놨었다.

그리고 오늘 면 분할기능을 추가하여 제대로 된 BSP 분할을 처리 하였다.

위의 사진은 공간 분할을 하기 전의 이미지 이다. ( 텍스처는 졸작 기획자 정현이형의 좀비 사진인지라 모자이크 처리... )

왼쪽 상단에 보면 WALL #0 ~ 3 까지 총 4개의 폴리곤으로 구성이 되어 있다.


분할 이후 Front Node의 모습이다.

Front 노드의 폴리곤 수는 총 5개 이다.


분할 이후의 Back Node 의 모습이다.


'Develop > Map Tool 3D' 카테고리의 다른 글

2008. 12. 14. 작업일지  (0) 2008.12.14
2008. 12. 12. 작업일지  (0) 2008.12.12
2008.12.08. 작업일지  (0) 2008.12.08
2008.12.06. 작업일지  (0) 2008.12.06
2008. 12. 05. Indoor Polygon Divide Logic  (0) 2008.12.05
2008. 12. 05. Map Editor  (0) 2008.12.05
2008.12.03. MapEditor  (0) 2008.12.03
D3DCOLOR <-> COLORREF  (0) 2008.11.29
내부지형 구조체  (0) 2008.11.28
2008.11.20. MapEditor  (0) 2008.11.20
Map Tool 제작에 앞서...  (0) 2008.08.07
Posted by deviAk

댓글을 달아 주세요


현재까지 Map Editor 진행 상황

BSP 공간 분할에 대한 작업을 하고 있다.

일단 분할면을 기준으로 앞, 뒤의 폴리곤 들은 제대로 분류가 가능하나 겹치는 부분에 대한 처리를 하지 않았다.

또한 트리를 이용하여 Node 정보를 보여주며 노드나 폴리곤 선택시 그 부분만 출력이 가능 하도록 제작 완료.

'Develop > Map Tool 3D' 카테고리의 다른 글

2008. 12. 14. 작업일지  (0) 2008.12.14
2008. 12. 12. 작업일지  (0) 2008.12.12
2008.12.08. 작업일지  (0) 2008.12.08
2008.12.06. 작업일지  (0) 2008.12.06
2008. 12. 05. Indoor Polygon Divide Logic  (0) 2008.12.05
2008. 12. 05. Map Editor  (0) 2008.12.05
2008.12.03. MapEditor  (0) 2008.12.03
D3DCOLOR <-> COLORREF  (0) 2008.11.29
내부지형 구조체  (0) 2008.11.28
2008.11.20. MapEditor  (0) 2008.11.20
Map Tool 제작에 앞서...  (0) 2008.08.07
Posted by deviAk

댓글을 달아 주세요



현재 까지 생각한 포맷이다.

약간의 변경은 있겠지만 아마 이 형태로 가지 않을까 생각된다.

'Develop > Map Tool 3D' 카테고리의 다른 글

2008. 12. 14. 작업일지  (0) 2008.12.14
2008. 12. 12. 작업일지  (0) 2008.12.12
2008.12.08. 작업일지  (0) 2008.12.08
2008.12.06. 작업일지  (0) 2008.12.06
2008. 12. 05. Indoor Polygon Divide Logic  (0) 2008.12.05
2008. 12. 05. Map Editor  (0) 2008.12.05
2008.12.03. MapEditor  (0) 2008.12.03
D3DCOLOR <-> COLORREF  (0) 2008.11.29
내부지형 구조체  (0) 2008.11.28
2008.11.20. MapEditor  (0) 2008.11.20
Map Tool 제작에 앞서...  (0) 2008.08.07
Posted by deviAk

댓글을 달아 주세요


KGCA 아카데미 졸업작품으로 만들고 있는 맵 에디터...

외부지형과 내부지형이 같이 들어가 있으며 외부는 다른 팀원이 담당하고 있고 내가 담당하는 부분은 내부 지형...

그래픽 쪽에서 작업한 맵을 자체 제작한 익스포터로 추출한 후 에디터에서 불러 올 수 있다.

현재 그래픽에서 맵의 맵핑 작업이 안되어 일단은 텍스처를 제외하고 임시로 색상을 넣고 와이어 프레임으로 출력 했다..

현재 이 맵의 폴리곤 수가 약 4800개가 넘는다. 

버텍스로 따지자면 폴리곤 * 3 이므로 13000 여개가 된다..

맵을 한번 랜더 할때마다 폴리곤 단위로 랜더를 하니 약 4800 번을 랜더하게 되서 FPS가 2000 가까이 떨어진다.

물론 툴에서는 퍼포먼스를 생각지 않았다.

추후 BSP 나 컬링을 추가하게되면 게임상에서는 퍼포먼스가 자연스레 올라갈 태니 말이다...

'Develop > Map Tool 3D' 카테고리의 다른 글

2008. 12. 14. 작업일지  (0) 2008.12.14
2008. 12. 12. 작업일지  (0) 2008.12.12
2008.12.08. 작업일지  (0) 2008.12.08
2008.12.06. 작업일지  (0) 2008.12.06
2008. 12. 05. Indoor Polygon Divide Logic  (0) 2008.12.05
2008. 12. 05. Map Editor  (0) 2008.12.05
2008.12.03. MapEditor  (0) 2008.12.03
D3DCOLOR <-> COLORREF  (0) 2008.11.29
내부지형 구조체  (0) 2008.11.28
2008.11.20. MapEditor  (0) 2008.11.20
Map Tool 제작에 앞서...  (0) 2008.08.07
Posted by deviAk

댓글을 달아 주세요