自分でMODをいじるとなると、様々なツールが必要である。
自分が自作武器をSkyrim内に導入する時に必要だったツールや知識を紹介する。
SkyrimのMODに関するネットの情報は所々古いことがあるため、調べる際は注意が必要。
もくじ
Skyrim 英語版をインストール
通常のインストールをすると日本語版になるが、日本語版はアップデートが止まっていて、バージョンが古い。そして、後述のSKSEが完全に一致したバージョンでないと動作しないため、英語版が必要になる。
一旦日本語版でインストールしたのち、下記の必要なデータ(字幕とボイス)をバックアップしておいて、英語版に変更する。
詳細なやり方は下記のSkyrimSELocalizerを参考にすること。
日本語化が必要ないならやらなくてもよい。
- Skyrim - Patch.bsa
- Skyrim - Voices_ja0.bsa
日本語化する (SkyrimSELocalizer)
SkyrimSELocalizer を利用する。
一番確実簡単なSkyrim Special Editionの日本語化|skyrimshot
自動更新されないように設定する
後述のSKSEは、Skyrimのバージョンと完全に一致していないと動作しないので、勝手にアップデートされないようにSteamの設定を変更する。
あくまでSkyrimを起動した時にアップデートを確認するようになり、完全なアップデートを無効化はできない模様。
7-Zip を導入する (.7z)
.7z形式で圧縮されているファイルを展開することができる圧縮・解凍ツール。
多くのMODがこの形式で配布されているので、ほぼ必須。
7zファイルを右クリックして、「展開...」で展開する。
メニューが多いので、不要なものはオプションで非表示にするとよい。
ダブルクリックで開けない
ダブルクリックで展開したい場合は、7-Zipの設定とレジストリをいじる必要があるため 、多少手間。
【雑記】7-Zip で圧縮ファイルをダブルクリックして展開する方法 - コガネブログ
アイコンが古い
デフォルトのアイコンが非常に古いため、変更するソフトを別途入れると良い。
このように多少設定が手間なので、あくまで7z用として使って、別のアーカイブソフトをメインに使うのもよい。
SKSE を導入 (Skyrim Script Extender)
多くのMODで利用されているツール「SKSE」をインストールする。
今後はskse64_loader の方からSkyrimを起動すること。
Vortexを導入する (MODマネージャー)
MODマネージャーを利用するとMODの管理が楽になる。
ダウンロード・インストール・順番の管理などを自動化してくれる。
MODの変更点は他のMODで上書きされることもあるので、読み込まれる順番が重要。変更が重複している場合、最後に読み込まれたものが優先される。
AddItemMenuSE を導入
既存のMODの武器や防具を、Skyrim内で直接入手できるMOD。
すぐにアイテムを入手したい時に便利。
- UIExtensions という別のMODが必須
- AddItemMenuSEに必須らしいが、自分の環境ではこのMODが動作してない?
- SKSEが必須
作りたいものに似ている武器MODを導入
新しい武器を追加するために、なんでもいいので置き換える用のMODを導入する。
斧モデルにしたいなら斧武器のMODを導入する。
自分は Obsidian Axe というMODを導入した。
- VortexでMODをインストールすれば、上画像のようなMODのファイル・フォルダが追加される
- モデルを編集したいなら、Meshesとtextures内のファイルを編集すればよい
SSEEdit を導入する
MODのプログラムファイルである.espを編集することができるツール。
武器の名前を変える程度のことしかしなかったが、調べればより高度なことができそう。
BAE を導入する (.bsa)
Skyrimに入っている.bsaファイル内を閲覧・データを取り出しすることができるツール。
このツールで、Skyrim - Meshes1.bsa などのファイルから.nifファイルを抽出できる。
- ~\Steam\steamapps\common\Skyrim Special Edition\Data\〇〇〇.bsa
NifSkope を導入する (.nif)
Skyrimで使われている3Dデータである.nifファイルを編集できるツール。
モデルをOBJで書き出したり、モデルやテクスチャの置換や、設定の編集を行うことができる。
既存のモデルを編集したければ、これでOBJモデルを書き出す。
3DCG編集ソフトでモデルを編集
自分はBlenderで作ったモデルをobjファイルで書き出した。
マテリアル(.mtl)も書き出さないとインポートに失敗する模様。
一応エラーが起こらないように気をつけたこと。
一部はやらなくてもいいかもしれない。
- 位置は0,0,0、回転0,0,0、スケール1,1,1
- メッシュオブジェクトは1つに結合する
- オブジェクト名・メッシュ名を同じにする
BlenderのNif Pluginは使えない?
新しいSkyrim内の武器.nifデータ内の"BSTriShape"という項目が新しいらしく、対応していないのでインポートできない模様。
NifScopeでも新しいnifの構造には、OBJ importという項目が利用できない。
既存MOD内のnifデータならNifScopeで置き換えできるようなので、今回は既存の武器MODのモデルを置き換える、という方法にした。
XnConvert を導入する (.dds)
Skyrimのテクスチャ形式であるdds形式のファイルを変換できる画像変換ツール。
ddsファイルを一旦編集できるpngファイルに変換して、クリスタ・Photoshopなどで編集後に、XnConvertでddsファイルに再度変換する。
ddsファイルを変換できるツールであれば、これでなくてもよい。
テクスチャを編集する
パスを変更する
置き換え用MOD内の武器のnifデータ > テクスチャセットのノード > テクスチャのパスを変更することで、自分のテクスチャを利用できる。
パスはSkyrimのData内から始まっているので注意。
テクスチャの種類
テクスチャ名 | 内容 |
---|---|
○〇〇.dds | ディフューズマップ 色。輝度は若干暗めに。 |
○〇〇_m.dds | 環境マップの映り込み 反射マップ? |
○〇〇_g.dds | 発光マップ |
○〇〇_n.dds | ノーマルマップ アルファにスペキュラ? |
Substance PainterなどでSkyrim用の書き出しプリセットを作るとよい。
質感調整
nifデータ内の BSLightingShaderProperty がシェーダー設定。
Skyrimにおけるメッシュの詳細とNifskopeの使い方(BSLightingShaderPropertyその2) - Skyrim箱庭DIY
部分的に発光させる
NifSkopeを使って武器・防具を光らせる - NO GIRLS NO SKYRIM
環境マップは共存できないようなので、別のメッシュを作って別のシェーダーを設定する必要があるようだ。
モデル全体が光らせたいならパーツを分けるだけでよいが、部分的に発光したい場合は、アルファマップを利用する。
【Skyrim】NifskopeのNiAlphaPropertyによる透過設定の使い方 - Skyrim箱庭DIY
発光部分を白・発光しない部分を黒とした、○〇〇_g.dds テクスチャを用意する。
ディフューズマップのアルファを、抜けるように作る。
デバッグする
変更を加えたデータをSkyrim内で確認するには再起動でもできるが、クイックセーブが便利。
クイックセーブ(F5)すると、装備していないモデルとテクスチャのデータが更新される。
デバッグ作業では、下記を繰り返す。
- 武器を装備から外す
- クイックセーブ(F5)を実行
- 武器を再度装備する
お気に入り登録してより早く
お気に入り登録するとより楽になる。
- 武器をお気に入りに設定しておく
- Qキー > エンターで装備切り替え
- Escでお気に入り画面を閉じる
- クイックセーブ(F5)を実行
- Qキー > エンターで装備切り替え
ワークフローのまとめ
モデルを作っていくワークフロー。
- Blenderでモデリング
- オブジェクトは分けて作ってもよい
- 三角形化モディファイアを設定する
- オブジェクトをすべて選択して複製
- ジオメトリに変換してモディファイアをすべて適用
- トランスフォームが初期値のオブジェクトにすべて結合
- OBJ形式でモデルを書き出す
- NifSkopeでOBJモデルを置き換え
- OBJをインポート
- Ctrl + Shift + C で追加したメッシュデータをコピー
- Ctrl + Shift + V で元のメッシュデータに置き換え
- プレイヤー用nifファイルと、フィールドに置く用のnifファイルがあるので、どちらもモデルを入れ替える
- Substance Painterでテクスチャペイント
- ディフューズ・反射・ノーマルマップを、png形式で書き出す
- XnConvert でpngファイルをdds形式に変換
- 出力パスをテクスチャフォルダの場所に設定しておけば、すぐに置き換えられる
- Skyrim内でデータを更新して確認
- Q > エンター > Esc > F5 > Q > エンター
- これを繰り返す