他ゲームやCGからのノーマルマップ変換方法など
概要だけでは有りますが記事にしましたので今回もその延長線上にある他ゲームのノーマルマップを
イリュゲー用に変換する方法も記事にしてみようかと。
ではまずは、普通のノーマルマップの画像を見て頂きましょう

とあるCGの目玉の突起を表現したノーマルマップをGIMPで開いてみた画像です。
一目瞭然なのですが青いんだけどなんだか妙な色合いが混じっていますよねぇ
実はこんな風になるにはちゃんと理由が有りましてRGBそれぞれに別の情報が絵画されており
ゲームやCGソフトなどでは光源の状態やそのほかの要因によってどこの情報を元にどの様に
画面に表示するかの基準の絵がRGBそれぞれに内包してあるんです。
当然のことですがイリュ用ノーマルマップはグレーになってますよねぇ。
どうしてそのような仕様にしているのか詳しくは知りませんがイリュゲー用では
RGBには上からの光が当たった絵が設定してあり、
A(αチャンネル)には画像上では右から光が当たっている絵が内包されてます
(詳しくはもう少し違う法則での影の絵画なのですけど)
っと言うことは本来のノーマルマップにも同じような物が内包されてると推測できますので
RGBそれぞれに内包されている絵を個別に抜き出してしまえば、簡単にイリュゲー用に変換できるという事になります。
っと言うことでGIMPの機能の一つの「チャンネル分解」を使ってバラバラの画像にしてみましょう
まずはメニューの「色→色要素→チャンネル分解」をクリックしてみて下さい

そうしますと以下の様なウィンドーが出て来ます

色のモデルを選べますが今回はRGB使用のノーマルマップなのでこのままで実行します。
上記の設定のまま実行しますと新規画像としてRGBそれぞれの画像を独立したレイヤーに
グレースケールの画像が書き出され元のノーマルマップはそのまま消えずに残ります。

ちなみにαチャンネルが有るかどうかの確認方法ですがレイヤーを右クリックしたら出てくる
ポップアップに「アルファチャンネルの追加」が黒字になっていて選択できる場合はαチャンネルが無く
「アルファチャンネルの削除」が黒字になっている場合にはαチャンネルが存在するという事なので
事前にチャックしておいてから色のモデルを選択すると良いかと思います。
では先ほどの画像のそれぞれのレイヤーの説明をば
レイヤー名がそれぞれ上から「赤チャンネル」「緑チャンネル」「青チャンネル」となっていると思います。
ご覧になった通りに
「赤チャンネル」にバンプマップの方向が「0」と同じような画像で
「緑チャンネル」にはバンプマップの方向の「90」と同じような画像が見て取れると思います
今回のノーマルマップの場合は「青チャンネル」には白色で塗りつぶされた画像になっていますけど
この画像はイリュゲー用ノーマルマップでは使いません
ですから、「赤チャンネル」と「緑チャンネル」を使いまして、RGBA使用のイリュゲー用ノーマルマップと
同じ状態になる様にレイヤー名と画像を操作していきますねぇ。
それではまずは今のレイヤーに無い「αチャンネル」と言う名前のレイヤーを増やします。

上の画像の様にレイヤーを右クリックしますとメニューが出て来ましてその中の
「新しいレイヤーの追加」をクリックしてください

クリックしますと上の様なウィドーが開きますので開いたら
下の画像の様に出来上がる画像を想定した設定を選択したうえでレイヤー名を書き込んでから実行してください

レイヤーの塗りつぶし方法は透明以外でしたら別段どれでも良いので
レイヤー名だけに気を配り新規レイヤーを作ってくださいねぇ。
まぁ慣れてしまえば適当にレイヤーを追加してから、その後にレイヤー名やαチャンネルの有無等は自由に出来るでしょうから
今回の方法に凝り固まって作業する必要は無いんですけどねぇ
おっと、んでは本題に戻って
レイヤーを追加した状態の画像がこちら

この状態になりましたらまずは「赤チャンネル」を「αチャンネル」のレイヤーにコピーします。

上がコピーをし終えた画像です。
赤チャンネルとαチャンネルが同じ画像になりましたね、
残すところはイリュゲー用ノーマルマップと同じ状態にするために「緑チャンネル」の画像を
「赤チャンネル」と「青チャンネル」にコピーします

