このページではBlenderでスカイリム用のメッシュファイルの入出力についてを解説します。
nifプラグインはスカイリム用にカスタムしてるのでかなり簡単になりました。旧来のやり方はBlender2.49bを使う旧方式
nifプラグインはスカイリム用にカスタムしてるのでかなり簡単になりました。旧来のやり方はBlender2.49bを使う旧方式
更新情報
- 2019/4/16 oppracoさん作の改良版nifプラグインの配布。
改良点
- Skyrim Shader Typeの入出力対応
- NiAlphaPropertyの出力対応。
- 環境マップの入出力対応。
- インポート時のスケルトンの整列を「なし」にすると複数のスケルトン付きメッシュ読み込みしても、エクスポート時におかしくならなくなりました。「Re-Align Tail Bone」だと旧来通り、別のスケルトン付きメッシュを同じ方法で読み込むと上書きしてしまいます。(「BoneExMat」データが必要なため)
- 2017/8/24 ボタン一発で出せるExport nif Script for Skyrimを追加。
- 2017/8/23 顔ファイル(FaceGen)の読み込みの項目を追加。 エラー別のtoo many values to unpack~の対処法について記載。
- 2017/7/02 Nif plugin for Skyrimがはじめからインポートのスケール0.1倍、エクスポートのスケール10倍設定になっていたのでそのままデフォルトに。動作には支障ありません。オプションの方を1倍スケールにしました。
- 2017/2/15 いくつか画像の追加。Texturesフォルダの作成を追加。
- 2016/4/13 旧方式からこっちをメインにするために内容を改変しました。
どれをダウンロードしていいかわかりづらいので、動作安定+スカイリム用の出力設定に改変したNif plugin for Skyrimを配布しています。
- 2016/4/08 Niftools Dismember Flags Panelの+の追加ボタンで追加できない問題を(勝手に)修正
必要なものをそろえる
Blender 2.7xの導入方法
- Blenderのバージョンアップが進み、2.7x以降も続々と登場しますが、本wikiではサポートしておらず、対応するプラグインも開発されていないため、2.7x代を推奨します。
- Blenderのダウンロードページへ行きます。
- 「Previous Versions」タブで過去バージョンを探します。最も新しい2.7xは2.79bです。
- Blender 2.7xを .ZIPのほうをダウンロードします。OSが64bitであれば、64bit、Mod Orgnaizerを経由する場合は32bitを選んでください。
- 適当なフォルダに解凍します。あとはblender.exeを起動すれば使えます。
Blender Nif Plugins
Blenderでnifファイルの入出力に必要なプラグイン(アドオン)でまだテスト用のビルドではあるんですが、すでに実用的です。
最新の2.7xの対応やスカイリムの暫定対応がなされています。
最新の2.7xの対応やスカイリムの暫定対応がなされています。
旧方式に比べてのメリット
- 使いにくいBlender2.49bを経由せず直接最新のBlenderにインポート/エクスポートできます。
- pyffiやnifscripts等すべて含まれているので煩わしいセットアップ作業が不要。→このアドオン一本あれば動く。
- スカイリムのnifを事前編集なしに直接読み込めます。→バージョンの書き換えや(一部)不要ノードの削除不要。
- フォルダ構成さえ正しければテクスチャ・UV・マテリアル設定、正しいボーン設定を保持したままインポートできます。→2.49bではできなかったこと
- エクスポート時にバージョンの書き換えや不要ノードの削除、パーティションの変更等の必要なし。テクスチャ設定も出力できます。
まだ出来ないこと
- アニメーションの入出力。アニメ付きnifも不可
- NiStringExtraDataの出力。
- BSEffectShaderPropertyが読み込めません。つまりエフェクト系はほぼ読めません。
- コリジョン(当たり判定)のエクスポート。出せることには出せますが、ゲームがクラッシュします。
動画
nif tools公式の導入ビデオ
アセット作成チュートリアル Blenderで作成したオブジェクトをSkyrimへ持ってくるまで by Tamu75
インストール
- 改良版nifプラグインをダウンロードします。
- 展開して「io_scene_nifフォルダ」を「Blenderのフォルダ\Blenderのバージョン\scripts\addonsフォルダ」に入れる。
- BlenderのUserPreference→Addons開いて、検索窓にnifと打ってImport-Export:NetImmerse/Gamebryo nif formatを表示させ、その一番右端をチェック。
- 左下Save User Settingを押して設定を保存。
※ImportError:No module named 'pyffi' が出て入れられない場合
ドライブ名:\Users\ユーザー名\AppData\Roaming\Blender Foundation\Blender\バージョン\scripts\addonsの方にio_scene_nifフォルダを入れてみてください。
インポート
「File」→「Import」から「NetImmerse/Gamebryo(.nif)」を選択します。
設定はファイルブラウザの左下に表示されます。
設定項目はそのままでも読めます。
設定はファイルブラウザの左下に表示されます。
設定項目はそのままでも読めます。
{インポート時にMeshesファイルとTexturesファイルが同じ階層のフォルダにあってnif上で指定してあるテクスチャがある場合は
テクスチャ設定を読み込んでくれます。ぜひテクスチャの方も展開しておきましょう。}
テクスチャ設定を読み込んでくれます。ぜひテクスチャの方も展開しておきましょう。}
インポート時にテクスチャが読み込めない場合、黒いメッシュで表示されますがバグではないです。
View Port ShadingをSolidに、
View Port ShadingをSolidに、
プロパティウィンドウのShading→Matcapにチェックを入れます。
武器nifの読み込み時の注意点
武器にはEdgeBloodという血糊のエフェクトが大抵ついていて読み込めません。
ですのでインポート前に事前にnif skopeで削除してください。
ですのでインポート前に事前にnif skopeで削除してください。
- EdgeBloodを選択して、Ctrl+Deleteで削除できます。
- 同様にEdgeBlood01も削除します。
- File->Save As...でインポート用に別名で保存します。例:xxx_import.nif
顔ファイル(FaceGen)の読み込みの注意点
nif形式で読み込むと頂点数が変わってしまうので、入出力してもゲームでは使えません。
通常は最新版のBlenderでOBJ形式で入出力します。
通常は最新版のBlenderでOBJ形式で入出力します。
obj形式での読み込み
nif Skope(バージョンはどれでも可)で出力したい顔のnifファイルを開き、顔のNiTriShape(~Head~)を選択して、File>Export>Export .OBJで出力。
Blender2.7xでFile>Import>Wave front(.obj)で+Keep Vert Orderを選択して、Y Forward Z upで読み込みます。
Blender2.7xでFile>Import>Wave front(.obj)で+Keep Vert Orderを選択して、Y Forward Z upで読み込みます。
読み込んだらTキーでツールシェルフ開いて、Tools>Shading:>Smoothをかける。スムースかけないとカクカクになってしまうので。
あとはお好みで編集しますが、頂点を分割したり追加したりはしてはいけません。
あとはお好みで編集しますが、頂点を分割したり追加したりはしてはいけません。
obj形式での出力(差し替え)
Object modeで顔ファイルを選択し、
File>Export>Wave front(.obj)で+Keep Vertex Orderを選択して、Y Forward Z upで出力します。
File>Export>Wave front(.obj)で+Keep Vertex Orderを選択して、Y Forward Z upで出力します。
Nifskope 1.20 Alpha2(2.0はインポート不可)で読み込みに使った顔のnifファイルを開きます。
顔のNiTriShape(~Head~)を選択して、File>Import>Import .OBJで読み込みます。
これで差し替えの完了です。
顔のNiTriShape(~Head~)を選択して、File>Import>Import .OBJで読み込みます。
これで差し替えの完了です。
nif形式での読み込み
このやり方で読み込んでもゲームでは顔ファイルとしては使えません。
nif形式で読み込みたい場合はそのままでは読み込めないのでBSFaceGenNiNodeSkinned>NiTriShape>BSDismemberSkinInstance>Skeleton RootのValueを0にします。
これをすべてのNiTriShapeで行います。首のあたりがひっくり返りますが、読み込みには問題ありません。別名で保存して、あとは下記のインポートと同じで読み込んでください。
nif形式で読み込みたい場合はそのままでは読み込めないのでBSFaceGenNiNodeSkinned>NiTriShape>BSDismemberSkinInstance>Skeleton RootのValueを0にします。
これをすべてのNiTriShapeで行います。首のあたりがひっくり返りますが、読み込みには問題ありません。別名で保存して、あとは下記のインポートと同じで読み込んでください。
ワークフロー
モデル制作→UV展開→テクスチャ→ここでベースメッシュと差し替えもしくはnif項目の手動設定→ウェイトを塗る→エクスポート
エクスポート前の設定
スカイリムのnifからインポートしたものはエクスポートに必要な設定を保持してるのでそのままエクスポートできます。
自作メッシュの場合はメッシュを差し替えて設定を引き継ぐパターンと、一から手動で設定するパターンがあります。
自作メッシュの場合はメッシュを差し替えて設定を引き継ぐパターンと、一から手動で設定するパターンがあります。
メッシュを差し替えて設定を引き継ぐ方法
nifの設定を手打ちするのはけっこう大変なのでベースメッシュを読んでメッシュだけ差し替えるのが簡単です。
ベースにするメッシュをnif importで0.1倍スケールで読み込みます。
たとえば、頭装備で髪型を非表示するものは鉄の兜等のnifファイルを読み込みます。髪型表示したい時のベースはサークレットにします。
ベースにするメッシュをnif importで0.1倍スケールで読み込みます。
たとえば、頭装備で髪型を非表示するものは鉄の兜等のnifファイルを読み込みます。髪型表示したい時のベースはサークレットにします。
オブジェクトモードで作ったモデル→ベースメッシュの順に選択。Ctrl+Jで統合。
エディットモードで位置合わせ。
元のメッシュはエディットモードで削除。元メッシュの選択はCtrl+L(選択頂点に接続されてるメッシュ全選択)で選択します。
ベースメッシュのマテリアルは削除せずにそのまま引き継いでテクスチャのパスだけ変更します。
エディットモードで位置合わせ。
元のメッシュはエディットモードで削除。元メッシュの選択はCtrl+L(選択頂点に接続されてるメッシュ全選択)で選択します。
ベースメッシュのマテリアルは削除せずにそのまま引き継いでテクスチャのパスだけ変更します。
ウェイトがある場合は、頂点グループをアサインし直して、塗りなおしかコピーして仕上げる。
一から手動設定
一から作った場合は手動で設定していきます。
一から設定する場合でも元となるメッシュ(髪なら髪、武器なら武器のバニラのnifファイル)を見つけて、それに設定をあわせて行きます。
一から設定する場合でも元となるメッシュ(髪なら髪、武器なら武器のバニラのnifファイル)を見つけて、それに設定をあわせて行きます。
Texturesフォルダの作成
作業中の.BlendフォルダがあるところにTexturesフォルダを作ります。
そうでない場合に出力時にエラーになります。
そうでない場合に出力時にエラーになります。
たとえば:Textures\Clutter\Food\XXX\のように実際に配布する場合のフォルダ構成にしておくとパスの変更がいらないので楽。
マテリアル
法線情報が欠落するのでマテリアルが必須です。このあたりは2.49bと同じ作業です。
1.プロパティウィンドウからMaterialを新規作成。
2.となりのTextureアイコンからNewを押してテクスチャを新規作成してます。
3.Type:をImage or Movieにし、左のアイコンかOpenを押して画像の指定をします。
4.MappingをUVにして、Map:を選びます。
ノーマルマップの設定
前述のマテリアルの2.以降と手順は同じです。
マテリアルはそのままでテクスチャを作って画像をし、UVを設定します。
マテリアルはそのままでテクスチャを作って画像をし、UVを設定します。
Texturesプロパティ内のImage SamplingのNormal Mapにチェックを入れます。
InfulenceのGeometry:Normalのみチェックを入れます。
InfulenceのGeometry:Normalのみチェックを入れます。
シェーダーの設定
オブジェクト(立方体のアイコン)→Niftools shader→ShaderTypeをBSLightingShaderPropertyに選ぶ。
それ以下のフラグのチェックは元となるnifファイルを参考にしてください。
※BS Lighting Shader Object Typeは現在Defaultのみ対応
※ウェイトがある場合はSkinnedに必ずチェックしてください。
それ以下のフラグのチェックは元となるnifファイルを参考にしてください。
※BS Lighting Shader Object Typeは現在Defaultのみ対応
※ウェイトがある場合はSkinnedに必ずチェックしてください。
バージョン設定
NifObject Panelから
Nif Version 20.2.0.7
User Versionを12
User Version 2に83
ここまでは固定です。
Nif Version 20.2.0.7
User Versionを12
User Version 2に83
ここまでは固定です。
中段Nif Root Node:NiNodeですが、元となるnifをnifskopeで開いて、一番上段のノード名に合わせます。
エフェクト、スケルトン、ウェイトのないメッシュはBSFadeNode
ウェイト付きメッシュはNiNode
ウェイト付きメッシュはNiNode
BSXFlagはnifskopeで見てBSXFlagsノードがある場合は、Block Details内のInteger Dataにあわせます。
スロット(DismemberFlag)の指定
ウェイトと装備スロットがある場合のみ設定します。
元となるメッシュにBSDismemberSkinInstanceのノードがある場合が該当します。
元となるメッシュをBSDismemberSkinInstancePartitions→Partition→Partitionsの設定と合わせます。
元となるメッシュにBSDismemberSkinInstanceのノードがある場合が該当します。
元となるメッシュをBSDismemberSkinInstancePartitions→Partition→Partitionsの設定と合わせます。
自作モデルにスケルトンを入れたい場合は
オブジェクト→スケルトンの順番でShift+右クリックで2つ選択。
Ctrl+PでArmature Deformを選びます。
オブジェクト→スケルトンの順番でShift+右クリックで2つ選択。
Ctrl+PでArmature Deformを選びます。
エクスポート前のチェックリスト
- バージョンはあってるか?
- Nゴン(多角形ポリゴン)はないか? Mesh Lintというアドオンで調べることが可能※Blender アドオン参照。分割しておく。
- ウェイトの塗り残しはないか?分割やメッシュ(頂点)の修正度にその箇所はウェイトの塗り直しが必要。アサインで予め全部頂点塗っておくと便利。
- オブジェクトモード時のメッシュのスケールが1.0倍になっているか? プロパティパネルでScale値で確認可能。Ctrl+A→Scaleで1.0倍に直せる。
エクスポート
出力したいオブジェクト選んで、
File→ExportからNetImmerse/Gamebryo(.nif)
File→ExportからNetImmerse/Gamebryo(.nif)
Game:Skyrimを選択
Smoothen Inter-Object Seam、Skin Partition、Flatten Skin、Force DDSにチェック。
Smoothen Inter-Object Seam、Skin Partition、Flatten Skin、Force DDSにチェック。
※2.49bで作ったデータ(nif importをバージョン変更ありで経由している場合)は大きさが0.1倍になってるので、Scale Correction Exportを10.0にして出力します。
これはImport時に0.1倍の大きさで読みこんだ場合も同じです。
これはImport時に0.1倍の大きさで読みこんだ場合も同じです。
エクスポート用のスクリプト
Export nif Script for Skyrim
エクスポートは上記の手段で行えますが、これはエクスポートの選択したオブジェクトひとつをボタン一発で出力します。
バージョンやシェーダーの設定を自動的に行うのでよく起こりがちなエラーを回避できます。
使い方や詳しい説明はリンク先のブログ記事に記載してます。
エクスポートは上記の手段で行えますが、これはエクスポートの選択したオブジェクトひとつをボタン一発で出力します。
バージョンやシェーダーの設定を自動的に行うのでよく起こりがちなエラーを回避できます。
使い方や詳しい説明はリンク先のブログ記事に記載してます。
エクスポート時のエラー別トラブルシューティング
ポップアップでエラー出ますが、クリックすると消えるのでそのあと確認したい場合はEditor Typeをinfoにするとログが読める。
エラーはこの行を読みます。下から二行目あたり。
Export version expected shader. no shader applied to mesh '<bpy_struct, Object("XXXX")>', these cannot be exported to NIF. Set shader before exporting.
→シェーダーが付いてない。プロパティのObject→niftools shader→ShaderTypeをBSLightingShaderPropertyに選ぶ。
→シェーダーが付いてない。プロパティのObject→niftools shader→ShaderTypeをBSLightingShaderPropertyに選ぶ。
Cannot export mesh with unweighted vertices. The unweighted vertices have been selected in the mesh so they can easily be identified.
→ウェイトが塗れてない頂点が存在する。エラーが出た時点で塗れてない頂点が選択状態になっている。この状態でEditor ModeのVetex GroupsでAssignすると早い。
→ウェイトが塗れてない頂点が存在する。エラーが出た時点で塗れてない頂点が選択状態になっている。この状態でEditor ModeのVetex GroupsでAssignすると早い。
Some polygons of <bpy_struct, Object("xxx")> not assigned to any body part. The unassigned polygons have been selected in the mesh so they can easily be identified.
→UNPで起こるウェイトの設定ミス。肌部分をオブジェクトモードで選び、Object DataのVertex Groupsに末尾に.001(例:SBP_32_BODY.001)が付いたデータがあるのでマイナスボタンを押して消す。
基準頂点グループに全肌メッシュを再適用しないといけないので、Vertex Groupsから基準頂点グループ(例:SBP_32_BODY)を選び、Edit Modeに入ってAキーで全選択、Assignボタンを押す。
→UNPで起こるウェイトの設定ミス。肌部分をオブジェクトモードで選び、Object DataのVertex Groupsに末尾に.001(例:SBP_32_BODY.001)が付いたデータがあるのでマイナスボタンを押して消す。
基準頂点グループに全肌メッシュを再適用しないといけないので、Vertex Groupsから基準頂点グループ(例:SBP_32_BODY)を選び、Edit Modeに入ってAキーで全選択、Assignボタンを押す。
Assertion Error
→重複頂点などの論理矛盾の箇所がある。エディットモードに入って、全選択→ツールシェルフ→Tools→Remove Doublesで直る。
→上記で直らない場合は、三角ポリゴンと四角ポリゴンが混合しているメッシュの可能性が高い。メッシュ→Faces→triangulate facesで直る。
※出力時に自動で三角ポリゴンに分割するので本来は三角と四角ポリが混在していても問題無いですが、このようにエラーが出る場合もあるようです。
→重複頂点などの論理矛盾の箇所がある。エディットモードに入って、全選択→ツールシェルフ→Tools→Remove Doublesで直る。
→上記で直らない場合は、三角ポリゴンと四角ポリゴンが混合しているメッシュの可能性が高い。メッシュ→Faces→triangulate facesで直る。
※出力時に自動で三角ポリゴンに分割するので本来は三角と四角ポリが混在していても問題無いですが、このようにエラーが出る場合もあるようです。
AttributeError: 'TextureHelper' object has no attribute 'context'
→指定したテクスチャファイルはTexturesフォルダ内にないと出るエラー。Texturesフォルダを作成または移動して、プロパティウィンドウのTexture→Images指定しなおしてください。
→指定したテクスチャファイルはTexturesフォルダ内にないと出るエラー。Texturesフォルダを作成または移動して、プロパティウィンドウのTexture→Images指定しなおしてください。
ValueError: need more than 1 value to unpack
→nifのバージョン指定がされてない。Niftools Object Panelの項目でNif Versionを20.2.0.7にする。
→nifのバージョン指定がされてない。Niftools Object Panelの項目でNif Versionを20.2.0.7にする。
ValueError: too many values to unpack (expected 4)
→nifのバージョン指定のミス。Niftools Object Panelの項目でNif Versionを20.2.0.7にする。
スケルトンも同じ数値でバージョン指定しましょう。
→nifのバージョン指定のミス。Niftools Object Panelの項目でNif Versionを20.2.0.7にする。
スケルトンも同じ数値でバージョン指定しましょう。
'xxx': version does not match selected export settings
→バージョンの不一致。おそらくエクスポート設定がOblivionになっているのでSkyrimに変える。
→バージョンの不一致。おそらくエクスポート設定がOblivionになっているのでSkyrimに変える。
Texture is set to use UV but no UV Mapis Selected for Mapping > Map
→UVマップの設定がされていない。プロパティウィンドウのテクスチャ項目→Mapping→Map:からUVmapを選択。
→UVマップの設定がされていない。プロパティウィンドウのテクスチャ項目→Mapping→Map:からUVmapを選択。
症状別トラブルシューティング
動きにメッシュが追従しない(出力したnifにBSDismemberSkinInstanceがついてない)
考えうる原因
- Export時にSkin PartitionがONになってない。
- ウェイトがついてない。→EditModeでAで全選択してAssignでとりあえず全部塗っちゃうのをオススメします。コピーするならBlender最新のだとボーンウェイトコピーがないのでTransfar Weights使う。
- 装備の場合はVertexGroupが出力前につけるスケルトンのNode(+BP_TORSO)が一致しないといけません。例えば頭装備ならNPC HeadとBP_TORSOのVertexGroupが必要
- 出力時にメッシュにスケルトンがついてない→ モディファイアからArmatureで出力用のスケルトンをつける。
- BSLightingShaderPropertyのSLSF1_Skinnedのチェックを入れてください。 BlenderではNiftools ShaderのSkinnedにチェックを入れます。
SkinInstanceがついていてもウェイト情報が抜ける
- Blender上でマテリアルの設定がされてない可能性があります。
NiTriShape→NiTriShapeDataのBlock DetailsのHas NormalsがNoになっている場合はマテリアルが適切に設定されてません。
もう一度マテリアルの設定を見なおしてみてください。
もう一度マテリアルの設定を見なおしてみてください。
位置がずれる
スケルトンの位置情報がおかしいかもしれません。一旦Blender上のスケルトンを削除してImportから付け直します。
CK上では表示されるのにゲーム内で表示されない
BSDismemberSkinInstance→Partitions→PartitionsのBody Partの設定がおかしいかもしれません。
該当のnifを開いてBSDismemberSkinInstance→Partitions→PartitionsのBody Partの部分を元のnifと合わせます(=CKのArmorAddonのスロットデータと一致させる)。
Valueのところをダブルクリックすると右側に三角のプルダウンメニューが出るのでそれを押して合わせます。
該当のnifを開いてBSDismemberSkinInstance→Partitions→PartitionsのBody Partの部分を元のnifと合わせます(=CKのArmorAddonのスロットデータと一致させる)。
Valueのところをダブルクリックすると右側に三角のプルダウンメニューが出るのでそれを押して合わせます。
例えば、鉄の兜(Data\Meshes\armor\iron\f(男性はmale)\helmet.nif)の置き換えするときに元の鉄の兜のPartitionsはSBP_131_HAIRで、置き換えモデルもSBP_131_HAIRすると表示できます。
これをSBP_142_CIRCLETにしても表示できないです。サークレットのPartitionsならサークレットの置き換えでないとできないです。
これをSBP_142_CIRCLETにしても表示できないです。サークレットのPartitionsならサークレットの置き換えでないとできないです。
モデルデータが表示されない(透明になる)
ウェイトなしのモデルデータはBSLightingShaderPropertyのSLSF1_Skinnedのチェックを外してください。
逆にウェイトありの場合はSLSF1_Skinnedにチェックを入れます。
逆にウェイトありの場合はSLSF1_Skinnedにチェックを入れます。
スケールの設定ミスで小さすぎて見えてない場合があります。ゲーム内でしたらコンソールのtwfでオブジェクトの原点位置に小さくメッシュが見えたりします。
0.1倍で読み込んだ、もしくは昔blender2.49bのデフォルト設定で読み込んだメッシュはExport10倍の設定で出してください。
0.1倍で読み込んだ、もしくは昔blender2.49bのデフォルト設定で読み込んだメッシュはExport10倍の設定で出してください。
テクスチャが反映されない(ゲーム内で紫色になる)
テクスチャの読み込みができてません。TextureSetのファイルパスのミスか、テクスチャファイルを指定のフォルダに置いてないか確認してください。
手足がずれる。
Partitionの設定が間違ってます。
BlenderのNiftools Dismember Bone Flags Panelの一番上(Start Net Bonesetがついてるもの)以外を削除します。
その一番上のVertex GroupsをEdit Modeで全選択して、Weight1.0でAssignを押して塗り直し。
BlenderのNiftools Dismember Bone Flags Panelの一番上(Start Net Bonesetがついてるもの)以外を削除します。
その一番上のVertex GroupsをEdit Modeで全選択して、Weight1.0でAssignを押して塗り直し。
一部分または全部が表示できなかったり、一部分が伸びたりする
一部分の場合はその箇所に正しくウェイトが塗れてません。出力時につけるスケルトンや、頂点グループ名が間違ってる可能性があります。
修正されたエラー
AttributeError: 'MeshHelper' object has no attribute 'context'
→ウェイト全部塗れてない。Editor ModeのVetex Groupsでメッシュ全選択してからAssignで全てにウェイト塗った状態だと塗り残しが無くなります。12/04版で修正
→ウェイト全部塗れてない。Editor ModeのVetex Groupsでメッシュ全選択してからAssignで全てにウェイト塗った状態だと塗り残しが無くなります。12/04版で修正
Mesh only has one Vertex Color layer default alpha values will be written - For Alpha values add a second vertex layer, greyscale only
→頂点アルファが非対応なので単純に付けただけの頂点カラーを削除してください。 ただのダミーの頂点カラーが必要時はnif側でNiTriShapeDataのHas Vertex ColorsのNoをダブルクリックで付けれます。 シェーダーの方VertexColorのフラグ外してたほうがいいです。 12/02版で修正。
→頂点アルファが非対応なので単純に付けただけの頂点カラーを削除してください。 ただのダミーの頂点カラーが必要時はnif側でNiTriShapeDataのHas Vertex ColorsのNoをダブルクリックで付けれます。 シェーダーの方VertexColorのフラグ外してたほうがいいです。 12/02版で修正。
その他
- NiSkinInstanceからBSDismemberSkinInstanseにしたいとき。
BSDismember~ってなんぞやといえば、パーティション(≒CK上の装備スロット)を設定します。
ウェイト付きメッシュで身に付けるものはほぼ必須です。
ウェイト付きメッシュで身に付けるものはほぼ必須です。
オブジェクトモードで設定したいオブジェクトを選択し、逆三角アイコンを選択して、
NifTools BSDismember Flags Panelを開きます。
Partition Countはパーティション数。その下はパーティション名を入れます。
元にするnifと同じ設定にしてください。
NifTools BSDismember Flags Panelを開きます。
Partition Countはパーティション数。その下はパーティション名を入れます。
元にするnifと同じ設定にしてください。
肌が浅黒くなる、透明になる、肌のテクスチャの表示がおかしい。
BSLightingShaderPropertyのSkyrim Shader Typeが今のところ、デフォルトしか対応していません。
nif skopeでボディのNiNodeのBSLightingShaderProperty、Skyrim Shader TypeをSkin Tintに変えて、Shader Flags 1をダブルクリックし右端の▽を押してFaceGen Tint RGBにチェックを入れます。
nif skopeでボディのNiNodeのBSLightingShaderProperty、Skyrim Shader TypeをSkin Tintに変えて、Shader Flags 1をダブルクリックし右端の▽を押してFaceGen Tint RGBにチェックを入れます。
リンク
Nif plugin for Skyrim(tktk謹製。opparcoさんのプラグインが上位互換なのでそっち使いましょう)
- Mod organizer使ってる人は32bit verのblenderをダウンロードしましょう -- tokikake (2014-10-25 14:26:56)
- UNPB体型でしか確認してませんが、上で書かれてる .001のついたveretx groupの削除と、ウェイトの移し替えやると、exportはできるんですが、元ファイルのNiSkinpartitionのウェイトも変更することになると思うんですが、いいんでしょうか? -- 名無しさん (2014-10-25 17:12:44)
- partitionblock数(UNPB体型だと2つ)も当然2から1に変更されますよね -- 名無しさん (2014-10-25 17:37:11)
- ああわかりました。partitionblockだけ元ファイルからもってきて、手動で修正ですね。 メッシュ修正しただけですが問題なく動いてます。 -- 名無しさん (2014-10-25 20:29:54)
- スケルトン読み込むと、一部名前が書き換わりますね。大腿骨のNPC L Thigh [LThg]がNPC Thigh [Thg].Lみたいに -- ちびくま (2014-11-23 05:59:32)
- ボーン名はBlenderの命名規則に則って変更されます(ウェイトペイントが左右対称に出来たり)。エクスポート時に戻るので心配なく -- tktk (2014-12-16 22:36:12)
- nifファイルを出力する際に指定するテクスチャが「Textures」という名前のフォルダ配下にない場合にエラーが出ました。出力時したnifファイルのテクスチャのパスを「Textures」という名前のフォルダ配下の相対パスにしてくれるからなのかなと思います -- ponzu (2015-01-09 02:09:53)
- 剣や斧のnifファイルをインポートする際、BSShaderTextureSetを持たない方の血糊のNiTriShapeは削除しないと読み込めませんでした。 -- ponzu (2015-01-09 02:13:06)
- Fで新たに作った面のみテクスチャが変に表示されてしまう不思議 -- 名無しさん (2015-01-25 19:14:31)
- これそのままメッシュ読み込むとマテリアルがないって警告出てインポートできませんよね -- 名無しさん (2015-03-12 16:59:45)
- 基本的にほとんどが読み込めます(マテリアルなくても)。そのまま読めないのは武器とか一部ありますね。 -- tktk (2015-03-14 11:37:29)
- Niftools Object Panelってblenderにあるのか。20.2.0.7なのにエラーでてまうわ -- 名無しさん (2015-04-08 21:11:26)
- ブレンダー上だとあるのに、出力すると表示されない 選択してるのにっていうかボディにくっつけてるのに出力するとそこだけ穴あいて表示されない -- 名無しさん (2015-07-11 21:18:35)
- TTypeError: bpy_struct: item.attr = val: enum "MATERIAL" not found in ('BOUNDBOX', 'WIREFRAME', 'SOLID', 'TEXTURED', 'RENDERED') -- 名無しさん (2015-10-18 10:56:08)
- いけねミスった 上記のエラーが出てインポートできないんですがどうすればいいんでしょうか -- 名無しさん (2015-10-18 10:56:54)
- 読み込めるし出力できるんですが、どうやっても、テクスチャが変わってしまう。パスは同じなのに黒くなる。Nif scope でにらめっこしても違いがないはずなんですが。 -- 名無しさん (2016-04-16 18:56:26)
- UNPBのメッシュをそのままインポートしてテストしても同じ。ノード名などは元に戻してます。 ただもともとhas normal はNOなのでそのままにしてますけど。 -- 名無しさん (2016-04-16 18:58:00)
- あと、いくらルート名をそろえてもエクスポート後は、ファイル名がルート名になりますよ -- 名無しさん (2016-04-16 19:07:33)
- 自己解決しました。 BSLighting shader property の、Shader Flags1 で、Facegen data tint にチェックがついてなかった。 リンク先参照でわかりました。 -- 名無しさん (2016-04-16 19:55:21)
- 'NifExport' object has no attribute 'get_object_matrix'のエラーは、どうすれば回避できますか? -- 名無し (2016-08-25 23:37:08)
- TypeError:'NoneType'object is not subscruptable というエラーでエクスポートができません・・・。 -- 名無しさん (2016-09-07 23:29:03)
- 肌色が変化する理由の一つにspecular, (glosiness)の値が変わっている時があります。 -- tokikake (2017-04-02 12:31:50)
- windows 10 で、 Nifskope 1.20 Alpha2が、どうやっても起動しなくなった人は、現行版ではfacegenの差し替えができません。 -- tokikake (2018-05-04 21:50:20)
- でも、こちらのリンクhttps://www.nexusmods.com/skyrim/mods/62065/ の、Meshtools N1なら、大丈夫です。facegen.nif の修正に大助かりです -- tokikake (2018-05-04 21:52:46)
- Make sure there is only one texture with Influence > Diffuse > colorというエラーが出てエクスポート出来ないのですが、どなたか心当たりがある人はいるでしょうか? -- 名無しさん (2018-08-11 17:58:55)
- 既存のnifをimportしそのままexportしようとするのですが、export時に 下記のエラーが出ます。どうすれば良いのでしょう? ValueError: not enough values to unpack (expected 4, got 1) -- 名無しさん (2018-09-11 10:28:34)
- Nif Pluginsは自らはエラー処理をしないので、Python?の生のDebugOutを見ることになる。 このDebugOutをググっても殆どヒットせず途方に暮れる。 かと言ってソースを読もうという気力もない。nifに対する知識が皆無なので。 このような悪開発環境下で開発しているmodderは凄いと思う。 -- 名無しさん (2018-09-15 09:04:24)
- 肌が浅黒いからSkin Tint&FaceGen Tint RGBにチェックを入れて保存するとCTDするのですがどなたか心当たりがある方いますか? -- 名無しさん (2019-02-18 22:09:10)
- blender2.71/2.79bの32/64bitでもnifプラグインは導入出来るのですが、nifをインポートするとエラーになります。フォルダに日本語無し、win10最新、様々なnifファイルを試しても同じでした。ググったのですがお手上げです。 -- 名無しさん (2019-06-12 14:13:28)
- oppracoさん作の改良版nifプラグインをBlender2.8に導入したところ、「2.8xへのアップグレードが必要」と出ました、無視していいですか? -- 名無しさん (2019-09-16 20:43:49)
- nifプラグインはいまのところBlender 2.79までしか対応してません。 -- tktk (2019-09-30 22:52:00)
- 初blenderで既存のnifインポート→編集→エクスポートで"ValueError: not enough values to unpack (expected 4, got 1)"が出て困ってたけど一旦新規で始めて最初の四角いゴミ消したら直った… 存在をすっかり忘れてた -- 名無しさん (2019-12-31 15:24:21)
- 私も「名無しさん (2019-06-12 14:13:28)」とほぼ同じです インポートする段階でエラーが発生します win10 64bitでやっています お手上げ侍です -- ななし (2020-01-03 00:10:47)
- つまり2.8でnif作成ができないという事は, -- 名無しさん (2020-05-08 14:25:18)
- Blender2.8では武器や防具は作っても導入できないのですね? -- 名無しさん (2020-05-08 14:26:30)
- 残念ながらそうみたい -- 名無しさん (2020-08-03 16:26:58)
- おま環かもしれないのですが、SE版のBSTriShapeが入ってるNifファイルって現状インポートする方法が無いんでしょうか? Blender2.79bでLE版のNifファイルは読み込めるんですが、Unknown block 'BSTriShape' というエラーが出てしまって -- 名無しさん (2020-08-09 20:55:59)
- すいません途中で切れてしまいました。上記のエラーがでてSE版のNifファイルは読み込めないんですが…… -- 名無しさん (2020-08-09 20:58:52)
- 私もそれに悩まされています・・・・。 -- 名無しさん (2020-11-19 21:38:06)
- 私も初めてのBlender挑戦中にそのBSTriShape問題に引っかかりましたが、某掲示板で尋ねたところOptimizerで一度LE用にコンバートすることで解決するとのことでした。実際やって見ると読み込みはできましたが、それによる弊害があるのかはわかりません…参考になれば幸いです。 -- 名無しさん (2020-12-18 17:45:48)
添付ファイル
- addon.png
- armature.PNG
- BSDismemberFlags.png
- BSXFlag.PNG
- BSXFlagInt.PNG
- Consistancy.PNG
- DeleteEdgeBlood.png
- ExportSetting.png
- MatCap.png
- material.png
- newtexture.png
- ObjectButton.PNG
- objexport.png
- objimport.png
- ParentSkeleton.png
- SetNormalMap1.PNG
- SetNormalMap2.PNG
- settextures.PNG
- Shader.PNG
- Solid.png
- TargetTexture.png
- texsetting.png
- TexturesFolder.png
- userpref.png
- UVset.PNG
- Version.PNG
- VertexGroup_DismemeberFlag.PNG
- ViewError.jpg