게임즐기기/Civil FLT━

[FS9] Flight Simulator 2004. 고퀄리티의 지형텍스쳐를 감상하며 비행해보자

반쪽날개 2009. 7. 10. 02:17
올해로 나온지 6년째(2003년 여름 현지발매)인 MS Flight Simulator2004 (이하 FS9).
이후 2006년 말, 차기버전인 FSX가 발표되긴 했지만, 아직도 많은 유저들은 FSX보다는 FS9를 이용하고 있습니다.
FSX가 시각적인 효과라든지, 여러 비행 특성에 있어 대규모로 개선되긴 했지만,
프로그램을 돌리기 위해 필요한 시스템 요구사양은 그동안 FS시리즈와는 차원이 다른 수준이었습니다.
때문에, 많은 유저들은 FSX와 FS9 사이에서 갈등해야 했고, 때문에 대부분 FS9에 남겠다... 라는 분위기었습니다만,
발매된지 한참 지난 지금에는, 한층 더 빨라진 프로세서들이 발표되어 FSX를 즐기는 유저들도 상당히 많아졌습니다.
 
하지만, 이렇게 고성능 프로세서가 발표되고, FSX발매 당시의 컴퓨터 사양에 비해 지금의 사정이 훨씬 좋아졌다고는 하지만,
FSX를 위해 선뜻 많은 비용을 지불하여 컴퓨터를 업그레이드 하는건 어려운 일이고,
자금상황에 여유가 없다든지의 개개인의 사정에 따라 아직도 중/저사양의 PC에서 FS9를 즐기는 분들이
고사양의 컴퓨터로 FSX를 즐기는 유저에 비해 상당히 많은것이 현실입니다.
물론, FS9가 FSX에 비해 다양한 애드온들이 많이 발표된 만큼, 해당 애드온들 때문에 넘어가지 못하는 분들도 계시지만요.
 
각설하고, 이번 글의 경우, FS9는 돌릴 수 있지만, FSX를 돌리기에는 버겁기도 하고...
하지만, FSX의 화려한 지형 텍스쳐는 마음에 들고, FSX를 돌리지 못해 안타까워 하시는 분(?)들을 위해 간단(!)하게 정리해보았습니다.
 
아무리 고사양이라 할지라도 원거리 시점을 볼 때, FS9특유의 뿌연 텍스쳐가 마음에 들지 않으셨을텐데,
이제부터 설명할 것은, 그 뿌연 지형 텍스쳐를 어느정도까지 선명하게 만들어주는 방법입니다.

외국 포럼에서는 이미 오래전에 이 설정법에 대한 토론이나 데이터들이 발표되었는데,
국내에서는 아직 이와 관련된 세부적인 설정법에 대한 글이 없는듯 하여 (많이 늦은 감이 있지만)이번 기회에 한번 설명해 볼까 합니다.

* * *

테스트에 이용된 컴퓨터 사양에 대한 간략한 소개를 하자면 다음과 같습니다.
CPU : Conroe E2160 (1.8G No over)
RAM : 4G (DDR2 PC6400 2G x2, Single Channel)
VGA : Radeon HD4870 512mb
O/S : Windows XP x86

현재 옵션값의 경우, 시야, 3D cloud Percentage를 제외한 나머지는 풀로 돌아가고 있으며
대규모 공항에서 평균 10~15fps, 순항시 15~35이상의 프레임을 뽑아주고 있습니다.
(아래 설정값 적용했을 때의 경우이며. 적용하지 않았을 경우 그보다 더 높은 프레임을 뽑아줍니다.)


그럼 설정하는법에 앞서, FS9.cfg 세부설정 전과 후의 비교 스크린샷을 보고 계속해서 이야기 하도록 하겠습니다.
(위 : 설정 전 / 아래 : 설정 후)


1. 공항



공항의 경우, 설정값에 따른 차이를 느끼기 힘들었습니다.



2. 저고도



큰 차이는 없습니다만, 원거리 텍스쳐가 보이기 시작할 무렵부터는 확실하게 차이가 납니다.



3. 고고도



고고도로 올라가게 되면, 항공기와 지상의 거리가 있는만큼 중/저고도 만큼의 아찔한 디테일을 보기는 힘듭니다.
(이미 멀리서 바라보는 시점이 되버린지라, 기존의 옵션값으로도 어느정도 선명하게 보이기 때문이지요.)
 
