アニメーションファイル

1、ファイル形式
2、Partsとは
3、画像の原点
4、Anime
5、Motion
6、透明色の設定と画像ID(GID)

ファイル形式

アニメーションファイルとは、キャラクターのアニメーションを示す情報ファイルのことで、
格闘ゲームの場合だと、キャラクターがパンチするアニメーションが3パターンあるとしたら、パンチ1、パンチ2、パンチ3
というアニメーションを経てパンチという動作を完了するはずです。
この"パンチ"という動作をMotion(モーション)と呼び、"パンチ1"などをAnime(アニメ)と呼んでいます。

このファイルは拡張子がaniUTF-8ファイルで形式が以下のようになっています。
(↓は改行を表しています。また色文字は説明のための注意書きなので、実際のデータには含まれません。)




アニメーションファイルは、大きく分けてHeader部分、Motion部分、Anime部分、Parts部分があり、図中の略語の意味はそれぞれ
  1. GraphicsFileName
    使用する画像のファイル名(絶対パス)を表します。

  2. PX,PY
    PixelX,Yの略で、透明色を示すピクセル座標です。画像の指定した位置のピクセルの色が透明色となります。

  3. R,G,B
    Red,Green,Blueの略で、透明色を示すRGB値です。指定したRGB値が透明色となります。

  4. GID
    GraphicIDの略で、画像のIDを表します。Header部分で画像ファイル名にIDを割り振り、Parts部分で画像の指定をそのIDで指定します。

  5. ActionName
    アニメーションの種類を表す文字列(歩く、走る、ジャンプ)などで、省略可能です。

  6. C
    AnimetionCounterの略で、アニメーションする時間を表します。現在この値は使用していません。

  7. GX,GY,GW,GH
    GraphicX,Y,Width,Heightの略で、画像のどの部分を使用するかを表します。
    GW,GHの値を0にすると画像そのままの幅、高さを指定できます。

  8. X,Y,Z
    画像の原点に対するPartsの相対位置です。詳しくは後述。(Zは現在使用していません)

となります。


Partsとは

"Parts"とは文字通り"部分"を表し、一枚の画像を作るのに必要な各部分の情報が格納されています。
"Parts"の値を実際の例をあげて説明します。

いま仮に以下の画像を使って左手を上げているキャラクターを作成したいとしましょう。



詳細な情報を拡大して表示すると



キャラクターを作るのに必要な部分は、顔、体、左手を上げている、右手を下げている、右足、左足なので、 完成した画像は、



です。画像の原点からの位置を拡大して表示すると



上図のように各部分を設定すれば左手を上げているキャラクターが表示されます。
実際のアニメーションファイルを作成すると以下のようになります。



このファイルでは"顔"が1Parts目、"体"が2Parts目、"左手を上げている"が3Parts目という風に呼びます。

それではファイルを作成したら実際にツールで読み込んで表示させてみましょう。
まずイメージツールの[ファイル参照]からこのファイルを読み込んで下さい。



次にイメージツールの[引数]の欄に"0 0"と入力して[更新]を押してください。



引数の"0 0"の意味は"Motion Anime"を表し、最初の0はMotionの番号を示し、最後の0はAnimeの番号を示しています。

ちゃんと表示されていますでしょうか?
されないという方は、
  1. アニメーションファイルの改行が抜けていないか?
  2. アニメーションファイル内の画像パスと実際の画像パスは合っているか?
  3. 引数はちゃんと"0 0"か?
  4. [ファイル参照]で読み込んだアニメーションファイルがちゃんと指定したアニメーションファイルか?
などをよく確認してみてください。


画像の原点

Partsとはで説明したアニメーションファイルは以下のように修正しても同じ結果になります。



どこが変化しているかというとX,Yの部分です。
なぜこのような修正をしても同じ結果になるのかというと、Partsとはで説明したアニメーションファイルは、
画像の原点をキャラクターの一番左上の位置に、修正後のアニメーションファイルはキャラクターの首に設定したからです。
画像の原点を首にしたときのイメージとしては以下のようになります。



画像の原点を設定するのはユーザーの心の中で設定します。画像の原点はどこでもいいのですが、
自分で決めた原点に対し各Partsの相対位置が正しく配置されていればそれで設定完了です。


Anime

複数のAnimeを作成して表示してみましょう。
使用する画像は以下の画像です。


※各顔のサイズは64×64

それぞれ楽しい顔、悲しい顔、怒った顔の画像です。
仮に楽しむ、悲しむ、怒るの順番にアニメーションするとしたらファイルは以下のようになります。



それではこれを実際に読み込んで表示してみましょう。
画像の原点で説明したのと同じ要領でファイルを読み込み、
引数を"0 0"で楽しい顔、"0 1"で哀しい顔、"0 2"で怒った顔が表示されます。







ちゃんと表示されましたでしょうか?
複数のAnimeを設定したい場合はこのようにします。


Motion

Animeで使用した画像を使って複数のMotionを設定する場合について説明します。
まず楽しむ、悲しむ、怒るという3つの動作を設定するとします。
その前提でアニメーションファイルを作ると以下のようなファイルになります。



ではこのファイルを読み込んで、画像を表示させてみましょう。
イメージツールの引数が"0 0"で楽しむ、"1 0"で哀しむ、"2 0"で怒る動作をします。







Animeの時とファイル内容や引数の違いをよく確認して見てください。
簡単な説明ですがご理解いただけましたでしょうか?


透明色の設定と画像ID(GID)

透明色を設定したい場合はHeader部分の画像ファイル名の後に透明色の記述を行います。
まず以下の画像を透明色なしで表示してみます。

※C:/temp/Face2.bmp

※アニメーションファイル

※実際に表示させた画面

今度は赤色を透明色として設定し表示させてみます。





RGB値を直に指定して赤色を透明色として設定することもできます。





透明色は以上のような方法で設定する事ができます。

この透明色の設定を利用して、画像ID(GID)について簡単に説明します。
まず以下のアニメーションファイルをご覧下さい。



このファイルを透明色なし、赤色、黒色の順に表示していくと以下のようになります。

※GID=0 透明色なし

※GID=1 透明色赤色

※GID=2 透明色黒色

GIDがどんな値かなんとなくご理解いただけましたでしょうか?
もちろん"C:/temp/Face2.bmp"のところをそれぞれ違う画像ファイル名にしてもいいです。
GIDとは要するに画像を指定するのにファイル名だと面倒なので番号で管理しますよ、という値です。