Chpファイルについて(上級者向け)

chpファイルを設定する、といってもLayer? Texture? とわからない人もいると思います。
テンプレなどを使うと簡単にキャラが制作できますが、
正直なところスムーズに動くキャラ(ポプ6のボゥイのBADや、
ポプ9のMZDのディスクチェンジ)も作ってみたい人もいるかと思います。
また、ポプ7以降の背景フェードイン&アウトや、
少しの画像だけで動かしているように見せたい!という人は是非。
見た目は難しそうですが、実際は簡単なのです。めんどくさいだけ
説明下手なのはご了承ください。
昔のままなので全面作り変え予定です
※テクスチャはバグがあるので気をつけてお使いください。
また、みゅに本体の原因でテクスチャの読み込む動作で重くなることがあります。

その壱・レイヤーを使いこなせ!

レイヤー。名前などを言うと難しそうですが、高機能ペイントソフトについている「アレ」みたいな感じでいいと思います。
パーツごとに画像を作り、その作った画像を重ねて同時に表示させることが出来る機能です
また、ポップンでキャラが妙にスムーズな動きをするのもこれを使ったおかげです。(厳密にはちょっと違いますが)
また、これを多用することで画像ファイルを小さくすることも出来ます。
まずは画像の定義の仕方。これで何人ものぽみゅキャラ製作者が悩まされたことでしょう(?)
ただ、実際は簡単なもので、使用画像パーツの開始位置とX,Y(縦、横)方向のサイズを定義するだけです。
まずは00番。名前の定義です。

#00 1 1361 131 29

左から、その定義の使用番号画像のX開始点画像のY開始点画像のX(縦)サイズ画像のY(横)サイズです。

ちなみに#の直後についている番号とパターン入力は基本的に16進数で定義します。
16進数とは0〜Fで1桁繰り上がる(10になる)数え方です。
16進数を使用する場合はこのような文を入力しておく必要があります。後でアニメ定義が楽になるので設定しておいたほうが吉でしょう。

#Data 16

それ以外は普通に10進数の数値です。

次に01番。背景の設定です。この2つはスキンで確実に使用するのでキチンと定義しておく必要があります。

#01 1 1 167 271

もちろん開始点XYは囲っている枠の内側から定義してください。

名前を定義したところはこのような範囲になっております。

こんなふうに

これをいくつも設定するのか・・・
と思っている人もいることでしょう。
ですが、これは簡単な方法で開始点、
サイズを確認することが出来ます。
今使用しているソフト「EDGE」ですが、
注目すべきは下にあるステータスバー・・・!

みぎのでぃすくをていぎちゅう

↑これです!
選択しているディスクのサイズと開始点が選択しただけで表示してくれます。
「座標」のとなりにあるのが画像の開始点XY、「角度」の左にあるのが画像のサイズです。
つまり、このディスクを定義するときには下記のように数値を入れるだけでOKなのです

#2e 73 644 72 72 //disk3

※//は注釈です。ここより先はメモ書きってこと。自分の分かりやすいように書いているだけなので、分かる場合書かなくてもOKです。

このような画像の定義をした後は、画像を実際の画面内に置く場所を設定する必要があります。
置く場所の定義は・・・実は先ほどとまったく同じです。
ただ、キャラ表示画面が167x271なのでその画面内に定義しないとはみ出して(カットされて)しまいます。
うまく定義する方法はやはり、EDGEを使い、位置を調整しながらステータスバーをよく見ることです。
167x271の画面を用意して、そこに画像を配置していきます。
同じサイズに設定すれば定義した位置が
そのままゲーム画面に表示されると考えて問題ないです。
位置は始まりと終わりの何箇所か用意しておきます。
16dのモーション定義はこんな感じです。

#4e 41 38 85 61 /16d

#4f 41 40 85 61 /16d
#50 41 53 85 61 /16d
#51 41 55 85 61 /16d

これと下記画像位置・サイズ定義を組み合わせてレイヤーのモーションは定義されます。

#44 643 202 85 61

