モーフ編集の仕方(自作スライダー&パーツ&微修正など)

[更新]
11/13 iniの記載法追記
11/01 MargeMorphTriのアップデートで頂点編集用の頂点リスト出力に対応。


triファイルを弄ることでECEに追加のスライダーやパーツを追加したり、編集したりできます。
ECE(CME)の作者が実際に使ってるツールやものを公開します。

モーフとは

人間種族のメッシュは男女こそ別ですが、エルフなどの種族の区別がなく一種類のみです。


種族ごとに頂点位置を変えてるだけなのです。
その頂点位置の変形がモーフで、そのモーフを格納してるのがtriファイルです。


目の高さなどのスライダ式のものや鼻、目、口などの選択肢も、表情もすべてモーフで形を変えてるだけです。



MergeMorphTri

(v0.6/makeBeards v0.2)
要:Blender 2.49b
Pyton 2.6.6以上



従来(旧来のやり方)のtri importer/exportは、目や口、髭、傷、眉をそれぞれ別々に編集が必要だったんですが、このツールを使えば一括で読み込んで一括で編集できます。

MergeMorphTriはkapaer氏作のMerge Importer/Exporterが元で、私が男性用ファイルの編集しやすいようにリネーム用のバッチファイルと必要ファイルを添付したものです。GPLライセンスなので改変再配布は自由です。

インストール

export_mergeTri.py、import_mergeTri.py 、convert_beardTri.pyを blenderのフォルダ\.blender\scripts にコピーします。

使い方

インポート
BSA Brower等Skyrim -Mesh.bsaからData\Meshes\actors\character\character assets\にある
femaleheadchargen.tri 
   (顔のmorph)
mouthhumanfchargen.tri    (目玉と睫)
eyesfemalechargen.tri    (歯と口の中)
この3つの基本.tri
eyesfemaleleftchargen.tri    (左の目。オッドアイ用)
eyesfemalerightchargen.tri    (右の目。オッドアイ用)
femaleheadbrowschargen.tri    (眉毛を貼るMesh)
femaleheadmaskleftsidechargen.tri    (傷を貼るMesh、左側)
femaleheadmaskrightsidechargen.tri    (傷を貼るMesh、右側)
これらのサブ.tri
を抜き出し、同一フォルダに並べます。

File->Import mergeTri Importer for femaleCharGen"で上記のtriのうちどれか一つを選択して読み込みます。

男性表情用のtriのインポート
BSA Brower等Skyrim -Mesh.bsaからData\Meshes\actors\character\character assets\のEyesMale.tri, EyesMaleLeft.tri, EyesMaleRight.tri , HeadbrowsMale.tri, HeadMale.tri, HeadmaskMaleLeft.tri, HeadmaskMaleRight.tri, MouthhumanMale.triを用意します。

そのままでは読み込めないので0MaleFacialAnimtoFemale.batを起動して女性用顔モーフファイル名に変換してから読み込みます。

エクスポート
File->Export->"mergeTri Exporter for femaleCharGen"
を選択後、出力フォルダを選んで適当なファイル名で保存して下さい。

入力したファイル名は無視されて、選択フォルダにImport時と同じ各ファイル名で保存されます。


インポート時と同じファイル名なので、万が一に備えて上書きせずに別フォルダに保存することをおすすめします。

なお、インポート時にあったサブ.tri は、すべて自動的に生成されます。

男性表情用のエクスポート
エクスポートは上記と同じですが、ファイルのリネームが必要なので0FemaletoMale.batを出力したファイルと同じ場所に置き、バッチを起動します。

髭用.triの作成

男性のみ必要な作業です。
BlenderのImport->make beards.tri を実行して、編集したtri(例:Headmale.tri)を選択します

しばらく時間がかかるので、DOSウインドウを眺めながらしばらく待ってください

終了すると、作業用フォルダの"converted"フォルダに.triが作成されています
(baseTriを作成したときはbaseフォルダ内にbase用の.triがあります)
あとはリネームして使用してください。


おまけ

VertexListの作成(頂点編集に必要な頂点リストの作成)

ECEでのハイポリメッシュ等のカスタムメッシュを頂点編集をできるようにするために、頂点リストの書き出し機能がついてます。

Export前に、"vertmorph","centervert" の2つのvertexGroupを作成します。
"vertmorph" には頂点編集したいVertexを、
"centervert" にはMirror編集で中心になる頂点(顔を縦半分にする頂点)をAssignします。
※ 頂点編集可能なのは、HeadMeshのみです。MouseやEyesには対応していません。
後はExport時に"Make VertexList"をONにして出力すれば基本のVertexListができます。

髭のVertexListは、makeBeardsを実行時に"Make VertexList"をONにするとvertexList_beards.txtが出力されます。
出来上がったvertexList_beards.txtの内容を、上で作成したVertexList.txtに追加すればOKです。

ECE(CME)独自スライダー追加の手順

  • バニラかECE同梱のtriをMarge morph tri用に揃える。
  • Marge morph triでそれを読んでスライダーで使うモーフの作成。
  • Data\Meshes\CharacterMakingExtender\commonTriRaces\に出力したtriファイル群を配置。
  • iniの編集。
  • Data\Interface\translations\charactermakingextender_***.txtにスライダー名の記入。

はじめに
ECE(CME)では作業効率アップと競合避けるためにtriファイルを複数読み込むことができます。
接頭辞(prefix)をつけて分けてます。
tri名
***_HeadMale.tri
ShapeKey名
***_EyesUpDown

iniもスライダーにIDが振ってあって番号が被らないようにお願いします。
CME_ 1~99, 900~
ECE_ 100~
RANs_ 4600~
$ECE_EarSize, 103 ←この2つ目の列がIDです。

