スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

カスタム結果移植(その1) ~ たむ式メーカーを使う

たむ式メーカー(ALP2PMX)を用いた、同系統のヘッド同士のカスタム結果移植です。先日作った子の表情モーフが気になって仕方がなかったので試してみました。のどかヘッドと智里ヘッド(あとたむたむヘッド)、どちらもテクスチャは同じでUVマップ、そしておそらく頂点構成も同じではないかと踏んでの実験です。

方法は、たむ式メーカーでALPと智里ヘッドに差し替えたALPをMQO/TGAに、「ALP⇒MQO,TGA」ボタンで変換。加工した側のmorp.mqoを智里ヘッドのmorp.mqoと差し替え。再びたむ式メーカーでMQO/TGAからALP(智里ヘッドのもの)に「MQO,TGA⇒ALP」ボタンで変換しました。

テクスチャについてはたむたむす~る上で差し替えてあります。ペイントに入ってからヘッドを変えると、テクスチャ互換性のあるヘッドならペイントが引き継がれます。詳しくは、ヘッド一覧にて。(起動後、キャラクターを呼び出してすぐヘッドを変えるとペイント情報は引き継がれません。) もちろん、TGA画像をたむ式メーカーで差し替えてもokです。

tech_974.jpg
上がのどかヘッド、下が智里ヘッド。困惑表情ですが、右側の目を細めた状態での上瞼の形に注意。のどかヘッドでは反ってますが、智里ヘッドでは真っ直ぐです。目の頂点モーフが違うためです。

結果、特に問題は無い模様。頂点構成が同じヘッドなら差し替え可能だと思います。

追記
たむたむヘッドにも移植できました。
心愛→咲姫は頂点順が違うので失敗しました。

テーマ:美少女ゲーム - ジャンル:ゲーム

コメントの投稿

非公開コメント

実証お疲れさまです

実験お疲れさまです。ヘッドのカスタム情報を移すというのは今まで考えたことがありませんでした。この方法だとアイテムだろうと髪だろうと汎用的に行けますよね。オブジェクトカラーの情報だけは引っ張っていけないので、メモするとか別に対応しないといけないかもしれませんが。moveicpよりこちらの方がハードルが低い人も多いんじゃないでしょうか。

自分でやるとしたら、ゴリマさんの加賀さんの髪の時と同じようにヘッドの参照情報だけ(5ヶ所?)書き換えちゃうと思いますが(ファイル名もあゆみ、エイル、ロタ以外は同じだからあまり問題にならない)、大抵の人にはALP2PMXを使う方が分かりやすいと思います。それにしてもメッシュ数だけでなく頂点順、面の構成まで同じというのは思い至りませんでした。

そう言えば以前ヘッド情報の表を作った時に部分的には頂点数を比較した気もしますが、どうもメモを取ったりはしてなかったようです。頂点数が同じでも頂点構成まで同じかは判りませんが、こちらもmqo出力してやれば調べられないことはないですね(faceチャンクを抜き出して“fc /l”で比較。Materialの順序が一致してる必要がありますが)。

異種間ヘッドでのカスタム情報の移動は、メッシュ構成がゲーム毎に違ったりするのでちょっと難しいかもしれないです。でも調べてみると部分的にでも行けるところがあるかもしれません。名前の違いだけならテキストエディタで書き換えれば済むんですけどね。

しかし、のどかヘッドと智里ヘッドとで頂点数、面構成、UV情報が全く同じというのは(たむたむ様も?)、もしかしてこねくとの使い心地を見る為におんださん自身がのどかヘッドから他のヘッドをこねてみた訳じゃあ…

最後に細かいことですが、「ALP⇒MQO,TGA」「MQO,TGA⇒ALP」とボタン名が明記してあった方が分かりいいかなとチョット思いました。あと明確に書かれてませんが、“xxxx@HEAD_RT_BASE.ODF.tga”ファイル群も差し替えたんですよね?

Re: 実証お疲れさまです

おお、なるほど。確かに髪もアイテムもいけますね。自分で書いてて気づかなかったというか、もともとそういう目的でたむ式メーカー作者さんは作られたんでしょうねきっとw もっと頭使えとw

頂点構造はいつもカスタムしていたのでどれも同じというのは分かってました。テクスチャが共通なのは有名ですが、ヘッド毎にテクスチャの内容を変えていないということはUVマップも同じだなとも思っておりましたが、ALP2PMXの仕様を良く知らなかったので思い至りませんでしたw

