2022年に有志による新たなMODツールが登場し、本記事のテクスチャ設定は過去のものとなりました。(サイズ調整やペアリングなどはまだ参考になるかも)
新MODツールでは抽出ツールや変換ツールなど不要で公式テクスチャをそのまま使うことができ、ゲーム中でも汚れや石化などのエフェクトが反映されるようになり、Steamワークショップにも投稿できるので是非乗り換えてください。
関連記事:PC版『FF15』革命的なMOD管理&MOD作成ツール『Flagrum』の使い方
-2022/6/21
『FF15』(FFXV/FINAL FANTASY XV/ファイナルファンタジー15)WINDOWS EDITIONの前回記事が長くなったので新記事にしました。
前回記事:PC版『FF15』3Dモデルど素人がMODを作成してみる
また、以下は前回記事でも使った重要リンク+α。
●『FF15』内に登場するキャラクター等のモデルデータの格納場所:モデルマップ
●以下のツール全部入り:FFXV Modding Tools Pack
・earcファイルからの抽出&リパッケージ:PROJECT EARC (ffxv Scout)[20/8/27リンク貼り直し]
・『FF15』対応3Dモデルビューワー:Noesis(←これだけ最新版ダウンロードしてください)・btexプラグイン(XeNTaXに登録してダウンロード、tex_FFXV_PCbench_btex.pyをNoesisの\plugins\pythonフォルダに入れる):.BTEX Script for Noesis
・btex→dds一括変換:BTEX to DDS
・btex⇔dds変換:QuickBMS(ファイル足りてなさそう、前回記事参照)
●有志によるBlenderでの『FF15』用モデル作成ガイド
[Modder's Resource] Mega Guide to Modding Final Fantasy XV
●有志によるBlender上での見た目向上マテリアル&テクスチャ設定(20/2/3付けで完全版)
Ultimate Texture And Material Guide
●Tsukaさんによるマテリアル解説
FF XV Mod Organizer その17 (マテリアル&テクスチャまとめ)
●MOD ORGANIZERエラー一覧
https://github.com/davoodinator/ff15doc/issues/4
●『FF15』MOD ORGANIZER公式サイト
MOD ORGANIZERのつかいかた
「ファイルの命名規則として、大文字・小文字、アンダースコア、数字が使用可能です。」
●Blenderショートカットキー一覧
Blenderショートカット⼀覧(モデリングでの利用頻度順)
続き:PC版『FF15』3Dモデルど素人がMODを作成してみる3
4.モデルMOD作成
『FF15』のMOD作成については海外の情報も不足しており、以降は大部分が私が試行錯誤した独自手法です。
もっといい方法や間違っていることもたくさんあると思いますのでその前提でご覧ください。
また、以降はキャラを置き換えることを主目的とした手順ですので衣装MODに関しては異なる可能性があります。
4.1 抽出モデルをビルドしてみる
前回記事の2項にてアラネアのボーン付きモデル&テクスチャ(sourceimages)を抽出できたのでまずはアラネアモデルをビルドしてみます。(materialsは現時点では開けないので未使用)
Noesisにてアラネアのボーンを表示させた状態で左上の「File」→「Export」からFBXエクスポートできますが、そのfbxファイルをBlenderに読み込むとエラーが出て読み込めません。Blender上部に短時間だけエラー内容が表示されて、それによるとFBXのバージョンが古いとのこと。
ということで、FBXエクスポート時にオプションを使用します。
「Advanced Commands」をクリックすると、使用できるエクスポートオプションがたくさん出てくるので説明を読むと、「-fbxnewexport」を使えば最新フォーマットでエクスポートできるようです。(あとで100倍にするので「-scale 100」も使うといいらしいです)
上画像のように赤枠内に入力して、エクスポートすれば最新フォーマットのfbxファイルをエクスポートできます。
これをBlenderにインポート(設定は3項参照)してみると・・
これBlender上でかなり拡大していて、拡大しないとインポートできたことすら気づけません。
仕方ないので、インポート時のサイズを20倍…50倍…と試して、100倍でインポートするといい感じのサイズになりました。
ぴったり100倍が正しいようですね。おそらく最新フォーマットへの変換で3Dモデルの「サイズ基準」が「m」→「cm」に変わってしまったものと想定してます。
さて、このままBlenderからアラネアモデルをFBXエクスポートしてビルドしてもエラーになります。
MOD ORGANIZERのエラー内容を見るとどうやらマテリアルとテクスチャを参照しようとして見つからない様子。
というわけで、アラネアモデルのマテリアル名変更とテクスチャを削除します。(マテリアルそのものを削除するとビルドエラーなので注意)
3Dビュー上でオブジェクト選択して、左の赤矢印でマテリアルタブを選択し、赤枠のマテリアル名から「/」以前を削除します。(画像の例だと削除後マテリアル名は「nh10_020_hair_00」、もしマテリアル名末尾に「.001」が挿入された場合は命名規則に従い「.」も消す)
続いて、右の赤矢印でテクスチャタブを選択し、テクスチャそのもの(初期値ではテクスチャ名「Diffuse Texture.00X」の項目自体)を削除します。
眼球と口内は3Dビュー上でオブジェクト選択するのが難しいので、黄色矢印のアウトライナーからオブジェクトを選択するといいです。
青矢印でマテリアルビューにしておけば、テクスチャを削除すると紫→グレーになるので分かりやすいと思います。
全てのマテリアル名変更とテクスチャ削除が終わったら一度ビルドしてみます。初めてならこの段階でビルドの成否を確認するのがおすすめです。
FBXエクスポート(設定は3項参照)して、出力したfbxファイルだけをMOD ORGANIZERのアセットフォルダに入れてビルドしてみると・・・
テクスチャのない真っ黒なアラネアに置き換えできました!
真っ黒でもここまでできた段階でかなり嬉しかったです。
[18/7/12追記]
この段階でのモデル崩れはサイズ調整により大部分が治るので、モデル崩れは一旦無視して以降の作業に進んでください。
また、もしビルドエラーとなる場合はエラーログを参考に対処してください。経験上ビルドエラーのほとんどは「命名規則違反」によるものでした。
4.2 テクスチャを貼ってみる
~テクスチャ変換~
真っ黒なままではさすがに使えないのでここからテクスチャを貼っていきます。が、2項で抽出した「sourceimages」フォルダ内のテクスチャは『FF15』独自のbtex形式なのでこのままでは使えません。
また、2項でリカラー用に変換したddsファイルはBlenderでは使えるのですが、MOD OGANIZERが未対応のためビルド時にエラーになります。
というわけで、まずはテクスチャをpngに変換します。
Noesisには一括変換機能も備えてあり、btexプラグインが入っていればNoesis v431から標準でbtex→png一括変換できます。(一枚ずつ変換するのが面倒で探したら見つかりました)
Noesisの「Tools」→「Batch Process」を開き、
①「btex」と入力
②「png」を入力
③Output Path:に変換命名オプションとして「$inpath$\$inname$」と入力(初期値後半を削除)
そのままフォルダを選択するとファイル毎にフォルダを作る変換になってしまう
④「Folder batch」でbtexが入っているフォルダを選択
この時にcommands欄に変換後のパスとファイル名が表示される
⑤「Export」をクリック。
続いて3項の事前準備の通りに、変換したpngファイルを 手動作成した「texture」フォルダに入れ、Blenderにインポートしたfbxファイルと同じフォルダに置きます。
ちなみに、このサムネイルでも分かるようにほぼ同じ画像が2つあり、ファイル名が「〇〇_$h」の方がおそらく高解像度(High resolution)版です。
執筆時点ですでに標準版でビルド成功してるのですが、せっかくなので高解像度版を使ってみます。
こちらを使う場合、ファイル名から「_$」は消しておきましょう。
[18/7/12追記] ビルドエラー要因となるので各種名称は英数字・アンダーバーだけとして記号・日本語は使わない、また「_h」の文字列があると何故かゲーム内で赤くなります。
ようやくここからテクスチャを貼っていきます。
テクスチャを貼るオブジェクトを選択した状態で赤矢印のテクスチャタブを選択。
「新規」を選択後、黄色矢印で「texture」フォルダ内からマテリアル名と同じpngファイルを選択して貼っていきます。(マテリアル名と同じものがない場合は似た名前から探す)
マテリアル名と同じテクスチャは複数あるので全て貼って、赤枠の箇所でテクスチャ名を末尾のアルファベットに変更しておくと後で分かりやすいと思います。
初めての場合は、一か所貼った段階で一旦FBXエクスポート→ビルドできるか確認しておくといいです。アセットフォルダに「texture」フォルダを置くのを忘れずに。
~テクスチャ設定~
次は先ほど貼ったテクスチャに設定を割り当てていきます。
テクスチャ名を選択して下の方に行くと、「影響」という項目があり、ここで各テクスチャにどのような表現をさせるか設定します。
これについては正解は公式しか知らないのと、MOD ORGANIZERがどこまで反映してくれるのか分からないので、サンプルモデルを参考にしたり、一か所変更してビルドのトライ&エラーです。
一旦ディフューズカラーを表示させて、どこにどういう表現をさせるテクスチャなのか考えながらやります。
<参考:公式情報>
マテリアル:FBXのマテリアル仕様に準じます。しかし、すべてのマテリアルパラメータが描画に反映されるわけではありません。
シェーダー:ゲーム内部のMod用シェーダーが使用されます。
テクスチャ:カラーマップ、スペキュラーマップ、法線マップ等がFBXの仕様どおりにサポートされます。 (※法線マップ=ノーマルマップ)
[18/7/29追記] 冒頭にもリンク追加してますが、海外有志によりBlender上でのほぼ正解の設定が解説されてます。
Ultimate Texture And Material Guide
以下はテクスチャファイル末尾毎の私がやった設定と考察。[18/9/8追記修正]
●「b」(ベースマップ):ディフューズ カラー(確定)=1.0
海外ガイドはシェーディング ミラーにも設定しているが、公式情報よりシェーディングはゲームに反映されないと思われる。
●「n」(ノーマルマップ):ジオメトリ ノーマル(確定)=1.0
凹凸を表現するものでサンプルモデルは0.35になっている。「画像のサンプリング」のノーマルマップにチェックしてもBlender上の見た目のみでゲームには反映されない。
凹凸があるほど影が生成されるようなので高解像度版は使わない方がいい。また、眼球には「n」自体使わない方がよさそう。
さらに、Y軸方向が反転しているようなので、特に肌はGチャンネルを色相反転※し、併せて凹凸を淡くした方がいい。ファイル名末尾は「_n」必須。
●「a」(アルファ):ディフューズ 強度=1.0、またはディフューズ アルファ=1.0
本来はアルファに設定して半透明を表現するものだと思われる。が、アルファは効かないようなので代わりに強度に設定すると黒い部分が透過して毛髪はさらさらになる。透過すべきでない眼球等はアルファに設定。
高解像度版を使用すると基本的に透過しすぎるので部位によって好みで選択する。
●「o」(オクルージョン):ディフューズ カラー=1.0、ブレンド乗算
白黒マップで陰影を表現する。ベースマップと比較してずれているものは、「影響」の上の「マッピング」→「マップ」でLightmapUVを選択すると位置が合う。おそらくゲームに反映されないので基本的に未使用。
●「mrs」:スペキュラー 硬さ=1.0
3つのマップが一つになっている。フリーソフトの「gimp」で赤R=「m」、緑G=「r」、青B=「s」として抽出する。面倒ならそのまま硬さに設定して光沢を表現させる。
●「m」(メタルネス、ミラー):シェーディング ミラー&レイミラー=1.0
海外ガイドによる設定。金属(白)と非金属(黒)を設定する。人体は当然非金属なので基本的に真っ黒。シェーティングは公式情報より反映されないようなので最終的に未使用。
●「r」(ラフネス):スペキュラー 硬さ(確定)=1.0
サンプルモデルと同じ設定。表面の粗さを設定して光沢を表現し白いほどテカテカになる。そのまま抽出すると反転しているのでgimpで色相反転※して使う。steamガイドでは乗算しているがおそらく反映されない。
●「s」(スペキュラー):スペキュラー カラー(確定)=1.0、ブレンド乗算
反射色を表現する。肌に適用すると血色が良くなる。乗算が反映されるか不明だがサンプルモデルと同じ設定。steamガイドではスペキュラ強度に設定されているがおそらく反映されない。
●「mro」:スペキュラー 硬さ=1.0
「mrs」と同じく「m」「r」「o」の3つのマップが一つになっていると思われる。面倒な場合は硬さに設定して光沢を表現させる。
●「mm」(リカラー?):???
白黒だったり色付きだったりする。海外ガイドによるとアバターパーツのリカラー用テクスチャらしいが最終的に未使用。
●「f」(?):???
グレー系のグラデーション。元々は硬さに設定していたが「r」が硬さで確定したので不明になった。
●「e」(エミット?):シェーディング 放射=1.0(ほぼ確定)
黒地のマップで夜間発光を表現するものと思われる。ゲームには反映されない。
●「w」(?):???
赤~黒のグラデーション。アンブラの毛の表現?さっぱり分からない。
※サンプルだとカラー系のブレンドは乗算だがブレンド設定はおそらくゲームに反映されない。
※テクスチャの数値は黒0~白255に対する倍率を設定しているようなので基本的に1.0。10倍や0.1倍等にしてもゲームには反映されなかった。
※末尾に数字が入っているテクスチャは基本的に重ね貼りすればいいと思われるが、ゲームに反映されてなさそう。
※「n」のGチャンネル反転は、gimpの右側で「チャンネル」表示し、緑を選択(当方環境では薄くなる)した状態で色→invert(反転)。
※「n」の凹凸を淡くするには、gimpのレイヤー→新しいレイヤーの追加で、塗りつぶし色「Foreground color」を追加し、描画色0..100レンジにて(50,50,100)の色で追加したレイヤーを塗りつぶす。その後、右側の「レイヤー」表示で、不透明度を調整する。不透明度0にするとオリジナルと同じになるので不透明度50~65あたりでお試しビルドする。
※「mrs」分離はgimpの色→色要素→チャンネル分解。レイヤーが3つ重なり最上位レイヤーが表示されるので、そのままエクスポート→上位レイヤーを削除して再度エクスポートを繰り返せばOK。
※「r」の色相反転はgimpの色→Invert(反転)
※マテリアル設定は基本的にそのまま。金属の光沢向上や夜間発光させたい場合はTsukaさんのブログを参考に硬さ・強度・放射を設定する。私は目の硬さを480に設定&「o」をスペキュラカラーに設定して光沢を増すようにした。
テクスチャの各設定は今後見直す可能性が大いにありますが、とりあえず全てのテクスチャを貼って設定完了すると・・・
ボーンが邪魔で見づらいので赤矢印のところからレンダービューにしています。
このしわくちゃなのは「n」のジオメトリの影響なので、数値を小さくすればBlender上での見た目はきれいになりますが、とりあえずこのままビルドしてみましょう。
インポートしたfbxファイルと同じフォルダ(textureの上位フォルダ)にFBXエクスポート(設定は3項参照)して、アセットフォルダにエクスポートしたfbxファイルと「texture」フォルダを入れてビルドしてみると・・・
あれ?何故赤い・・・???
アラネアの服でざっと色々試してみましたが、高解像度のテクスチャが一枚でも含まれているとその部分は赤くなってしまうようです。[18/7/12追記] テクスチャ末尾を「bh」、「ah」等にすれば回避できました。
とりあえずしわくちゃでないのと髪がさらさらなのは一応確認できると思います。Blenderと『FF15』ではレンダリングが異なるのでBlenderでの見た目にこだわっても意味ないです。
気を取り直して、全て標準解像度のテクスチャに置き換えてビルドしてみると・・・
しっかりとテクスチャが反映されてフェイシャルモーションにも対応してます。
モデル崩れは一旦無視するとして、テクスチャに関しては細部に違和感はあるものの私はこれで妥協しました。ビルド→確認&スクショ→考えて設定変更→ビルドのループが1回30分くらいかかって時間がかかり過ぎる&疲れるので。。
新たな情報が見つかれば設定変更するかもです。
ここまででモデルとしては一旦完成なのでこの状態をオリジナルとして作業内容を保存(fbxファイルと同じフォルダにするのが無難、4項と5項実施したら上書き)しておきましょう。これをベースに各キャラ用にサイズを合わせます。
Blenderには色んな設定項目がありますが、ここまででテクスチャと眼球マテリアル以外の設定は変えていません。
ー2018/6/26
~髪の調整いろいろ~[18/7/12追記]
ここまでの設定だと髪の裏側が透過して消えてしまうのと、モデルによっては毛量が残念なことになることが多いようです。
これについてに戦友用MODを公開されているTsukaさん、ルナフレーナMODを公開されているおおひろりん(@rin_0414)さんよりコメント頂けましたので紹介させていただきます。
1.Tsukaさんより裏面透過抑制方法(上画像の赤枠と赤矢印)①編集モードで髪オブジェクトを複製(Shift+D)②「N」キーでプロパティパネルを表示して法線を表示(上画像の水色の線が法線)③左のシェーディングで法線を方向転換(水色の線が内側にくる)デメリット:オブジェクトを複製してるためファイルサイズが大きくなる。
厚み付けの方が簡単かつ裏面透過抑制効果は同じっぽいです。(19/2/19追記)
2.おおひろりんさんより毛量を増やす&裏面透過抑制方法(上画像の黄枠と黄矢印)
①マテリアルタブの影で「半透明影の受信」と「バッファーシャドウを投影(値1.0)」にチェック(影を受信することで毛量が増える?、半透明影の受信は他のオブジェクトにも設定してもいいかも)
②モディファイアタブで厚み付けを追加(裏面透過を抑制)
デメリット:厚み付けの影響で、例えばアラネアの髪留め(リボン)から髪がはみ出すので髪型次第。設定を調整すればきれいにできるかもしれない。デフォルトの厚み0.01=10mmなので、厚み0.00001=0.1mm等にすれば問題なさそう。なるべく幅は小さくする。(8/2追記)
3.あとは私が試した毛量を増やす方法として、①「a」テクスチャをペイントで開いて、全選択&コピペ後に矢印キーで数ピクセルずらしたものを「a1」として保存。②「a1」テクスチャを髪オブジェクトに重ね張り(ディフューズ強度1.0)デメリット:テクスチャを追加してるため容量が大きくなる。
すいません、細部比較してみましたが重ね貼りは効いてなさそうな気がします。(8/18追記)
4.毛量をさらに増やす方法(19/2/19追記)
基本的には厚み付けして「a」テクスチャを使用すればそれなりにきれいな髪になります。
が、サラのモデルでかなり薄毛になってしまいその際に試した方法です。
①オブジェクトモードで髪オブジェクトを2つ複製(Shift+D)
②増やした髪をZ軸+0.005(上方5mm)移動。一つをX軸+0.005,Y軸-0.005(右手前)移動し、もう一つをX軸-0.005,Y軸+0.005(左奥)移動。
デメリット:ファイルサイズが大きくなる。
要は複製した髪を3次元的にずらすことで重ね貼りのようなことを実現させています。上記の例だと毛量3倍になってるので複製数や移動量は各自調整してみてください。失敗しても複製オブジェクトを消せば元に戻るので再現性もあっておすすめです。
4.3 サイズを調整してみる(ほぼ失敗)
本項は失敗してるので読み飛ばしてもOKです。
~ノクトに合わせる(微妙)~
さて、今のままだと特に指先がモデル崩れしています。
1項や3項で試したようにモデルや衣装は、置き換え先のモデルとほぼ一致させる必要があるようです。
指に関しては、元のモデルより短いと反り、長いと指が伸びるというような感じです。
というわけで本項でサイズを調整していきます。
サイズを調整するにあたって、比較用の置き換え先のモデルが必要となります。
ひとまずはノクトに置き換えるので、サンプルのノクト衣装をBlenderに読み込んでみます。
こんな感じでボーンがどれだけズレているかまずは確認。
ノクト176cm、アラネア167cmらしいですがヒールのせいかモデル高さはあまり変わらないですね。
指先見ると分かるように指の位置が少し短いために、4.2項の最後はアラネアの指が反っているようです。
とりあえず身長差の1.05倍にしてみました。
アラネアのボーンを選択した状態で、Blender上で「S」キーを押すか、赤矢印をクリックすると拡大縮小モードになり、マウスの動きに合わせて拡大縮小できるようになるので、赤枠を見ながら1.05倍にしたところです。(1.05倍出力だけならエクスポート時の拡大設定でもOK)
単純拡張ではかなりずれますね。
このままだとノクトのモデルもエクスポートされてしまうので、右側のアウトライナーでノクトのオブジェクトを選択し、右クリック→「階層を削除」でノクトのモデルを削除します。
FBXエクスポートしてビルドしてみると・・・
単純な拡大縮小だけではボーンの位置が本来のモデルとずれてモデル崩れが激しくなるようです。
冒頭リンクの作成ガイドによると、サンプルモデルに合わせてモデルの変形やボーンの回転が必要らしいですが、よく分からなかったので対策として指先を合わせるよう拡大縮小してみました。
まず、「S」キーを押して正面から見て赤ラインのように指先の高さを合わせるよう拡大縮小。
次に、「S」キー、「X」キーの順に押して、赤枠表示のようにX軸方向にのみ拡大して指先の長さを合わせたところです。(実際は正面からだと分かりにくいので指の真上から見た方がいい)
アラネアの場合は高さはほぼ一緒だったので、横に太らせてしまいました。。
まあ仕方ないので、ノクトモデルを削除後にFBXエクスポートしてビルドしてみると・・・
横幅も姉さんちょっと太った?くらいで済みそう(笑)
とはいえ違和感あるのでこれじゃ使えませんね。
~イリスに合わせる(失敗)~
アラネア冬服モデルを使いたいのは間違いないですが、ノクトに置き換えたかったわけではありません。やはり女性らしい姉さんを見たいということでイリスに置き換えてみます。
早速比較用にイリスのボーン入りモデルを抽出(2項参照)して、インポート(100倍)してみると・・
ボスキャラみたいですね。(なんとなくゼノギアスを想起しました)
分かりにくいので以降レンダービューで表示します。
まずは、オリジナルサイズを比較してそのままビルドしてみると・・
こんな感じで指が長くなります。少し肩幅も広い感じしますね。
先ほどのノクトの要領で今度は全体縮小&横に細くしてみます。
指はだいぶ綺麗になりましたがモデル崩れてますね。。
実際は指ぴったりくらいまではできたのですが、モデル崩れが酷いので比較的マシな画像にしています。特に顔のモデル崩れは許容できないです。
うーん、単純な全体拡大縮小ではモデルが崩れるので無理みたいです。。
4.4 ポーズモードでサイズ調整してみる
冒頭リンクの作成ガイドで「モデルの変形やボーンの回転」という記載があり、一度試して諦めていたのですが、もう一度トライしてみました。結論としては上手く行きました。
ここからはBlenderの「ポーズモード」を理解する必要があります。
まず説明の前に、見やすさと作業のしやすさのために、ボーンをレントゲン表示しておきます。ついでにイリスモデルのボーンが邪魔なので以降は「ボーンなしモデル(2項参照)」を使用します。
ボーンを選択した状態で、赤矢印のデータタブを選択し、赤枠の「レントゲン」にチェックすることでモデルの中のボーンも表示されるようになります。
赤矢印か赤枠の「ポーズ」配下のボーンを選択するとポーズモードになります。
画像は黄矢印の「L_forearm(左前腕)」を、「S」キーで拡大縮小、「R」キーで回転、「G」キーで移動したところです。
前腕を動かしただけでその「子」である手首や指も変形・移動することが分かります(大事)。
敢えてものすごく崩しましたが、あくまで「ポーズモード」なので、実はモデルそのものは全く変形しておらず、「編集モード」にすると元のモデルを見ることができ、エクスポートしても元のモデルのままです。(これに気付くまでに10回近くビルドしました。。)
ちなみに、最初にインポートした際にアーマチュアを「X軸、Y軸」の順に設定していないと接続通りに変形しないかもしれません。(おそらくボーンの回転中心がずれる)
これを踏まえて早速ポーズモードでイリスのモデルに合わせてポーズを変形させていきます。
今回の場合は、全体的に縮小して顔のパーツ位置を合わせたあと、ポーズモードで「UpperArm(上腕)」を回転して腕の角度をざっくり合わせ、「Shoulder(肩)」をさらに回転して肩幅を小さくするとともに腕の角度を一致させ、「Shoulder(肩)」を縮小して指先の位置をほぼ一致させました。
さすがに100%の一致は無理ですが、一致させるほどビルド後のモデル崩れがなくなります。
今回は使いませんでしたが、体格が違い過ぎる場合に「ボーンの移動」や、顔のサイズが異なる場合に「Neck(首)」や「Head(頭)」の変形が必要かもしれません。
続いて、現段階はあくまでも「ポーズを変形」させただけなので、このポーズを「適用」していきます。
赤矢印から「オブジェクトモード」にして、ポーズモードで変形を伴ったオブジェクトを選択し、黄矢印のモディファイアータブから赤枠の「適用」をクリックすることで、変形させたモデルが固定されます。
「適用」したオブジェクトは黄枠内の青いスパナ(?)マークが消え、今回は腕関連の3つのオブジェクトを「適用」しました。
一旦「ポーズモード」に戻って、「Shoulder」を回転させてみるとモデルが固定されていることが分かります。が、このままでは逆にモデルとボーンとの関連付けが外れてしまっているので再度関連付けが必要です。
ボーンの関連付けの前に変形後の「ポーズ」を「適用」します。
「ポーズモード」で赤矢印のポーズ→適用→デフォルトのポーズを適用をクリックでOKです。
最後に、モデルとボーンを関連付けます。
「オブジェクトモード」にして、先ほど「適用」したオブジェクトを選択し、赤矢印のモディファイアータブで「追加」→「アーマチュア」を選択。
その後、赤枠の箇所に「Armature」と入力すれば関連付け完了です。(「適用」する前と同じ状態にした)
一応「ポーズモード」で動かしてみると、しっかりボーンとモデルが関連付けされていることが分かります。
これでサイズ調整は完了です!お疲れさまでした!
海外有志の作成ガイドでは「適用」について「Then, apply the Skeleton's armature modifier to your model.」の一文しかなく苦労しました(;´Д`)
一文でまとめるなら、「ポーズを変形→モデルを適用→ポーズを適用→モデルとボーンを関連付け」ですね。
というわけで、イリスモデルを削除してFBXエクスポート後にビルドしてみると・・
いい感じ!指の長さはぴったりですね。
イリス置き換え用のアラネア冬服モデル完成です!
ただ、この画像だと顔に少し違和感があったので、そういう場合は再度本項のサイズ調整を行います。顔のパーツを合わせるために縮小しすぎたのかもしれません。
それにしても、モデルMODや衣装MODのサイズに関してはやっぱつれぇわ仕様ですね。。
キャラモデルがあるのにワークショップはノクト置き換えばかりなのが不思議でしたがサイズ調整やってみてようやく理由が分かりました。
まあ『FF15』開発当初はMOD対応予定してなかったでしょうし、こうやって置き換えできるようになっただけでも感謝ですが。
ー2018/6/26
[18/6/28 表情調整追記]
上の画像で顔に違和感があると書いたのですが、その調整でドツボにハマっていました。
普通のときはいいのですが、表情が変わるとこんな風に顔のモデル崩れが激しくなり、眼球もズレているのか向こう側が見えている状況でした。
これを改善するために顔のボーンをサイズ調整してみたのですが、「Faicial_A」というボーンの配下には120超ものボーンがあり、「顔を調整する」という新項目の執筆準備までしながら色々調整してみたものの一向に改善する気配がありません。
が、結局簡単に直せました。
イリスはヒールのせいか体全体が少し前に出ていて肩から指先までは後ろに少し角度が付いています。
そして、この前後方向もモデルを一致させる必要があります!
具体的には、「ポーズモード」で「Hip」を-Y軸方向に動かすことで体全体を前に動かし、このままではまた指が少しモデル崩れしたため、再度「Shoulder」をこの向きで回転させて指のモデルを重ねました。
このくらい一致すると顔のモデル崩れが改善されます。(「適用」するのを忘れずに)
要はボーンが集中する箇所(顔や指)ほどミリ単位で一致させる必要があるようです。
(例えば前方向への移動は-Y軸方向へ0.023=23mm動かした)
アラネア→イリスの場合は、アラネアを全体縮小させただけで目や口の配置は一致しましたが、もし一致しない場合は頭や顔を拡大縮小や回転する必要があるかもしれません。
前後方向にずれているのは元々分かっていて、しかも一致させるほどモデル崩れがなくなると書いておきながら、勝手に前後方向は関係ないと思い込んでこれに気付くのに時間がかかりました。
ー2018/6/28
4.5 ウェイトを調整してみる?
ここまでの画像から分かるように、ビルドしたアラネアは腰布(?)部分から足がはみ出していて、これを解消するにはウェイト調整というものが必要となります。
「ウェイトペイントモード」で適当にウェイトペイントして動かしてみたところ。
文字通りウェイトペイントした部分が重くなるようですが、Blender解説サイトや作成ガイドを見る限り難易度の高い作業のようなので一旦保留しておきます。(Blenderと仲良くなれる気がしません。。)
一応、作成ガイドをgoogle先生に翻訳してもらったものをメモも兼ねてそのまま貼っておきます。
「今、私たちは難しい部分に行きます。ポーズモードに入り、メッシュを変形させてできるだけ恐ろしいものに見せてください。
ここで、あなたのモデルのいくつかの部分が不思議に見えます。これは、モデルの特定の部分が正しく変形していないことを意味する可能性があります(つまり、骨で動かず、別の骨で動くなど)。移送ウェイトはほとんどの場合正確ではないため、これは予想されます。
あなたのモデルを選択してウェイトペイントモードに入り、目に見える部分をウェイトペイントしてください。あなたのブラシの重さを1に設定し、ブラシの強さを1に設定します。
悲しいことに、簡単にウェイトペイントする方法はなく、私はそれを手助けできません。ひどく変形したメッシュのように見えて、それを手動でウェイトペイントするのはあなた自身のために決定する必要があります。」
ー2018/6/26
~ペアレント設定で簡易的にウェイト調整っぽくする~
みるさん(@Nsept0403)にコメント頂いた方法で腰布から足がはみ出る症状がかなり自然に改善しました。しかも簡単に。ありがとうございます!
「UpperLeg(太もも部)」と「Foreleg(すね部)」を動かしているのですが、どちらも腰布とは連動せずはみ出しています。
また、画像で選択している中央のボーンが赤枠の「LoinclothRoot(腰布大元)」というもので、この配下のボーンで腰布が動くようです。
ということで早速これらをペアレント(親子)設定してみます。
今回は「ボーン同士をペアレント設定」するので、Armatureを選択中に赤矢印の「編集モード」で「Shift」キーを押しながら膝下周りの腰布のボーンを複数選択し、最後に「Foreleg」を選択(赤枠)しています。最後に選択したものが親になります。
「編集モード」だと選択しにくいので、「ポーズモード」で複数選択してそのボーンで腰布とすねが動くことを確認しつつ、そのまま「編集モード」にする方がやりやすいと思います。(Forelegはビュー上から選択しづらいので右側のアウトライナーから選択した)
最後に「Ctrl+P」を押すと、ペアレントを作成の2択が表示されるので、黄矢印の「オフセットを保持」を選択すると、腰布の膝下部分がすねに連動して動くようになります。
同じように、「LoinclothRoot」と「UpperLeg」もペアレント設定しました。
腰布が足に連動して動くようになりました。
画像はありませんがこのままビルドするとゲーム中でもしっかり連動します!
アラネアは左足だけでしたが、スカートのように全周に渡る場合は右側と左側を別々に足とペアレント設定すればいけると思います。
ちなみにマフラーの末端もペアレント設定しようとしましたが、既に肩と連動していたので諦めました。なので、マフラーと上腕は干渉するままです。
これの応用、というか3Dモデルに慣れてる方には常識かもですが、例えばメガネのようなオブジェクトも頭とペアレント設定すれば連動して動いてくれそうですね。その場合、オブジェクトとボーンのペアレント設定について調べる必要がありそうですが、色々とアイデアが浮かんできました(^^)
モデル作成については以上です。情報が充実してきたらテクスチャ設定の見直しやマテリアルの設定も必要になるかもしれません。
ー2018/6/29
[18/7/12追記]
モデルによってサイズ調整しても一部が異常に伸びる・歪む、ペアレント設定しても動かない場合はほぼ間違いなく頂点グループとウェイトが原因です。
説明は難しいのですが、6項のラムウモデルに動かない場合の簡易的な修正方法記載してますのでそちらを参照ください。それ以外は自分で慣れていくしかないです。
[19/2/19追記]
モデルによっては腹部が異常に伸びるという症状が複数報告ありましたが、腹部に「Trans」or「Armature」のウェイトがあることが原因です。なので、伸びるオブジェクトの頂点グループで削除するか「C_Hip」にリネームすれば解消するはずです。
「Armature」はボーン全体を表すものなので、それにウェイトが振られているせいでおかしくなっているのだと思われます。
5.ワークショップへ投稿
ここまでの手順でそれなりに納得できるものに仕上がったので、最後にSteamワークショップに投稿します。
投稿の仕方自体は「MOD ORGANIZERを使う」に説明があるので省略。一応投稿時にビルドされました。
投稿後は、サムネイルに設定した画像しか表示されないため、Steamで画像を追加します。
Steamサイト上部の自身のログイン名を選択して「プロフィールを表示」→右下の「ワークショップのアイテム」→投稿したMODのサムネイルを選択
右側にオーナーコントロールがあるので、赤枠の「画像&動画の追加/編集」から画像を追加すればOKです。2MB以下なのでjpg変換すれば大体いけます。
私はここで「公開設定」にしましたが、MOD ORGANIZERで「公開設定」して最新MODから自分のMODを選択しても同じでした。
ちなみに、赤枠上部で「タイトル&説明の編集」ができますが、ここで編集したものは反映されずMOD ORGANIZER側で編集すると反映されました。
というわけで私の人生初MODがこちら。密かに狙っていたゲストキャラ置き換え一番乗りに間に合いました。
ワークショップ:Winter Aranea (Iris)
最終的に諦めるつもりで作り始めましたが、一応「内部データを使ってキャラを置き換える」という第一目標は達成でき、fbxすら知らないレベルからなんとかなるもんですね(^^;
ちなみに執筆当初からずーっと置いてた下のリンクは上手く行かないときに使うかもと思っていましたが、結局一通りBlenderで作れたのでもう不要ですね。しかも「XNALara」というソフト用のモデルのようなので使うとしたらまた変換が大変そうです。
アラネア冬服モデル
https://xelandis.deviantart.com/art/Final-Fantasy-XV-Aranea-DLC-XNALara-734348492
アンブラモデル
https://xelandis.deviantart.com/art/Final-Fantasy-XV-Doggies-XNALara-734387745
試したいことはまだまだたくさんあるので、とりあえずノクト用の置き換えモデルも作ったら次のモデルに着手予定です。
ー2018/6/29
ワークショップ:Winter Aranea (Noctis)
続き:PC版『FF15』3Dモデルど素人がMODを作成してみる3
情報ありがとうございます。 デバッグコマンドは3Dモード用として紹介されていた…