yuchi's Development Home


BSP/PORTAL적용 결과

조회 수 3500 추천 수 109 2008.08.21 04:29:53
제 홈피에서도 몇번인가 언급한적이 있고 KGC2006때 발표했었던 주제입니다.

툴을 이용해서 ROOM을 모델링하고 PORTAL을 자동생성, 공간 구분은 BSP를 이용하는 기술이죠.

그 동안 아이디어를 실제 프로젝트에 적용하는데 꽤 시간과 노력을 들였고, 이젠 안정화 단계에 접어들었다고 생각합니다.

해서 홈피 놀러오시는 분들에게 서비스 차원으로 언급한 기술을 적용한 결과를 간략하게 적어보도록 하겠습니다.

KGC2006발표자료가 궁금한 분은 이곳을 클릭하세요.

기술 자체에 대한 설명은 발표자료에 나와있으므로 생략하고 현재 제가 진행하고 있는 프로젝트에 적용한 결과에 대해서만 적겠습니다.

어떤식으로 작동하는지 간단한 동영상을 만들었구요.

두개의 동영상으로 첫번째는 솔리드 모델로, 두번째는 와이어프레임으로 표시합니다. 컬링이 어떻게 이루어지는지 실제로 볼 수 있습니다.

우선 테스트 환경은 다음과 같습니다.

테스트 머신 : INTEL Q6600 2.4GHz Quad Core , nVidia Geforce8600GT

OS : windows server2003 x64

게임해상도 : 윈도우모드  1016*740, 32비트컬러

실행EXE :
Server_AGENT_x64_release.exe
Server_GAME_x64_release.exe
EO_Client_01_x64_release.exe


저희 프로젝트는 TPS스타일의 전투를 하는 mmorpg입니다.

다만 이 이상은 아직 공개할 때가 아니므로 마을맵 일부분에서 컬링 데모를 보여줄 정도로만 캡춰하여 리사이즈 및 그레이스케일 처리하였습니다.


동영상 링크는 다음과 같습니다.

솔리드모델(클릭)
와이어프레임(클릭)


동영상 캡춰시에는 FRAPS가 30프레임으로 동기화 시키기 때문에 정확한 프레임 레이트를 표시할 수 없었습니다.

일단 실외 영역으로 처리하는 건물 바깥쪽, 정확히는 BSP공간의 바깥쪽에서는 평균 160-220프레임 정도, 건물 내에서 적절히 컬링 되는 경우 350- 670 프레임 정도의 프레임 레이트를 얻을 수 있었습니다. (과거 테스트에선 16비트 모드 기준으로 890프레임 정도까지 나오는걸 확인했습니다.)

다음의 이미지는 캐릭터의 이동경로와 맵에서 포탈의 위치를 표시하고 있습니다.

노란색 선이 포탈입니다.

건물 내부에선 이보다 많은 수의 포탈이 복잡하게 배치되어있습니다만 정확히 기억하지 못하므로 대충 표시했습니다.

동영상과 관련해서 중요한건 입구 부분의 포탈과 캐릭터의 최종 위치, 보고 있는 방향입니다.





다음은 최종 위치에서 프레임 레이트를 표시하고 있는 스틸 샷입니다. 대략 저 위치에서 벽을 바라보고 있을 경우 뷰프러스텀이 통과할 수 있는 포탈이 전혀 없기 때문에 벽과 캐릭터 외에는 거의 렌더링 하지 않습니다. 그 덕에 650-670프레임 정도 나옵니다.





이러한 BSP/PORTAL체계가 완벽한 것은 아닙니다만 오클루젼 사용을 병행하면 효율을 상당히 높일 수 있습니다.

현재 사무실의 테스트 PC(AMD 2.2GHz Quad core, GeForce9600gt)에서는 1920*1080, 32비트 모드에서 평균 250프레임 이상(주로 실외), 최대 450프레임(실내) 정도의 프레임 레이트를 확인 할 수 있습니다.

몬스터 및 npc가 돌아다니고 전투를 할 때의 프레임레이트 이므로 실제 서비스하는 시점에서도 큰 차이는 없을것으로 봅니다.

긴 설명이 필요 없겠지만 간략하게 이러한 기술 적용으로 이득을 얻는 상황을 게임 컨텐츠 기준으로 풀어서 적어보면...

1. 동굴이나 건물 등에 몬스터, 플레이어,NPC를 왕창 때려넣어도 필드(실외)에서 사냥을 즐기는 유져들의 프레임 레이트에 영향을 거의 주지 않는다.

2. 동굴이나 건물등으로 들어갔을때 필드(실외)에 있는 플레이어,몬스터,npc등을 완전 제외시킬 수 있으므로 프레임 레이트를 상당히 올릴 수 있다.

3. 10층짜리 탑 따위를 만들어서 플레이어,npc,몬스터등을 잔뜩 때려넣어도 좋다. 층간 room과 포탈 구분만 되어있다면 상당한 프레임 레이트를 얻을 수 있다.

뭐 대충 이렇습니다. 간만의 기술 소개 자료를 올리려니 의외로 손이 많이 가네요.

jufoot

2008.08.23 00:23:35
*.207.85.52