モーション設定の番号の指示方法は他大御所ページを参照。

・・・一応簡単な説明はしますが

#Layer 16 44444444444444444444444444444444 4e4e4e4e4f--50--51515151--50--4f

#はchpファイルの定義命令文の頭文字です。

その後に続く文字は画像の定義方法です。
#Paternだと定義サイズ通りでX・Y位置は0,0の場所に配置されます。
#Layerは先ほどの説明したように、定義したサイズと表示する位置を
Tabキーであけながら定義します
※chpファイルは全部、スペースはTabキーで定義します。
命令文のところは絶対にTabキーを使用してください。
#Textureはひとつのパーツの透明度を変更したり
回転・画面外モーションが出来る命令文です。後の項で説明します。
その後の「16」はどのモーションかを指示する数字です。以下のリスト参照。
そして、44は画像の定義。二桁の文字を連続に書いて定義します。先ほど書いた

#2e 73 644 72 72 //disk3

↑の「2e」の部分です。

一番最後は画像の位置定義。同じく二桁の文字を定義します。
画像定義と位置定義の数字の数は同じ長さにしないと不都合が起こります。
上の二つも同じ数並んでいます。下は同じものを等間隔フォントで改行したもの。

44444444444444444444444444444444

4e4e4e4e4f--50--51515151--50--4f

ちなみに、--はそれをはさんだレイヤーを補間伸縮しながらスムーズに動きます。

イメージとしては6ホーンのBADの顔拡大など。
っきゃー
 
※ごくまれにドットの変形が起こるため、精密なドットのパーツはレイヤー使用しないほうがいいかもしれません。
(正しく定義しても、サイズが正しいだけで設定した顔パーツがゆがむ、など)
ちなみにえふしーぶい!ではレイヤーを連続で使うと表示に不都合が出ますが、みゅに画面で正しく表示される場合は問題ありません。
えふしーぶい!は一枚以上のレイヤーはサポートされていないようです。
もう嫌。短いけど(疲れたので)おしまい。この次は後で

その弐・テクスチャって何よ

***背景のフェードアウト・フェードインを公式(7以降)っぽくしてみたい!***

