acファイルをテキストエディターで編集する | virt_flyのブログ

virt_flyのブログ

フライトシミュレーターソフトのFlightGearで仮想飛行を楽しむブログです。

↑保存のたびに勝手に繰り返される法線の逆転への対処の次善の策が功した改変T-38機

真似される方は自己責任で

Blenderで保存した3Dモデルのの不具合

 

3Dオブジェクトのファイルをテキストエディターで開き書き換えるなんて、大丈夫なのでしょうか。禁じ手のような気もしますが、背に腹は変えられません。

 

もっぱらBlenderを3Dモデリングソフトとして使い、フライトシミュレータソフトのFlightGearで使用する航空機の3Dモデルをいじっていますが、ときどき困ったことが起こるのです。

 

理由は不明ですが、Blenderで修正した3Dオブジェクトをacファイルに出力してみると、法線の方向が逆になっているのでしょう、ポリゴン面が透けて背景が見えることがあるのですが、法線の向きを修正して保存したacファイルを、再びBlenderで開いた後にacファイルに保存すると、法線の向きがまた逆に戻ってしまい、しかも保存するたびに繰り返し発生するという鬱陶しいケースがあります。

 

なかには、法線の向きを修正して保存したら、他の箇所で法線の向きが変わってしまうというケースもあり、うんざりです。

 

そこで考えたのが、不具合のある箇所に正常なacファイルの対応箇所からコピーしてきた文字列を貼り付けるという次善策です。あるいは、逆に何か変更した箇所の文字列を正常なacファイルに貼り付けることも考えられます。不都合のある箇所を勘案して使い分けすればよいのではと考えます。

 

HelijahさんのサイトにあったNorthrop-T38-Talonを例にとると、3Dモデルをいじる度に機種の脚のドアとエアブレーキの箇所が一部透けてしまうのですが、この次善策をとれば不具合が解消されます。

 

運良くfuselage部分に不都合が生じないことから、外観を似せるために機体に変更を加えて作成したT-38CやThunderbirds用に塗装を再現するため追加を加えた機体にも、この方法が使えました。

 

次善策の要点

 

次善作として採用した文字列をコピペするこの方法の要点は、次のとおりです。

 

●正常なファイルから文字列をコピペする場合

正常なacファイルから変更を加えたacファイルに、テキストエディターを使って正常部分の文字列をコピーしてきて上書きコピーする場合は、関係する箇所のkids 0以降次のkids 0手前までを選択してコピーします。それだけでOKです。

 

●正常なファイルへ文字列をコピペする場合

 

↑テキストエディターで開いたacファイルを模した図を掲載します 波線は省略部分を示します

 

①変更を加えたacファイルから変更や追加舌部分の文字列をコピーしてきて元の正常なacファイルに貼り付ける場合は、変更や追加部分それぞれについてkids 0以降次のkids 0手前までを選択してコピペします(図の①の赤枠内)。

 

②3Dオブジェクトに追加した部分がある場合には、最初のkids部分の数値を追加した部分の数だけ増やすこと(図の②の赤線の箇所)。

 

③ファイル冒頭のMATERIAL部分に変更が見られる場合は、この部分をまるごと上書きコピーします(図の③の赤枠内)。

 

ケースによって使い分けが必要になるかと思いますが、前者の方法をとることができれば断然楽です。

 

真似される方があるようでしたら、自己責任でお願いします。不具合が発生することも考えられますので、バックアップをとってから実施してください。