잘 봤습니다~ ^^ 멋지네요~

행인

2008.08.27 23:22:30
*.138.56.118

귀여운 캐릭터가 총을 쏘는 게임인가 보군요. 해보고 싶습니다. 귀여운 MMO FPS?

여치

2008.08.28 01:18:52
*.176.255.2

jufoot/ 감사합니다~

여치

2008.08.28 01:19:26
*.176.255.2

행인/ 미소녀 캐릭터가 나와서 tps전투방식으로 쏴죽이는 mmorpg지요.
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
141 dx11 스키닝 file 여치 2011-01-20 3486
» BSP/PORTAL적용 결과 [4] 여치 2008-08-21 3500
139 설 연휴 작업 내용 file 여치 2009-01-28 3502
138 cuda로 필터 만들기 첫번째 B/W필터 file 여치 2010-04-15 3514
137 Create .lib file from .dll file 여치 2013-02-02 3515
136 다이나믹 라이트 file 여치 2009-06-13 3524
135 라이트맵 계산시에 Ambient Occlusion적용하기 #3 file [2] 여치 2011-08-31 3537
134 레이어 기능을 추가한 하이트 필드 file [4] 여치 2005-07-01 3549
133 CUDA 로컬 디버깅 설정 file 여치 2011-11-30 3551
132 라이트맵 드로잉 기능이라면... file [1] 여치 2008-01-25 3555
131 DB에 세이브 기능 구현 여치 2008-02-02 3564
130 CUDA충돌처리 현재까지의 결과 CPU vs GPU file [4] 여치 2012-02-22 3569
129 Project ε(프로젝트 엡실론) 2차 알파 후기 file [2] 여치 2010-06-03 3580
128 라이트맵 계산시에 Ambient Occlusion적용하기 file 여치 2011-08-27 3581
127 64비트 어셈에서 스택 사용시 주의사항 여치 2007-08-23 3596
126 아이폰 프로그래밍 첫 연습작 file [2] 여치 2011-04-01 3604
125 프로그래밍의 도를 향해#3 여치 2002-04-22 3605
124 설 연휴기간 동안 작업내용 여치 2008-02-08 3624
123 최근 엔진 스샷 file [3] 여치 2008-01-25 3628
122 dx11 첫 걸음 file 여치 2011-01-19 3629
天安門大屠殺 六四天安門事件 反右派鬥爭 大躍進政策 文化大革命 六四天安門事件 The Tiananmen Square protests of 1989 天安門大屠殺 The Tiananmen Square Massacre 反右派鬥爭 The Anti-Rightist Struggle 大躍進政策 The Great Leap Forward 文化大革命 The Great Proletarian Cultural Revolution 人權 Human Rights 民運 Democratization 自由 Freedom 獨立 Independence 多黨制 Multi-party system 民主 言論 思想 反共 反革命 抗議 運動 騷亂 暴亂 騷擾 擾亂 抗暴 平反 維權 示威游行 法輪功 Falun Dafa 李洪志 法輪大法 大法弟子 強制斷種 強制堕胎 民族淨化 人體實驗 胡耀邦 趙紫陽 魏京生 王丹 還政於民 和平演變 激流中國 北京之春 大紀元時報 九評論共産黨 獨裁 專制 壓制 統一 監視 鎮壓 迫害 侵略 掠奪 破壞 拷問 屠殺 肅清 活摘器官 障テ社會 誘拐 買賣人口 遊進 走私 毒品 賣淫 春畫 賭博 六合彩 台灣 臺灣 Taiwan Formosa 中華民國 Republic of China 西藏 土伯特 唐古特 Tibet 達償ワ喇嘛 Dalai Lama 新疆維吾爾自治區 The Xinjiang Uyghur Autonomous Region free tibet



XE Login

天安門大屠殺 六四天安門事件 反右派鬥爭 大躍進政策 文化大革命 六四天安門事件 The Tiananmen Square protests of 1989 天安門大屠殺 The Tiananmen Square Massacre 反右派鬥爭 The Anti-Rightist Struggle 大躍進政策 The Great Leap Forward 文化大革命 The Great Proletarian Cultural Revolution 人權 Human Rights 民運 Democratization 自由 Freedom 獨立 Independence 多黨制 Multi-party system 民主 言論 思想 反共 反革命 抗議 運動 騷亂 暴亂 騷擾 擾亂 抗暴 平反 維權 示威游行 法輪功 Falun Dafa 李洪志 法輪大法 大法弟子 強制斷種 強制堕胎 民族淨化 人體實驗 胡耀邦 趙紫陽 魏京生 王丹 還政於民 和平演變 激流中國 北京之春 大紀元時報 九評論共産黨 獨裁 專制 壓制 統一 監視 鎮壓 迫害 侵略 掠奪 破壞 拷問 屠殺 肅清 活摘器官 障テ社會 誘拐 買賣人口 遊進 走私 毒品 賣淫 春畫 賭博 六合彩 台灣 臺灣 Taiwan Formosa 中華民國 Republic of China 西藏 土伯特 唐古特 Tibet 達償ワ喇嘛 Dalai Lama 新疆維吾爾自治區 The Xinjiang Uyghur Autonomous Region free tibet