異種間も少し調べて見ました。例えばゴリマッチョさんが天津風に使ってた瑞乃ヘッドですが、らぶデス系ヘッドで耳の前に穴が開く現象が物語っているように、耳と後頭部のオブジェクトが頭とは別になっていました。もうひとつ、のどかに無いオブジェクトがありましたがちょっと忘れました。

この辺、メタセコイアとテキストエディタを駆使すれば何とかなるのかも?と思いましたが…普通にこねたほうが早いかもしれませんw

とりあえず、のどか=たむたむ=智里 間での互換性を確認しました。心愛、咲姫ヘッドは睫毛だと思うのですが、頂点数が違うようです。オブジェクト名は同じでした。

ボタン名表記、書き換えておきます。ありがとうございます。
テクスチャについては、確認も含めてす~る上でコピーしてしまっています。呼び出して一度ペイントに入ってしまえばペイント情報が引き継がれるので、そのままヘッド交換してセーブしてあります。

ヘッド表更新

移植の可/不可を判断する助けになるかもと思い、ヘッド情報の表にメッシュ毎の頂点数と頂点index数(面数の3倍)を書き加えてみました。基本的には同系列のヘッドで頂点数、面数共に揃えようとしているようですが、らぶデス4系は見事にバラバラですね。またよく見るとらぶデス3系のフォルネとかイレギュラーもあるようです。

通常目の頂点数は全ヘッドで同じですが“AR目”の方はらぶギアから頂点数が増えていたりとか(通常目と同じになった)、意外なところが変わってたりして結構面白いと思いました。20773ヘッドの特殊性が際立ってます。

心愛ヘッドと咲姫ヘッドはメッシュ名全部同じ、頂点数、面数も全部同じですが、mqo出力して突き合わせてみたところLayer1に属するmesh(Layer2が目、Layer3がデフォル目やほっぺ、涙とかになるので、要するに一番主要なところ)の頂点順(及び付随して面情報のindexの並び)が違っておりました。数だけでは判断できないということですね。実はメッシュレイヤー(グループ)の名前も違うことにさっき気付いたのですが(咲姫ヘッドのが特殊)、ALP2PMXは多分そこは見てないと思います。

「智里ヘッドに差し替えたALP」というのはペイント情報を引き継がせたという意味だったんですね。自分の思考回路だとツールを使うことの方に寄ってってしまうようです。

Re: ヘッド表更新

情報ありがとうございます!

リーサもテクスチャが変わってたりしてましたが、フォルネもイレギュラーな部分があるんですね。修正したり流用したりした部分が面白いですよね。す~る用に変更した部分とか。20773ヘッドは表情も特殊なので面白いです。

移植も、顔前面だけならなんとかなるだろうかなとは思いました。

らぶギアは涙目が追加になっているので、涙目の部分だけ頂点情報をmqoに追加すれば…と思いましたがw

心愛と咲姫はやはり頂点の順番でしたか。頂点数が違ってたのならあわないから変換処理されないなとは途中で思いました。順番が違うということは、そこのmorp.mqoの情報だけ順番を変えてオブジェクト名を変更すれば何とかなるということでしょうかね?

楽にヘッドを変更できるというのは、簡易表情カスタムにも似た需要があるので、時間を見ていろいろ試してみたいとは思います。

頂点順

らぶギアからAR目の頂点が増えていたのは涙目の分だったんですね。メタセコで見て二重になってるっぽいのを確認しました。ただ困ったことに、前半の頂点が元からのAR目のmeshを構成、後半の頂点が追加された涙目のmeshを構成という風に綺麗に分かれてはないようです。面情報を見ると前後半の頂点が入り乱れてます。

ところでmqoファイル中の頂点の順番を他ファイルに合わせて並べ替える方法って何かありましたっけ?咲姫ヘッドの頂点と心愛ヘッドの頂点とでUV座標や面構成の情報から対応関係を追えるだろうとは思いますが、そういうことをやってくれるものがあったかな?と。両ヘッド間で“BODY_HEAD_EYELASH_XT”、“BODY_HEAD_FACEALL_XT”、“T_LINE”、“a_ha”、“a_mayu”と頂点順が一致しないmesh(Object)が5つありますし、そもそも頂点数が多いので手で何とかできるものではないと思うので。

フォルネヘッドが他のデス3ヘッドと違う点ですが、メッシュ“BODY_HEAD_EYELASH_XT”の頂点数及び面数がフォルネヘッドだけ違います。なのでカスタムデータの移動が…

Re: 頂点順

