MSFS2020 Normal Roughness Metal 画像の作り方

最近X-Planeで自作していた霞目飛行場シナリーを
MSFS2020に移植しています。

その際にエプロンや誘導路などの
地上のテクスチャをpolygonで貼れるのですが
そのtexture画像の作り方でハマったので記事にしてみます。

尚、正しい方法なのかは保障できませんし、
不必要な手順もあるかもしれません。
個人的には満足できるレベルでtextureを作れたという記事になります。

各ソフト、各テクスチャの使用に関しては
著作権等は各自で確認して自己責任でお願いします。

本来はデフォルトのオブジェクトを消したり、滑走路を置いたりなどの
基本的な空港の作り方などを書くのが順序的には先なのですが
個人的に重たいFSを何度も再起動してトライアンドエラー繰り返す結果となり
結構苦労したので、まずここから書いてみます。

なお、以下の説明で画像編集ソフトはPhotoshopを利用しています。
自分も使い始めたばかりですが
とりあえず一週間は無料で使えますし、
フォトプランでしたら月1000円ぐらいで使えるようです。
詳しい方ならばフリーのGIMPとかでも同じ事は出来るかと思います。



textureの入手

textures.com などでダウンロードする場合、
後述のNormal Roughness Metal の画像で利用する分を含め

必要なのは

albedo(反射率)
normal(法線)
roughness(粗さ)

の三つです。

正直、光学的な用語は分からないのですが、
albedoが見た目普通のテクスチャ
normalとroughnessはNormal Roughness Metal で利用します。
(地上のポリゴンに関してはmetalが適用されないらしいので
今回は無視しました)

尚、注意なのですが
textures.com などで配布されているtextureを使う場合、
8bitカラーである必要があります。

16bitなどですと、FS SDKで編集中は正しい画像が表示されますが
最終的に配布可能な形式にビルドする際に正しく表示されません。
(デフォルトのアスファルトなどが表示される)

今後改善されるかもしれませんが、
現時点では16bitのPNGなどからDDSへ変換するのに問題があるようです。

(これに気付くまで5日ほど無駄にFSを再起動する羽目になりました・・・)



8bit textureの作成

albedo
normal
roughness
それぞれPhotoshopなどで開いて8bitカラーに変更し、PNGに保存します。

albedoはそのままMSFSでalbedo として利用できます。
normalとroughnessは以下でNormal Roughness Metal の作成に利用します。



Normal Roughness Metal の作成

必要なソフト

・ModelConverterX
https://www.scenerydesign.org/modelconverterx/

・FS2004 Terrain SDKの中のimagetool.exe
(ModelConverterXの中でtextureを変換するのに使用)
古いFSのCDからコピーするか、
自己責任で
https://library.avsim.net/search.php?SearchTerm=weather+themes&CatID=root&Go=Search
のfs9_sdk_tool_pack.zipなどから
terrain_sdk_setup.exeをダウンロードする

・DXTBmp
https://www.mwgfx.co.uk/programs/dxtbmp.htm
一番下からダウンロードできます。

自分の行った手順

1、
terrain_sdk_setup.exe
dxtbmpxnew.exe
を実行しインストール

2、ModelConverterXを解凍し実行。
オプションから1のimagetool.exeのパスを指定

3、DXTBmpを実行、Prefsからselect editorで
Photoshopなどの画像編集ソフトのパスを設定

4、ModelConverterXのspecial toolからtexture converter
先程作った8bitのnormal textureを開く。

5、ウインドウ上部の四角いconvert normalmap to FSをクリック
PNGを選んで保存

6、DXTBmpを実行、5で作ったnormal textureを開く

7、上部のimageからsend to editorを選ぶ

8、norm.bmpがPhotoshopなどで開くので確認

9、Photoshopなどで8bitのroughnessテクスチャを開き、
全て選択>コピー

10、Photoshopでnorm.bmpの画面に戻り
右下のチャンネル>ブルーのチャンネルのみを選択
図のようにブルーのみが見えている状況で貼り付け。

11、全てのチャンネルが有効になるように
右下でRGBを選択>PNGで保存

これをNormal Roughness Metal としてMSFSで利用します。



MSFS2020でpolygonとして地面にtextureを貼る

textureの作り方は以上ですが
一応、ざっくりと使い方を書いておきます。

MSFS2020で設定からデベロッパーモードにして、
SDKをダウンロード、インストールする。

MSFS2020でプロジェクトフォルダを作成する
(詳しくは以下のサイトを参照)
https://wikiwiki.jp/flightsim/GoogleMap%E3%81%AE%E3%83%A2%E3%83%87%E3%83%AB%E5%8F%96%E3%82%8A%E8%BE%BC%E3%81%BF#h2_content_1_2
(以下、プロジェクトのフォルダを\Test\として説明します)

\Test\PackageSources\materials\Textures
の様に自作material用のtexturesフォルダを作成し、
先程作った、「albedo」「Normal Roughness Metal」のPNGをコピーする。

MSFS2020を起動
シュミレーションを一時停止、
Developer cameraを有効にする。
(WASDRFキーで移動、左ALT+左ドラッグで角度変更できる)

左上Devmodeから作成したプロジェクトフォルダを開く
Toolからproject editor、scenery editor、material editorを開く

project editorで作成したプロジェクト名を選択
inspectorで+を押してmaterialLibを選択

Asset
PackageSources\materials\Textures\
output
MaterialLibs\mymaterials\
と書き込みscenery editorで保存する。

polygonを貼りたい場所に移動する

scenery editorのviewから
objectを開きpolygonを選択、addをクリック
ポインタが赤い+に変ったのを確認して
左Cntlを押しながら、貼りたい範囲を選択していき
最後のポイントでダブルクリックする

material editorを開く
FileからNewを選択
textureの名前を入力
textureに近い種類のSurfaceをプルダウンから選択
「albedo」「Normal Roughness Metal」に先程作成したPNGをそれぞれ選択

下のBlendmodeをOpaque(不透明)に選択、SAVEで保存

今作ったtextureを選択した状態で
scenery editorから先程作ったpolygonを選択
viewからpropertyを選びSurfaceをクリックすると
textureが表示されるので
scenery editorで保存する。



ビルドと確認

project editorで作成したプロジェクト名を選択
inspectorを開き、Build package

\Test\Packages\Test
に作成したシナリーが出力されているので、
Business.json layout.json manifest.jsonなどが中に入っている[testフォルダ]を
MSFS2020のデータフォルダ以下の\Community\にコピーして
MSFSを再起動して表示されるか確認します。

textureが正常に表示されていて
違和感なく反射などの表現が出来ていれば成功です!

今回参考にさせて頂いたサイト、投稿
https://wikiwiki.jp/flightsim/GoogleMap%E3%81%AE%E3%83%A2%E3%83%87%E3%83%AB%E5%8F%96%E3%82%8A%E8%BE%BC%E3%81%BF#h2_content_1_2
https://www.fsdeveloper.com/forum/threads/custom-apron-texture-normal-roughness-metal.448824/
https://www.fsdeveloper.com/forum/threads/material-problem-when-using-normal-and-ao-roughness-metallic-map.448783/
https://www.fsdeveloper.com/forum/threads/normal-roughness-and-metallic-map.449051/

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です