どうしても見つからないライブラリーパーツを補う方法

Flightsimulator

カスタムシーナリーを使おうとしたとき,見つからないライブラリーが出てきます。そんなとき役に立つのがBackup Scenery Libraryです。けれどもそれでも補えない,ライブラリーパーツ不足によるシーナリーエラーが起きたとき,これを修復する方法があります。


どうしても見つからないライブラリーパーツを自前のライブラリーで補う方法

シーナリー不足エラーの発生

カスタムシーナリーを使おうとしたとき,見つからないライブラリーが出てきます。

公開されているライブラリーのバージョンアップなどによる名前の参照を補ってくれるのが”Backup Scenery Library“です。

けれど”Backup Scenery Library“を使ってもライブラリーパーツ不足によるシーナリーエラーが起きることがあります。

シーナリー不足エラーの表示です いやですね

作成者の方が公開したあとリンク切れに気がつかない場合とか,過去のバージョンのデフォルトライブラリーを参照しているというものです。

今回はこういったライブラリーパーツ不足によるシーナリーエラーを修復する方法を説明します。

この記事はシーナリー表示に必要なライブラリーをすべて導入していることが前提です。

“Repairing” by M. Photo from flickr

Backup Scenery Libraryの仕組み

Backup Scenery Libraryの働き

私の前の記事に”Backup Scenery Library”の説明があります。

https://pbook.jp/post-9515/

BackupLibraryは,現在は公開されていないライブラリーパーツの名前参照を補うライブラリーです。

Backup Scenery Libraryフォルダーの中にある”Library.txt”

利用しているのはEXPORT_BACKUPコマンドです。

library.txtの内容

その仕組みは,”developer.x-plane.com“に説明があります。

Library (library.txt) File Format Specification - X-Plane Developer
Describes X-Plane's library.txt format, which tells X-Plane how to use the objects & other graphic resources located in ...

EXPORT_BACKUP <仮想パス> <実際のパス>X-Plane 860の新機能:  EXPORT_BACKUPコマンドは、exportコマンドと同じようにファイルをライブラリにマップします。ただし、特定の 仮想パスのアートワークを検索するとき、特定のファイルは最低の優先度として扱われ  ます。

このコマンドの目的は、他のパッケージの優先度が高くなくても、他のパッケージのアートワークを使用しながら、シーナリーパッケージがそのDSFに最小限のアートワークを提供できるようにすることです。つまり、これは最後の手段のアートワークとしてファイルをマップします。

developer.x-plane.com“から引用して自動翻訳したもの

つまり名前参照は,”EXPORT_BACKUP”コマンドを使って代替えしているのです。

この仕組みを使えば,どうしても見つからないライブラリーパーツを代替えパーツに置き換えることができるわけです。

Backup Scenery Libraryの作者の方は,見つからないパーツがあったら連絡をくれるようにと”readme.txt”に書いておられます。

Backup Scenery Library の”readme.txt”から引用

しかしながら,個人的なライブラリー,あるいは公式にサポートできないライブラリーである場合には,Backup Scenery Libraryに含めることは難しいと思われます。

そこで,個人的に使う”Backup Scenery Library”を作る事にしました。

元になるのはもちろん”Backup Scenery Library”です。

作成したものは,”Backup Scenery Library”の内容をそのまま使うため,著作権上問題があるので作り方だけを説明します。

個人用”Backup Scenery Library”の作り方

“BackupLibrary”の複製

  1. “BackupLibrary”フォルダーを適当な場所にコピーして名前を変更します。私は”Repair Library“としました。
  2. フォルダー内にある”library.txt”をメモ帳かエディターで開きます。
  3. 冒頭部分で最初の”EXPORT_BACKUP”までをコピーして”newlibrary.txt”という名前で保存します。
  4. 元の”library.txt”を削除します。
  5. “newlibrary.txt”の名前を”library.txt”に変えます。

エラーを起こしているパーツを特定する

問題を起こしているパーツを特定するには,エラーが起きたときの”X-Plane11″フォルダーの中にある”log.txt“を使います。

  1. “log.txt”をメモ帳かエディターで開きます。
  2. 検索機能を使い”error“を検索します。
  3. いくつかの検索結果の内,シーナリーエラーの部分を見つけます。
  4. その前後に,見つからないパーツの名前が表示されています。
  5. 下の画像では,”My_Library/Flowers/flower7.obj“です。
  6. この部分をコピーアンドペーストで,”Repair Library”フォルダー内の”library.txt”の”EXPORT_BACKUP “の後にコピーします。
  7. つぎに” placeholders/placeholder.obj”の前までを削除します。
  8. できあがった行は次のようになります。

    “EXPORT_BACKUP My_Library/Flowers/flower7.obj placeholders/placeholder.obj”

X-Plane11に導入する

できあがった”Repair Library”フォルダーをX-Plane11のCustom Sceneryフォルダー内にコピーします。

Custom Sceneryフォルダー内にあるScenery packs.iniファイルを開き,次のように”Backup Scenery Library”の下に位置するよう編集します。

 

これで導入作業は終了です。

見つからないライブラリーパーツの追加

一つ見つからないパーツを修復して,X-Plane11をスタートさせると次のエラーが発生することもあります。

ひとつひとつ見つからないパーツを”Repair Library”フォルダーの”library.txt”に追加します。

2つのパーツを記述しています

まとめ

“Backup Scenery Library”にはずいぶん助けられていると思いますが,それでもシーナリーエラーが発生することがあります。

そんなときパーツを表示できなくても,エラーを発生させない方法としてご紹介しました。

“Repair Library”に書いた後にライブラリーが見つかれば良いので,それまでのつなぎとして利用して下さい。

Enjoy, Flight!

 


この記事は,次の製品のオンラインバージョンアップ版11.41と11.50β14で動作確認をしました。

コメント

タイトルとURLをコピーしました