う~ん、なるほど。心愛ヘッドと咲姫ヘッド、頂点順が違う部分だけテキストエディタで簡単に変えればokかなと思ってましたがそうではないようですね。らぶギアのも入り乱れてるようでは厳しいですね。

頂点順はMetasequoia本体ではなんともならないと思います。プラグインは…どうなんですかね。頂点の順番をどうこうというのは、Metasequoiaを使う人にはあまり関係ないかもしれませんし。あまり詳しくなくてすみません。ツール類は必要なところだけつまみ食いな物で…。

のどか、智里、たむたむは共通点がハッキリしてましたから自信はあったのですが、心愛と咲姫ヘッドの間にそこまで差があったとは…。睫毛の間の頂点を増やした感じだったので、ver4ヘッドからの変換は諦めてましたが…。

あとはらぶデス555ですかね。あれはテクスチャの解像度以外はver4ヘッドに非常に特徴が似ていますので、もしかするといけるかもしれませんが、逆に言うと頂点モーフが酷使している分、変化に乏しいかもしれません。

--
追記

ダメでしたw<ver4→555

--
ver4じゃなくてver2ですね。間違い。

系統毎に全部違う

頂点モーフデータを作る時は一応頂点順が意味を持つので、もしかしたら一方に合わせて頂点を並べ替えるプラグインとかあるかなー…とか思ったんですが、難しいですかね。私もメタセコイアに詳しい訳じゃないので。

系統の違うヘッド間でのカスタムデータの移動ですが、そもそもゲームが変わったのにメッシュ(オブジェクト)の構成が全く変わらなかったのはHCT→らぶギアの時だけのようです。そのHCTとらぶギアとの間でもAR目の頂点数が変わったりしてるわけですが、のどかヘッドとまきなヘッドを較べたところ頂点数が同じメッシュでも結構頂点順が違っていました。

更に今さっきヘッド表を見てて気付いたのですが、メッシュ“BODY_HEAD_EYELASH_DEFO”の頂点数及び面数はヘッドの系統毎に全部違うんですね(デス4ヘッドは更に個別に全部違う)。ということで、書き出したmqoファイルを無編集で読み込むだけでは、異種ヘッド間のカスタムデータの移動は絶対できないと。

あと、らぶデス4系のヘッドは頂点数や面数がヘッド毎に違うメッシュが複数あるので、同種間でもカスタムデータを移すことはできないと思われます。

しかし、以外と頂点順揃ってないものですね。

頂点の対応表

心愛ヘッドと咲姫ヘッドの頂点順の変換表はなんとかできた気がします。やっぱり変換ツールの形にした方が良いですかね?

ODFファイルのUVマップが変更できないかということですが、UVデータが何処に記録されてるかは判ってますから、別にあるマップデータを突っ込むとかそういうレベルでならやればできます。既存ツールでそれが出来るかとかいう話になりますと、使えそうなものがちょっと思い浮かばないです。

Re: 頂点の対応表

早速ありがとうございます!

UVマップデータをつっこむという部分、どういったデータがあればできますかね?mqoに含まれるようなデータでいいのでしょうか。ODFでmqoとかに書き出して、UV情報だけ変えて戻す…というわけにもいかないんですよね?

心愛ヘッドと咲姫ヘッドの変換ツールは個人的に非常にありがたいのですが!!w
結構表情モーフが違うので、作った後で検討できるのはいろいろと可能性が広がります。
ver2ヘッド同士の変換でもかなり可能性が見出せましたし。

すみません、ODFで行けそうです

UVマップの書き換えですが、readmeをよく読んだらODF(神ツール)で大丈夫そうです。「MQO入力」の変換モードで「静的変換」を選択してやればUV情報だけ書き換わると思います。もちろん頂点数、頂点順の変更不可ですが。

静的入力でも法線ベクトルが書き換わっちゃうと思ってたのですが、「法線は頂点が移動している周囲だけ再計算します」と書いてありますから、頂点を全く移動させなければ再計算は行われないものと思います。

追記
mqoファイルを経由する以上、座標などの値が少数の丸め誤差の分だけ変わってしまうことは避けられないと思います。それが問題になることはまず無いと思いますが。

Re: すみません、ODFで行けそうです

貴重な情報ありがとうございます!

何はともあれ、実践あるのみですね。
考えてたことが実現できるかもしれません。

Re: すみません、ODFで行けそうです

できました!ODFでUVマップのみ変更できました。

もうひとつ質問なのですが、ボディを新しく追加することはできますか?
A~C、ミドル、男ボディの他にもうひとつ、AのUVマップを変更したものを追加したいのです。

