みんなーっ!改造しよっ☆

改造のちょこっとした解説なのだ〜

駄文のはずなのに、駄文じゃなかったかもしれないものはこっちに置いておくよ!

kys/髪型を合体させるには?

さて、本日はひさしぶりに改造講座っぽいものを書いてみます。
kysのverは「箱」以降はver5だと思いますので、もちろん@メだって簡単に移植できちゃうってわけなのです。
さっき中身を見てみたら、xxのverは2で、3姉妹の骨は共通してo01_J_〜でしたので、ひょっとすると箱並みに簡単かもしれません。
サンプルとして、配布できるように体験版の「キャラクターフィギュア」から乃亜たんの髪型を、追加データからゴスロリカチューシャをセレクトです。

はい、できました。・・・・ご、ごめんなさい。ちゃんと解説します。
最新版のsb3uではver4以降のxxとver3以前のxxとをworkspace経由で移植できないバグが解消されているということですので、移植自体は簡単だと思います。
髪の毛のskeletonフレームを図の位置に差しこみ、あとはフレームのMatrix調整で位置を合わせます。
骨入りカチューシャは身体の方に入れてもいいのですが、今回は頭のFrameを図の位置にIdentifyして差し込んで調整しています。
箱では髪の毛ギロチンが発生しまくった為、ILLUSIONさんは髪揺れの柔らかさを犠牲にして、(さほど)突き抜けないkysを作ってくれました。
ところで@メといえば、キャラ毎に前髪固定という仕様で、なんでやねーん!とハンコ顔を指差したことが記憶に残っております。あとは乃亜たんのないおっぱいとか。
で、デフォ髪以外の後髪と前髪入りデフォ髪とでkysが2つあるわけです。人工さんなら3つになるね。そこでkysの合体!ですよお父さん。

ふたつのkysをバイナリエディタで開くと05 00 00 00というver情報(共通)と、その後に05あるいは04という親skeletonの数が見えます。
それ以降はskeletonの並び方とFrame名と各パラメーターの記述なので、ここを合成し、親の数は足し算すればいいと考えられますね。
<手順>
1.ベースとなる後髪kysの最後尾にキャレットをあわせる。

2.付け加えたいkysからヘッダ部分を除くデータをコピペする。
3.不要なデータは削除しておかないとエラーが出るので、親子セットで消す。
4.ヘッダ部分の親の数を合計した数に書き換える
5.末尾及び結合部分に間違いがあると動かない場合があるので、修正する。
こんなかんじです。わからなくなったらFloat(浮動小数点のパラメータ)部分は20Byteと思いだして、データ位置を確認しましょう。
bit反転して文字列を確認したり、親Frameの切り替え箇所で00を挟むとか、色々試してみましょう。

完成!後ほど細部を修正してどこかにうpしておきますね。ちなみに上記調整をすれば、ナリカ以外でも使えます。
明日はスカートのkys自作といきましょう。2/24

kysを自作するには?

kysとは何でしょう。髪やしっぽなどの揺れを、物理演算っぽいかんじにやってもらうためのパラメーターデータなのです。
髪やしっぽを揺らすのに必要と考えてください。kysがいくつまで使えるかというのはプログラムによって違います。
きゃらコレ!では頭と胴体で各xxにつき1つづつです。その制限がある為に、昨日のようなkys合体などをする必要があるわけです。
ダンシングなスカートの揺れ、ご確認ください。色々大変でしたが、とりあえず成功!

ダンシングの模様をお知らせしつつ、もういっこご報告。バックスクリーンの表示が有効になっている場合、該当オブジェクトの1番目のMeshに割り当てられたMaterialの
さらに1番目に割り当てられたtextureがスクリーン表示によって刻一刻書き換えられるようです。応用すれば、こんなこともできます。
ベンチは改造の素体に最適です。軽いし!でも、1つくらい買おう。
では、kysの自作方法れっつごー!なのですよ。
<手順>
1.動かしたい骨FrameNameをbone_body_**_**.lstにピックアップしておく。
2.lstからFrameNameをコピーし、バイナリエディタに貼りつける。このとき、親→子の順になるようにする。
3.ベースにしたいkysをエディタの別窓で開き、20byteのパラメーターを選択→bit反転→コピーする。
4.FrameNameの後ろに20byteを書き込み(挿入)、Nameの前にNameの文字数を書き加える。文字が見えるならbit反転する。
5.最もお手軽に再現するなら置換のパラメータで対処するべし。
 改行コード→20byteパラメータ だと一括置換できる。また、文字数についても置換を使えばラク。
 o_01→文字数1byte+o_01 にするとか。文字数がおなじならラクだが、そこらは臨機応変に。
6.親Frameの先頭にtreeのFrame数1byte、更にその手前にnullの00を書き加える。文字が見えるならbit反転する。
7.最後にヘッダ05 00 00 00の後にtreeそのものの数(枝の数)を書き込む。8本なら08 00 00となる。
 00 04 0E 文字列(bit反転) 20byteパラメータ〜と続くことを確認。(04はtreeのFrame数、0Eは文字列(FrameName)の数ね。)
