MSFSのシーナリーも数が増えてきました。そしてその中には一つの場所で表示を競合するものがあります。こういうときMSFS以前のフライトシミュレーターでは,競合するシーナリーの優先順位を指定する仕組みを持っていました。MSFSもその仕組みを持っています。ユーザーが行う通常の操作からは隠されているのが不思議ですが,操作できないわけではありません。まだ調べている途中ですが,現在判っていることを報告します。
MSFSで利用するシーナリーの表示優先順位を指定する方法
MSFSのシーナリーを記録する仕組み
MSFSのシーナリーも数が増えてきました。
そしてその中には一つの場所の表示を競合するものがあります。
こういうときMSFS以前のフライトシミュレーターでは,競合するシーナリーの優先順位を指定する仕組みを持っていました。
MSFSもその仕組みを持っています。
ユーザーが行う通常の操作からは隠されているのが不思議ですが,操作できないわけではありません。
MSFSのシーナリーの表示順位を規定しているファイル
このファイル名は”Content.xml“といいます。
このファイルがある場所は,”C:\Users\[Username]\AppData\Local\Packages\Microsoft.FlightSimulator_8wekyb3d8bbwe\LocalCache
“というフォルダーのなかです。
またこのファイルは,通常の状態では隠されていますので,エクスプローラーのオプションで隠しファイルを表示する設定にします。
シーナリーの登録を繰り返すとき,このファイルを頻繁に参照することがあります。
そこで,このファイルのショートカットを作成し,デスクトップに移動させます。
ショートカットをデスクトップに移動するとき,Windows10はこのファイルを暗号化するかどうかを聴いてきます。
ここでは,”Content.xml“ファイルをエディターで頻繁に操作するので暗号化せずに移動させます。
シーナリーの表示優先順位
“Content.xml”を破損すると,MSFSがスタートできなくなる恐れがあるので,必ず編集する前にはバックアップをとりましょう。
では編集のため”Content.xml”をエディターで開きます。
上から下まで,”community”フォルダーに入っているファイルの名前がずらりと並んでいます。
驚くことに,”community”フォルダーに入っている機体の再塗装データは入っていません。
表示順を見ると,一番上に”fs-base“があり,一番下に最近登録したフォルダー名があります。
つまり,このファイルはシーナリーのフォルダー名だけを登録した時間順に記録していることが判ります。
ここで,flightsimulator.comのフォーラムでシーナリーの優先順位について書かれた”Scenery hierarchy”という記事をご紹介します。
この記事では,リストの上から下に行くに従い,表示の優先順位が高くなると述べられています。
実例として,ロンドンのテムズ川の水位を修正する”Riverthames“が紹介されています。
ロンドンの市街地のオブジェクトを表示するペイウェアである”orbx-landmarks-london-city-pack“があります。
このデータでもテムズ川の水位は高いままで,川岸や川中の風景が水没しているのだそうです。
これを修正するのが”Riverthames“データです。
ところがorbxのデータをあとから登録すると,水位修正が機能しません。
それは,orbxのデータが元のテムズ川の水位を反映しているのが原因です。
そこで,”Riverthames“データの優先順位を”orbx-landmarks-london-city-pack“より上に設定する必要があります。
私の場合は,ペイウェアのシーナリー登録場所を調べるため,一番安価だった”orbx-landmarks-london-city-pack”を先に登録していたので調整する必要はありませんでした。
シーナリー優先順位の効果
“Riverthames”データの効果を例としてご紹介します。
登録前の”London City Airport(EGLC)”の風景です。
滑走路そばの敷地が水没しているのと,左側のテムズ川の中にあるテムズバリヤ(高潮防止障壁)の水門が水没しています。
“Riverthames”データ登録後の風景では,水没が解消されテムズバリヤの水門が見えるようになっています。
この修正データで,競合しているテムズ川のデータが上書きされているわけです。
いったん登録したシーナリーフォルダーの取扱い
“Content.xml”には,”community”フォルダー内に入っているシーナリーフォルダーを登録する機能はあるのですが,登録後に”community”フォルダー内から削除したフォルダーを消す働きは持っていません。
消したい場合は,エディターで登録されている行を削除するしかないようです。
まとめ
“Riverthames”データのドキュメントを見ていて,偶然発見したことですがこう言う情報は,MSFSの公式ドキュメントに書いて欲しいと思います。
なお現在のところ,登録しているデータの優先順位の指定はできますが,”content.xml”内の記述で無効化する手段は発見できていません。
現在判っているシーナリーの無効化は,いったんリセットして登録するシーナリーを選んだあと,MSFS Addon linkerで有効無効を切り替えるという手順になります。
Enjoy Flight!
コメント