***多くの画像なんていらない、ただ一枚で廻ってみたいんだ!(何***

テクスチャは定義した画像を自由に回転したり、透明にしたり(フェードイン&フェードアウト)、
画面外にはみ出して動かすことが出来る機能です。
また、えふしーぶい!は対応しておりませんのでご注意を。
使用方法はテクスチャを使用する画像を定義して、使用したい#Layerと書いてある部分に#Textureを追加し、
レイヤーと同じように二桁の数値で画像、位置を定義します。
まずはテクスチャとして使用したい画像の定義。

//フィーバーフェードイン・アウト用

#CharTex y_r.bmp
#CharTex2P y_r2.bmp

定義する画像、実は#Charbmpで使っている画像でOKです。ちなみに2Pもしっかり設定しないと、

カラーを変えたとたんにテクスチャが効かなくなります。
次に、モーション設定です。#Textureを頭に入れ、タブキーで間を空けながら定義します。
これは見やすいように改行してます。

#Texture 06

262626262626272727272727262626262626272727272727262626262626272727272727
636363636363636363636363636363636363636363636363636363636363636363636363

↑ここまでは今までのレイヤー定義と同じです。画像、表示位置の定義。

336699ccffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc996633

000000000000000000000000000000000000000000000000000000000000000000000000

そして三行目と四行目がテクスチャ独自の定義可能な項目です。

三行目は透明度の設定。00からFFまでの16進数の256の数値の範囲で定義します。
もちろんレイヤーの定義と数列の長さを統一してください。

なぜこれは同じ長さじゃないのかは等間隔フォントじゃないからです

00はまったく見えません。FFは透明度0です。そのまま表示されます。
ちなみにこれはFEVERの背景の定義です。336699ccffでフェードインさせて、ffcc996633でフェードアウトさせてます。

FEVER・BADのフェードイン&フェードアウトはキャラのアニメーションスピードによって変更する必要があるので注意!

できれば90以下にすると自然にフェードすると思います。
ついでに透明度を5%区切りの数値で。
(参考イメージはAzPainterを使用)
95%=0c 70%=4c 45%=8c 20%=cc
90%=19 65%=59 40%=99 15%=d8
85%=26 60%=66 35%=a5 10%=e5
80%=33 55%=72 30%=b2 05%=f2
75%=3f 50%=7f 25%=bf 00%=ff
四行目は回転の設定。これはFEVERの背景のモーションですので00、つまりはまったく回転はしません。
ちなみにまったく回転させない場合は記述の必要はありません。
逆に透明度は変えずに回転させる場合は透明度も記述しないといけなくなります。

これは、みゅにが回転の記述を透明度の記述と誤解してしまうためです。

公式で猫実さんの説明のとおり、右回転360度回転を255分割したものを16進数で書き出します。
つまり、右回転で10°ごとの数値
(参考画像加工にJTrimを使用。)
10°=0.027
=06
100°=0.277
=46
190°=0.527
=86
280°=0.777
=c6
20°=0.055
=0e
110°=0.305
=4d
200°=0.555
=8d
290°=0.805
=cd
30°=0.083
=15
120°=0.333
=54
210°=0.583
=94
300°=0.833
=d4
40°=0.111
=1c
130°=0.361
=5c
220°=0.611
=9b
310°=0.861
=db
50°=0.138
=23
140°=0.388
=62
230°=0.638
=a2
320°=0.888
=e2
60°=0.166
=2a
150°=0.416
=6a
240°=0.666
=a9
330°=0.916
=e9
70°=0.194
=31
160°=0.444
=71
250°=0.694
=b0
340°=0.944
=f0
80°=0.222
=38
170°=0.472
=78
260°=0.722
=b8
350°=0.972
=f7
90°=0.250
=3f
180°=0.500
=7f
270°=0.750
=bf
360°(0°)

1.00000

と、いう風になります。多少のずれはご愛嬌。
※「FF」は0°ではありません!358°前後となります。
自分で自由に角度を指定したい場合はウィンドウズ標準の電卓を使い、表示→普通の電卓のところを関数電卓にしましょう。
後は16進と10進のトグルボタンをうまく使い探しましょう。

計算式↓

透明度(16進数)10進数の255×(1-小数での透明度%)
角度(16進数)10進数の255×(知りたい角度÷360)
360わったり255からわったり。
基本的にレイヤーは下の行にある定義ほど上に表示される仕様みたいです。
しかし、テクスチャ関連はまだ未完成のようで、並べてレイヤーテクスチャ表示をするとバグって
おかしな順番で表示されることがあります。
また、レイヤーとテクスチャを織り交ぜても順番がおかしくなります。
そのときは、適当に並べ替えてきちんと表示されるようにするしかないみたいです。
これは今後のバージョンアップを待つしかないです。

↓よくわかりませんが参考にDJyamabe置いときますね↓

DJyamabe個人的意見。みゅにに自分のほしい仕様としては
1.画像の上下・左右反転指示(画像ファイルを安上がりにできるため)
2.番号でレイヤー・テクスチャ優先度を決められる仕組み
3.定義のバグ関連をどうにか・・・(パソコンによっての表示バグとか)
4.CPU専用(セレクト画面に表示しないキャラ)や2Pを曲担当に出来ればさらに○
5.背景を共有化(相手のFEVER・BAD背景を使う)できるようにする。
6.同じフォルダのキャラはひとつのキャラ選択スペースにまとめる。(PM9以降の同キャラまとめ的)
7.ニュートラルでもテクスチャのフェードを持続させる(公式の余韻が残るBAD・FEVER背景参照)
8.曲によってのタイトルフォント指定。フォントじゃなくて画像で代用でもOK。
9.スキン定義指定の完全化。効果音周りは特に。

コレが全部そろったら公式なんてメじゃないです(ぇ

ホント、これができたらいいなーと。そんな夢。