8.def_b_body_00_00.lstとdef_b_body_00_00.lstとbone_body_**_**.lstを書き換える。
 def〜の方はkcolとkysの該当箇所を書き換える。また、ビューワーでも骨を操作する場合はlstと数字を書き換える。
 **_**の数が03_00なら数字は300となる。bone〜の方は11が【服】の骨指定となる。他の着衣bone〜lstを参考に書き換える。
9.lstとkysとppをsb3uにぶっこんで、Add(replace)し、save.ppで完成。ダンシングプレーヤーで動作確認してみよう。
以上。

kcolとkysのパラメーターで、衝突判定の突き抜けや揺れ方が変化します。色々試してみましょう。

え、パラメーターの詳細?IPVRの勇者スレに書いてあったよん。初心者Xにもコピペしてるので参照してみてはどうかにゃ。
では、箱スカートkys&ワンピ(体験版でふじこちゃんが着てたやつ)及びAHMの髪&髪kys&ゴスロリカチューシャをセットにして、更に!
おまけのデスクトップステージを加え、参考用のlstも含めてご提供させていただきます!うpまでもうしばらくお待ちくださいませ。2/25

kysの例(人工3)

YAHOOO!徹夜です、おはようさん。「だから僕は、Hができない。」が面白すぎて、アツく滾ったエネルギーを改造にぶつけてみました。
人工さんの髪のkysもver5だったとは・・・ほとんど全部いけるじゃないのー、やだぁ。きづかなかったわっ!
気付けば後は早いですよね!移植の方法はSB3Uのおかげでかなーりラクになってきたので、あとはFrameMatrixの調整とかHEXとか諸々がんばですよ。
箱の耳がどわ〜いすきなのさっ!
kcolが欲しいときにはついてくれず、不要なときはしっかり働いてくれる、なんともあまのじゃくなお方ですのー。
というわけで、キャラの横髪を「なし」にして、アクセ化した箱耳をつけるとこのようにふにふに〜と動く耳になるのですわ。
残念ながらキャラに埋め込むとkcolが妨害して、あまり動きませんの。まったく、困りますわねぇ。
あまり動かない状態の模様は猫さんとこの人工用スレに貼りつけてきましたの。みなさまもgifあにめしませんこと?
さて、kysな需要がけっこうありそうな検索ワード調べってことで、kysのコピペをもっぺんコピペです。
4byte 05 00 00 00 ... 不明
4byte 03 00 00 00 ... ボーンの本数
{
 1byte 06 ... ボーンの関節数
 {
  1byte 0D ... フレーム名の文字数(n)
  nbyte xxxxxxxxxxxxx ... フレーム名(ビット反転)
  4byte 6F 12 83 3B ... 重さ(float : 0.004)
  4byte 00 00 40 40 ... 未確認(float : 3)
  4byte 66 66 E6 3E ... 未確認(float : 0.45)
  4byte 00 00 A0 42 ... 衝突判定の大きさ(float : 80)
  4byte 9A 99 99 3E ... 反発力(float : 0.3)

 }
 {以下同様に残り5つ}
 1byte 00 ... デリミタ
}
{以下同様に残り2つ}
私の調べによれば、JS3以降(SM2,DGMを除く)ずっとこのkysを使っているので、移植は容易いはず。
SBZで悩んでいる方も、JS3に行き詰っている方も、箱Modもっと欲しいよーって方も、きゃらコレ移植を検討中の方もがんばれば出来るってことです。
今回の耳はttyを使っていた為、kysは自作としました。某「゜」さんの助言により、重さに負の値を使用し、更にゼロに近付けて不安定感を出しました。
更に勇者翼からヒントを得て親→子へ反発力を50ずつ増加させています。衝突判定は、結局1にしてもうまくいかなかったので、苦肉の策でアクセ化です。2/27

新作「俺は主人公」でもしかしたらkysが復活する!?という、意外な展開になり、kys2txtを全versionに対応してみました。
新作の体験版もver5ということで、きちんとコンバートできました。ここまでのkys構造をまとめ。
☆Ex)Kys to Txt

version 1 for SB3
1

4

2
14	o01_J_Kami02_F	0.002000	3.000000	0.450000	
14	o01_N_Kami03_F	0.002000	3.000000	0.450000	

4
14	o01_J_Kami01_B	0.002000	3.000000	0.450000	
14	o01_J_Kami02_B	0.002000	3.000000	0.450000	
14	o01_J_Kami03_B	0.002000	3.000000	0.450000	
14	o01_N_Kami04_B	0.002000	3.000000	0.450000	

4
14	o01_J_Kami01_L	0.002000	3.000000	0.450000	
14	o01_J_Kami02_L	0.002000	3.000000	0.450000	
14	o01_J_Kami03_L	0.002000	3.000000	0.450000	
14	o01_N_Kami04_L	0.002000	3.000000	0.450000	