iniの記載方法
iniはFiles = のところに, で区切って自作の***_.triを追加。頭ならHeadが並んでる行に追加していきます。これを全tri分で追加します。(髭なし片方の性別なら8個分)
mFiles=は男性のファイルパスを書きます。

-1~0~1の間で動く範囲式スライダーと目、鼻、口のように動く選択式スライダーで記載方法が若干異なります。
ボーンのスケールスライダーもありますが説明割愛。

・範囲式スライダー
$CME_EyesSize, 60, 200, CME_EyesSmall, CME_EyesBig
スライダー表示名, ID, スライダーの種類、スライダー左側のモーフ名(=ShapeKey名)、同右側

・選択式スライダー
$CME_EyesType, 26, 101, EyesType, 39
スライダー表示名, ID, スライダーの種類, モーフ名, モーフの数

スライダー表示名は接頭辞に$をつけることで、Data\Interface\translationscharactermakingextender_***.txtに書かれた表示名で表示できます。多言語対応のために必要です。

IDは上記説明の通り被りがない範囲で好きに番号を割り当てます。
例:500, 501, 502~

スライダーの種類
スライダーの種類が番号で決まってます。
範囲式選択式
女性のみ01
男性のみ100101
両方200201


モーフ名ですが、Blender上のShapeKey名と一致する必要があります。
範囲式はスライダーの左と右のモーフを指定。片方使わない側がある場合はNoMorphと書いておきます。

選択式はモーフ名の番号なしの名(例:EyesType) を指定。
ShapeKey名は必ず接尾辞に順番号付けた名称(例:EyesType1, EyesType2)で書く。

ドキュメント

Himikaさんのドキュメント

自作ヘッドメッシュのモーフを、他のモーフからコピーして作成する方法
。モーフ付きメッシュの頂点の数や順番をいじってもtriを作り治さなくて済む編集方法。ハイポリポリメッシュの作成に。
https://drive.google.com/folderview?ddrp=1&id=0B6YyKRZ4dV_2OXhtR3N1ZTBiZ0k#

モーフ作成解説

昔書いたドキュメント。そのうちこちらのブログに移行します。
https://www4.atwiki.jp/skyrimmaking/pages/23.html



関連記事
コメントの投稿


Does not accept comments that are all written in English on this blog for blocking a spam. If you have any questions, send a e-mail: tktk11111[at]gmail.com

コメント

tokikake2014.11.13 12:45

ありがとうございます! お手数かけました。
かけっぱなしで本当に申し訳ないです。


tktk2014.11.13 00:56

>tokikakeさん
コメントでまとめきれないのでブログ記事に追記しました。


tokikake2014.11.12 22:09

追記)blender上では、初期メッシュ形状ではなく、新規シェイプキーとして追加したので、他のシェイプキーと同じように、動いています。


tokikake2014.11.12 22:06

いつも、お世話になっております。
何としても自作スライダーを追加したくなり、マージされた
objをいじった後、シェイプキーにtestmorph とだけ名前を付けて
最後に追加しました。そこから、exportで、分割された各tri 
ファイルを、元の構成通りにパッケージして、MOで上書き。
ここまではいったのですが、実際キャラメイクで使えるように、ECEのスライダーとして追加するにはどうしたらよいのでしょうか。

各iniファイルを見よう見まねで変更したり旧手法で書かれていたCKでの読み込みなど試したのですが、シェイプキーの命名がわるかったのか、nosetypeのカウントを増やし、デフォルトキャラクターで試しても、変化がありませんでした。 (たぶん最後のモーフがコピーされただけになった気がします)

モーフ=シェイプキーの命名はなんでもいいんだろうと思っていたのですが、
例えば、nosetypeならnosetypeのカウントを足すのでしょうか?

あとは、ECEのiniファイルで、新しいシェイプキーの名前やパスを追加するのだろうというところまではわかるのですが。適用方法を教えていただけるとうれしいです。

これも初歩的な質問なのですが、プレイ中にECEで変更したPCのモーフの値は、セーブファイルにも保存されているのでしょうか?

slotにセーブしたとき、又、savepcfaceでexportしたときに
保存されるのはわかるのですが、今使っているPCのモーフ値は、
一体、どのファイルに格納されて、PCの現在の形状が決定するのだろうと。
(ウェイト値もそうなんですが、、)


tktk2014.10.27 21:15

>ごろにゃんさん
triではなくて、出力用の顔nifから歯のメッシュをobjで出してBlenderで編集してまたobjでnifに戻すというのでできます。詳しい解説はこちらのブログ記事で。
http://makio747.blog84.fc2.com/blog-entry-12.html
よくわからないなら自分で作るよりかは既存modとか既存フォロワー(日本だと衛兵一号さんやgomapuddingさんが吸血歯のフォロワー作ってます)からメッシュデータの流用許可もらったほうが楽だと思います。


ごろにゃん2014.10.27 09:23

追記です。
ブレンダーに手を出してみたのですが、エディットモードで牙当たりを長く編集しても、なぜかエクスポートで編集内容が反映されません。しかもエディットモードからオブジェクトモードに行くと編集内容がリセットされて結局triファイルを編集出来ないという状況に陥っています。
あまりに進展の現状にまいっています。お願いします、助けてください。


ごろにゃん2014.10.27 02:18

質問なのですが、今現在ygnordでスタンドアローンフォロワーを作っているのですが、
どのようにしたら吸血鬼の牙を生やすことができるでしょうか?
自分にはECEに同梱されていた口のtriファイルを加工する技術が無いので途方に暮れています。
手段があれば教えていただけないでしょうか、お願いします。