하지만 원거리쪽을 볼 경우, 설정 전은 뭉실뭉실한 텍스쳐임이 확실하게 느껴지는 반면,
설정 후는, 살짝 뭉개지기는 하였지만, 그래도 그 선명도 면에서는 설정 전에 비해 훨씬 더 선명한 편입니다.


같은 장소에서 찍은 스크린샷이라야 그 비교가 확실하게 되겠지만, 이 부분에 대해서는 미처 준비를 하지 못한 관계로
서로 다른 위치에서 찍은 스크린샷을 가지고 비교를 해보았습니다.

그렇다 할지라도, 비교하는데에 있어서 커다란 문제는 없었으리라는 생각이 듭니다.
임의 설정전은 원거리 텍스쳐가 뭉개지거나 흐릿한 반면,
설정 후는 어느정도의 원거리까지 선명한 텍스쳐를 뽑아주고 있음을 확실히 느낄 수 있으니까요.

* * *

자, 이제 본격적인 설정법에 대해 알아보도록 하지요.
FS의 텍스쳐 로딩의 경우, 기본적으로 플레이어의 항공기를 중심으로 일정 반경(원형)만큼 고품질 텍스쳐가 로딩되고,
그 이후의 거리에 대해서는 점차적으로 저 퀄리티의 텍스쳐를 로딩함으로서 하드웨어의 부하를 줄이는 구조로 되어있습니다.

하지만 이 사항을 임의로 수정할 수 있는데, 바로 FS9.cfg를 수정하는 것입니다.
(FS9.cfg는 Windows XP의 경우 %userprofile%\Application Data\Microsoft\FS9  경로에 위치하고 있으며
VISTA, Windows7의 경우 \Users\[계정명]\AppData\Roaming\Microsoft\FS9  의 경로에 위치하고 있습니다.
)

FS9.cfg중, 다른 부분은 건드릴 것 없고, 『Terrain』항목 중 일부 옵션값을 변경하면 되는데, 해당 항목은 다음과 같습니다.

TERRAIN_MAX_VERTEX_LEVEL
TERRAIN_EXTENDED_TEXTURES
TERRAIN_DEFAULT_RADIUS
TERRAIN_EXTENDED_RADIUS
TERRAIN_EXTENDED_LEVELS

그럼 저 항목에 대한 세부설명을 해보도록 하겠습니다.
기본적으로 값은 클수록 더 디테일하게 표시되구요.

● TERRAIN_MAX_VERTEX_LEVEL : 메쉬에 대한 디테일과 관련된 것으로 기본값은 19, 최대 21까지 설정할 수 있습니다.
    (FS9.1패치를 하면 22까지 설정가능)

● TERRAIN_EXTENDED_TEXTURES : 0과 1 두가지의 값을 가지고 있으며, 0은 확장텍스쳐 사용안함, 1은 사용함을 의미합니다.
    FS의 Display옵션에서 Extended Texture옵션에 체크를 하느냐 안하느냐에 따라 달라지는데, 보통 이 옵션에 체크를 해야
    지형 텍스쳐의 퀄리티가 한결 좋아집니다.

● TERRAIN_DEFAULT_RADIUS : 플레이어 항공기를 중심으로 반경 40mi까지의 텍스쳐 디테일을 설정하는 옵션입니다.
    0~9.99까지 설정할 수 있고, 10.0이상의 값부터는 넣어도 9.99의 값으로 인식됩니다.
    값이 높아질수록 텍스쳐가 선명해지는 것을 느낄 수 있으며, 저품질 텍스쳐에서 고품질 텍스쳐로의 리프레쉬 속도가 빨라집니다.
    어차피 항공기 가까이에 있는 텍스쳐는 고화질로 뽑아주다보니 이 값은 크게 의미가 없습니다. 기본값은 0

● TERRAIN_EXTENDED_RADIUS : 플레이어 항공기를 중심으로 원거리 텍스쳐의 디테일을 설정하는 항목으로,
    이 값을 변경했을 경우, 가장 큰 개선효과를 누릴 수 있습니다. 위 항목과 마찬가지로 0~9.99까지 설정 가능하며 이후값은 무시됩니다.
    1.5를 넣었을 경우 70mi까지 고해상도로 뽑아주며, 최대값인 9.99를 넣으면 100mi 거리의 텍스쳐까지 고해상도로 뽑아줍니다.
    주의!!! :  몇몇 VGA의 경우, 3.9를 초과한 (4.0이상) 값을 입력하면, 일부 고해상도 애드온 메쉬에서
    메쉬데이터가 찢어지는 Texture Tearing (Blue Silvers)현상이 발생할 수 있습니다.

   