4
14	o01_J_Kami01_R	0.002000	3.000000	0.450000	
14	o01_J_Kami02_R	0.002000	3.000000	0.450000	
14	o01_J_Kami03_R	0.002000	3.000000	0.450000	
14	o01_N_Kami04_R	0.002000	3.000000	0.450000	

version 2 for SM
2

5

2
11	d_j_kamiF01	0.003000	3.000000	0.450000	
9	d_n_kamiF	0.003000	3.000000	0.450000	
0

5
14	d_j_kamiFS01_R	0.003000	3.000000	0.450000	
14	d_j_kamiFS02_R	0.003000	3.000000	0.450000	
14	d_j_kamiFS03_R	0.003000	3.000000	0.450000	
14	d_j_kamiFS04_R	0.003000	3.000000	0.450000	
12	d_n_kamiFS01	0.003000	3.000000	0.450000	
0

2
13	d_j_kamiS01_L	0.003000	3.000000	0.450000	
13	d_n_kamiS01_L	0.003000	3.000000	0.450000	
0

2
13	d_j_kamiS01_R	0.003000	3.000000	0.450000	
13	d_n_kamiS01_R	0.003000	3.000000	0.450000	
0

2
11	d_j_kamiB01	0.003000	3.000000	0.450000	
11	d_n_kamiB01	0.003000	3.000000	0.450000	
0

version 3 for JS3(一部)
3

2

7
15	s01_J_kamiBR_02	0.003000	3.000000	0.450000	120.000000	
15	s01_J_kamiBR_03	0.003000	3.000000	0.450000	0.000000	
15	s01_J_kamiBR_04	0.003000	3.000000	0.450000	0.000000	
15	s01_J_kamiBR_05	0.003000	3.000000	0.450000	0.000000	
15	s01_J_kamiBR_06	0.003000	3.000000	0.450000	0.000000	
15	s01_J_kamiBR_07	0.003000	3.000000	0.450000	0.000000	
15	s01_N_kamiBR_08	0.003000	3.000000	0.450000	0.000000	
0

7
15	s01_J_kamiBL_02	0.003000	3.000000	0.450000	120.000000	
15	s01_J_kamiBL_03	0.003000	3.000000	0.450000	0.000000	
15	s01_J_kamiBL_04	0.003000	3.000000	0.450000	0.000000	
15	s01_J_kamiBL_05	0.003000	3.000000	0.450000	0.000000	
15	s01_J_kamiBL_06	0.003000	3.000000	0.450000	0.000000	
15	s01_J_kamiBL_07	0.003000	3.000000	0.450000	0.000000	
15	s01_N_kamiBL_08	0.003000	3.000000	0.450000	0.000000	
0

version 5 for JS3(一部),箱,SMS,AHM,YN,RK,SBZ,JG(ローポリ),CC!,OS(体験版)
5

2

3
9	J_L_ke_00	0.005000	3.000000	0.450000	30.000000	0.000000	
9	J_L_ke_01	0.005000	3.000000	0.450000	85.000000	0.000000	
9	N_L_ke_00	0.005000	3.000000	0.450000	0.000000	0.000000	
6	A_L_ke

3
9	J_R_ke_00	0.005000	3.000000	0.450000	30.000000	0.000000	
9	J_R_ke_01	0.005000	3.000000	0.450000	85.000000	0.000000	
9	N_R_ke_00	0.005000	3.000000	0.450000	0.000000	0.000000	
6	A_R_ke

0	0	0	0	0	0	0	0	0	

すなわち、以前の情報に書き足してみるとkysの構造とはこんなかんじ。
4byte 05 00 00 00 ... version(int : 5)
4byte 03 00 00 00 ... ボーンの本数
{
 1byte 06 ... ボーンの関節数
 {
  1byte 0D ... フレーム名の文字数(n)
  {
   nbyte xxxxxxxxxxxxx ... フレーム名(ビット反転)
  }
  4byte 6F 12 83 3B ... 重さ(float : 0.004)
  4byte 00 00 40 40 ... 未確認(float : 3)
  4byte 66 66 E6 3E ... 未確認(float : 0.45)		
  4byte 00 00 A0 42 ... 衝突判定の大きさ(float : 80)※ver3から登場
  4byte 9A 99 99 3E ... 反発力(float : 0.3)			※ver5から登場

 }
 {以下同様に残り5つ}
 1byte 0D ... フレーム名の文字数(n)      ※ver2から登場
  {
   nbyte xxxxxxxxxxxxx ... 衝突判定フレーム名(ビット反転)
  }
}
?byte 00 00 00 00 00 ...  システム予約?
kysのversionを変えたい場合は、上記構造の差を埋めるようtxtを書き換えて変換すればおk!
Edit機能付のプログラムにはコンバーターを内蔵しようと思います。無いものは0で、有るものはカットで。
そんなこんなで、エラー処理はしてませんがkys2txt相互変換のver0.3できました。テスト用につきご理解ください。4/22

P☆P☆P


は、もうちょっとだけ工事中なんじゃ。                   web拍手 by FC2
Since 2010.12.8 Auther:ガノ夕  inserted by FC2 system