上がコピーし終えた画像です
一目瞭然ですが「赤チャンネル」「緑チャンネル」「青チャンネル」が同じ画像で
「αチャンネル」には元々「赤チャンネル」にあった画像に置き換わっていると思います
つまり、この状態にしますと以前の記事で作りましたイリュゲー用ノーマルマップをチャンネル分解したときと
同じ状態にしたという事になりますので一応分解した状態での作業は終了しました。
あとはこの画像を今度はチャンネルを統合するのですが方法が2つあります
この状態の画像のまま、メニューの「色→色情報」を覗いてみると分かるのですが
そこには2つ黒字に代わっている項目が有り「チャンネル合成」と「再合成」が有るかと思います。

ではとりあえず「チャンネル合成」を実行してみましょう
実行しますと下の様なウィンドーが出て来ます

今回はイリュゲー用ノーマルマップに合成しますので色モデルは「RGBA」を選択します


RGBAを選択しましたら、
それぞれのチャンネルに適合した画像がちゃんとセットされているかを確認したのちに実行してください
そして実行して出来上がったものがこちら

ご覧の様に半透明でグレーな画像が新規画像として書き出されてますよね
これで統合は完了です
後はPNGかTGAで出来た画像を保存し、
DDSファイルのDXT5形式に変換すればイリュゲー用ノーマルマップに変換が完了です
では、先ほどメニューで触れた「再統合」の方もやってみましょう
上記の作業でチャンネル統合前の画像ファイルは残っていますのでそちらに戻って頂いてから
「再統合」を実行してみて下さい

実行し終わった画像がこちら

よ~く見て頂くと分かるかと思うのですが
画像編集ウィドーの上のタグの画像の一番左の物が青っぽい画像だったのにグレーの物に変わっちゃってますよねぇ
なので~、そのタグを選択して画像編集ウィンドーでそちらの画像を見てみましょう

一目瞭然だとは思いますが半透明の画像にはなっていませんよねぇ
しかも、再統合する時にはポップアップウィドーも出て来ませんでしたし(;^_^A
つまりは一番初めの画像をチャンネル分解したときと同じ条件で元の画像に編集後の画像を統合した物と
置き換える作業がされたという事なのです。
当然ですが途中で追加したαチャンネル分の画像の情報は統合されていません
まぁ再統合したのですから統合する時の色モデルが変わることは無いのが当然なのですけどねぇ
解りやすく言いますと、チャンネル分解したときの条件で再統合されるという事かなぁ
ってことなのでRGBだけしか統合されていないのですから、前回の様にレイヤーマスクを使ってαチャンネル分を
再統合した画像に追加しちゃえば結果は同じに出来ますけどねぇ
実はこの2つを説明させて頂いたのには理由が少々有りまして
出来上がった画像を書き出すときの事なのですがGIMPでは、予めどこかのフォルダーからD&Dで開いたり
ファイルを開くで画像を開いた場合だけが、元開いたフォルダーが保存ウィンドーのフォルダーになる仕様になってまして
新規で画像を作成したり、今回の様に「チャンネル統合」等で新規に画像を作りだしたりしたときは
必ずと言っていいほどGIMPで初期指定しておいた保存先が保存ウィンドーのフォルダーとなりますので
その都度、保存したいフォルダーを指定し直さないといけないのです。
っと言うことでどちらを使っても統合は出来るという事を知って頂きたく両方をご紹介した次第です。
まぁ、保存時の手間ぐらいは問題ないよってな場合ですと素直にチャンネル統合を使って頂ければいいんですけどねぇ(;^_^A
その辺は各自でご判断なさってくださいませ(^^)
っとちょっと脱線してしまいましたが以上で他ゲーム等のノーマルマップをイリュゲー用ノーマルマップに変換しちゃう方法です
この方法を使えば、移植時に移植先にあったノーマルマップを無駄なく持って来れますので
自分でわざわざ新規でイリュゲー用のノーマルマップを作らなくて済みます。
なのでお暇が有ったり、どうしても元の物に近い表示にしてみたいなど有りましたらお試しくださいませ(^^)