이에 대한 스크린샷은 아래 별도로 올려놓도록 하구요.
     기본값은 0입니다.

● TERRAIN_EXTENDED_LEVELS : 0~8까지의 범위를 가지고 있으며, 바로 위 TERRAIN_EXTENDED_RADIUS에 대한
    텍스쳐 퀄리티와 샤프니스를 담당합니다. 4를 넘어선 5부터서는 변화를 확인할 수 없었으며, 8을 넘어선 값부터서는 무시됩니다.
    역시 기본값은 0입니다.


그럼 지금부터 앞서 설명한 옵션값에 따른 그래픽 성능차이를, 스크린샷을 통해 비교해보도록 하겠습니다.
(스크린샷을 클릭하면, 원래 사이즈의 스크린샷을 감상할 수 있습니다.)

스크린샷 아래 기입하게 될 수치는 다음과 같습니다.
TERRAIN_MAX_VERTEX_LEVEL / TERRAIN_EXTENDED_TEXTURES / TERRAIN_DEFAULT_RADIUS /
TERRAIN_EXTENDED_RADIUS / TERRAIN_EXTENDED_LEVELS



■ 비교.1 (수치비교)


21 / 1 / 9.99 / 9.99 / 8




21 / 1 / 24 / 12 / 12

:: 설명 ::
앞서 설명해드렸다시피, 인식할 수 있는 최대값과, 최대값을 초과한 값으로 설정한 후의 스크린샷입니다.
시간과 장소를 동일하게 하여 비교를 해보았는데, 최대값을 초과한 값을 넣는다 할지라도,
퀄리티에 영향을 주지는 않는다는 것을 확인할 수 있습니다. (확대 비교해보았지만 차이점을 발견하지 못하였습니다.)




■ 비교2 (TERRAIN_EXTENDED_RADIUS 값에 따른 Texture Tearing현상 및
   TERRAIN_EXTENDED_LEVELS값 변경에 따른 텍스쳐 퀄리티 변화 비교)



21 / 1 / 9.99 / 9.99 / 8




21 / 1 / 24 / 12 / 12




21 / 1 / 9.99 / 9.99 / 4




21 / 1 / 9.99 / 3.9 / 4

:: 설명 ::
앞서 이야기 했듯, 몇몇 VGA에서 TERRAIN_EXTENDED_RADIUS값이 3.9를 초과하는 경우, 메쉬가 찢어지는 현상이 일어난다 했는데
마침 제가 사용하고 있는 VGA에서도 그 현상이 발생하였습니다.
(해당부분을 아래 스크린샷의 붉은색 타원형으로 표시하였습니다.)



하지만 TERRAIN_EXTENDED_RADIUS값을 3.9로 했을 경우, Texture Tearing현상이 발생하지 않았지만,
값이 9.99일때는 텍스쳐가 전체적으로 선명했던 반면, 3.9로 낮춘 후로는 살짝 뭉개지는 부분이 생겼습니다.

그리고, TERRAIN_EXTENDED_LEVELS 값의 경우, 8과 4일 때의 차이는, 확대 비교까지 했지만 그 차이를 발견할 수 없었구요.


* * *

자. 이제 정리에 들어가보도록 하죠.

앞서 설명드린대로, 일정 값 이상의 수치를 입력한다 해서 텍스쳐 퀄리티가 한없이 좋아지는 것은 아니고,
각각의 값마다 최고 설정치가 따로 존재하고 있습니다.

또한, 변경항목 중, 가장 큰 영향력을 행사하는 것은 TERRAIN_EXTENDED_RADIUS 값인데, 몇몇 VGA에서는 이 항목에 대한 값이
3.9를 초과할 경우 Texture Tearing현상이 발생하기도 하였습니다.
9.99에서 3.9로 낮출 경우, 텍스쳐 일부가 기본값일때 처럼 뭉개지는 현상이 발생하였지만
그렇다 할지라도, 기본값에 비해서는, 한결 향상된 퀄리티의 텍스쳐를 표현해주고 있습니다.
(3.9에서도 발생합니다만, 해당 시점을 계속 보고 있을 경우, 추가적인 텍스쳐 로딩으로 해당 부분을 메꿔주었습니다.)