--
発見。
EditDataRealBodys.dat
ですね。他にも調整要りそうですがやってみます。

--
普通に追加できました!

ボディの追加

ボディの追加は1つだけならす~るv.3以降どれでもOKだったと思います。今時間なくて詳しいこと書けないんですが、全身mqoの記事のコメント欄のミスマさんとのやり取りのところと、す~るv.3にす~るv.4以降のalpを読ませるところ辺りに追加できる個数の制限について書いてた気がします。

追記
多分現状は
 ・す~るv.4のRealBodys.dat→ボディDの行だけを追加
 ・す~るv.5のRealBodys.dat→そのまま
という状態なんじゃないかと推測するのですが、これだと(v.4で)ボディDを指定したalpファイルをす~るv.5で読み込むと“男ボディB”に置き換えられて表示されるはずです。

これはカスタムデータファイルのボディ指定インデックスがRealBodys.datに記載されたエントリーの行番号と対応しているからで、どちらでも読めるようにする為にはv.4のRealBodys.datにダミーエントリーを追加してボディDのエントリーの場所を合わせる必要があります。(既にその様にされてるのでしたら捨て置いて下さい。)

これでv.4、v.5どちらでも表示されるデータにはなりますが、v.5にはRealBodys.datの11番目以降のエントリーは選択できずまたボディカスタムもできないという制限がある為、カスタムはす~るv.4からしかできません。間違えてv.5で保存してしまった時(本当に上書き保存できるのか判らないですけど)にv.4用のファイルに戻す手段ですが、dc2lgは10番目以降のエントリーはv.4には対応するボディが無いものとして変換を拒否してしまいます。alpdown4は余計なチェックをしてないので、こちらを使って下さい。

---
追記(編集)の時は、バックスラッシュ(¥マーク)は2つ並べないと消えてしまいます…

心愛咲姫ヘッド変換

心愛ヘッドと咲姫ヘッドの相互変換ツールのテスト版をログイン式の方に上げました。が、今す~るを起動できる状況にないので、読めるかどうかすらテストしておりません。なので変換結果が正しいかどうかは全くもって判りません。最悪明日の深夜までテストできない可能性があるので上げるだけ上げちゃった次第です。

フリーアップローダーに乾坤一擲さんがまきなヘッドとのどかヘッドをうららヘッド風に加工したalpファイルをUPされましたが、異系列のファイル間ではこのように手作業でこねるしかないですかねえ、やはり。一応かすたむ系のヘッド間だけはなんとかならないかと、考えてることもあるにはあるのですが…

コンバータは、同系統(かつ頂点数同じ)のヘッド同士なら交換できるようにしたいなあ、とか思わないでもないです。が、ALP2PMXを使った方法で結構片付いちゃうので、どうしようかなと。

追記
アップローダーのコメントにもreadmeにも書き忘れましたが、要.Net Framework 3.5の実行環境です。

Re: 心愛咲姫ヘッド変換

ツール製作、ありがとうございます!

手元のファイルで心愛→咲姫ヘッドを試みましたが、残念ながら変換したファイルを読み込むとす~るver4が動作を停止してしまいました。ver5でも同じです。フリーに上げてあるR02-210.alpで咲姫→心愛も試みましたが、やはり同じく動作停止しました。メッセージを見た限りでは、変換自体は処理されているようです。

あと今回はGUIですね。扱いやすくてよいですね!
体調崩してボディ改造の方はまだ試してませんが、ボディ追加についての情報もありがとうございます!

チェックありがとうございます

Zlibのchecksum計算が違ってたので直しました。動作停止の原因がそれだった場合は読めるようになったと思います。checksumが正しいかはこちらで確かめる術があったにも関わらず間違いをそのまま上げてしまい、ご迷惑をお掛けしました。

Re: チェックありがとうございます

おつです!作った後で変更できるのは非常にありがたいです!

双方、変換して読み込まれるのを確認しました。tweetもしましたが、心愛ヘッドと咲姫ヘッドの差は、困惑表情と目を閉じたときの睫毛のモーフがいちばん大きく、あとは照れ、恥ずかしい、疑いで眉が微妙に違うようでした。

咲姫ヘッドの困惑はかなりかわいいのですが、目を閉じたときの妙なモーフが曲者です。これは心愛ヘッドと咲姫ヘッドが、おそらく共通の『眠り』モーフを持つのが原因だと思われます。

動作確認ありがとうございます