TERRAIN_MAX_VERTEX_LEVEL의 경우 메쉬 퀄리티를 담당한다고 하였는데, 더 자세히 설명하자면,
기본값인 19의 경우 75m급 메쉬를 표현하며, 18은 150m, 20은 37m, 21은 19m 해상도 까지 표현할 수 있습니다.
물론 21까지 올린다고 해서 디폴트 메쉬가 19m해상도로 표현되는건 아니고,
19m의 해상도로 제작된 애드온 메쉬를 표현할 수 있다는 의미입니다.
FS9.1을 설치하게 되면 22까지 설정 가능하다고 했는데, 이는 최대 9m급 해상도까지 표현할 수 있다는 것을 의미합니다.
(반드시 FS9.1패치를 해야 9m급 해상도의 메쉬를 사용할 수 있습니다.)

다른항목이긴 하지만 바로 위 [Display]항목을 보면 TEXTURE_BANDWIDTH_MULT라는 항목이 있습니다.
이 항목은, 그래픽카드에서 수행하는 지상텍스쳐 처리속도를 결정하는 것이라 하는데,
수치가 높아질수록 처리하는 텍스쳐의 양은 많아지지만, 그만큼 높은 물리적인 비디오 메모리를 요구한다고 합니다.
(비디오카드 메모리가 128mb이하의 경우, 수치를 올려도 의미가 없다고 하네요.)
해당항목 값은 컴퓨터 사양마다 각기 다르므로 기본값 그대로 놔두는 편이 좋을 것 같습니다.


그럼 마지막으로, 위의 설명에 맞는 이상적인 값을 정리해보면,
(편의를 위해 수정항목만 나열해놓은 것으로, FS9.cfg에 있는 항목들과 순서가 다릅니다. 아래 내용 그대로 붙여넣기하지 마십시오.
또한 아래의 값이 절대적인 것은 아니며 컴퓨터 사양에 따라 최적값은 달라질 수 있습니다.
)

[Terrain]
TERRAIN_MAX_VERTEX_LEVEL=21
TERRAIN_EXTENDED_TEXTURES=1
TERRAIN_DEFAULT_RADIUS=9.9
TERRAIN_EXTENDED_RADIUS=3.9 (Texture Tearing이 없다면 9.99까지)
TERRAIN_EXTENDED_LEVELS=4

이렇게 되겠네요.
(위의 설정값을 적용한 후, 비행한 스크린샷을 보시려면 이곳을 클릭하세요.)

물론 원거리 텍스쳐까지 디테일하게 표현하다보니 어느정도 프레임 감소는 있습니다.
너무 저사양 컴퓨터에서 시도할 경우 오히려 비행하는데 지장이 생길 수 있으니
자신의 컴퓨터 사양이 어느정도 받쳐주는 경우에만 적용하는 것이 좋을 듯 합니다.
또한, 너무 높은 값으로 설정하는 경우 (한계치를 초과하는 경우) FS자체가 튕겨버린다든지, Freeze되는 등의 오작동을 할 수 있습니다.

물론 적용 전 FS9.cfg파일 백업은 필수겠지요?


이미 알고있는 분들도 계시겠지만,
이 방법을 모른 상태에 나는 컴퓨터 사양도 높은데 왜 다른사람 그래픽처럼 깨끗하게 나오지 않는거지? 하는 분들이라면
한번 적용해보시어 이전 비행했을 때의 지형텍스쳐와 비교해보는 것도 좋을듯 합니다.

왠지 횡설수설해버린듯 합니다만, 끝까지 글 봐주셔서 감사합니다.



본 글을 작성할 수 있게, CFG자료를 제공해주신 AfterBurner님께 감사말씀 드립니다.


* * *
p.s
* * *

테스트에 사용된 스크린샷을, 웹에서 비교하기 힘들다 하시는 분들을 위해 별도로 제공해드립니다.
zip파일을 다운받으시면 되며, 내부에 각 옵션값별 퀄리티 비교 스크린샷이 들어있습니다.

(창모드로 실행한지라, 불필요한 부분을 크롭하였고, 그외에 리사이즈, 색보정등등의 후보정작업은 하지 않았습니다.)

screenshot.zip