無事変換できたようですね。確認していただきありがとうございます。ちゃんと動くように作ったつもりではありますが、勘違いから変換表を逆にして何かグチャグチャなものが表示される…、というのも結構ありがちなので。

とにかくこれで安心して先に進められます。よねすけさんがこの記事で書かれた方法で済むパターンばかりになると思いますが、出来るところは変換パターンを順次ツールに加えて行ければと思います。

心愛ヘッドと咲姫ヘッドとで同じ表情モーフデータが入ってるというのは、嬉しくないけどありがちな気はしますね。単なる入れ間違いなのか、時間が無くて割愛されたのか、原因は想像するしかないですが。「面倒だったから」と言われてしまったらどうしよう…

ヘッドODFファイルのメッシュ(オブジェクト)名や頂点数は、上の方のコメントに書きました一覧表に書いてありますので見ていただければと…。見方が今一解り良くないかとは思いますが。一応PDFも入れてありますので。デカイですが。

コンバータを移動します

HeadConv(心愛ヘッド⇔咲姫ヘッドコンバータ)ですが、よねぞんアップローダーの方に移動させました。機能は何も増えてませんが、読み込み時のチェックルーチンとかが書けましたので。ログイン式の方は後ほど消します。

動作チェックありがとうございました。今のところ変換ボタンを押すだけだから、使い方の説明省けて楽だなあ…

お身体お気を付けて。

Re: コンバータを移動します

お気遣いありがとうございます!1日寝てたら何とかよくなりました。

後でコンバータの記事も追加しておきますね。こねる際には非常に便利なツールだと思いますので。

頂点並べ替えツール、見つけたのですが…

一方のmqoファイルに合わせてもう一方のmqoファイルの頂点を並べ替えるツールを見つけました。名前は「ODF」。何のことはない。神ツールに既に機能が用意されていたのに見落としていたようです…

ボタンの並びの左端、下から2番目に「MQO変形」というボタンがあり、これを押すことで頂点並べ替え(2種の操作からの選択)を行うためのダイアログが開きます。

ただ、心愛ヘッドと咲姫ヘッドで全体を丸ごとmqo出力したりメッシュ毎に出力したりといくつか試してみたのですが、“インデックスが範囲外”エラーや“オーバーフロー”エラーが起きて並べ替えには成功しませんでした。残念。

「MQO変形」のもう1つの機能は一方のmqoオブジェクトの表面上に他方の頂点を移動させるというものなのですが、個人的にはこちらもかなり気になります。Metasequoiaのプラグインで同等の機能のものがありますが。でも、ハッキリした記憶ではないですが、ずっと前に試してこちらも同じ結果(エラー終了)になったような気が…

Re: 頂点並べ替えツール、見つけたのですが…

なんと、そんな機能があったんですね。

のぞく人さんも知らないくらいですし、機能をつけたけどあまり使われていない機能なんでしょうかね。使わないと結果報告も不具合報告も集まりませんし、更新もされませんしね。

mqoオブジェクトの表面上ということは近くに構成されたポリゴンに接するように移動するんでしょうかね。ODFはいろいろ機能があるようですが、実際に使いこなされていた方のノウハウがあまり蓄積されていないのが残念です。

Re: 頂点並べ替えツール、見つけたのですが…

>mqoオブジェクトの表面上ということは近くに構成されたポリゴンに接するように移動するんでしょうかね。

その通りだと思います。readmeからそのまま引用しますと、「編集MQO内の頂点を、最も近い参照MQO内の面上の位置へ移動します」だそうです。

ODF(神ツール)は多機能なのでなかなか全貌が把握しきれないです。その時関心が無い機能だと一度見ても忘れちゃったりしますし…

使いこなしてた方というとまずSBZの354氏が思い浮かぶのですが、氏も色んなゲームの解析に忙しかったと思うので神ツールでバリバリ改造してたという程ではないのかもしれません。もちろん理解の深さではダントツだろうと思いますが。

てぃおさんなんかも結構使い倒していたんじゃないかなあ。全機能をという訳でも無いでしょうけど。blog閉じてしまわれたのが残念です。自分の場合は基本的に、他人が「これどうやったらできるだろう」と言ったときにやり方を探して返すといった関わり方なので、実際に使い倒してのノウハウみたいなものは無いですからね。

“インデックスが範囲外”や“オーバーフロー”というようなエラーを潰すのは多分自分の方が(性格的に)作者さんより向いていると思うので、そういう意味では今からでもソース見られると嬉しいかなあ…
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。