アニメーション設定

「アニメーション設定」の編集履歴(バックアップ)一覧に戻る

アニメーション設定 - (2007/11/19 (月) 01:34:30) のソース

pngが出来たら次にアニメーションの設定を行います。
テキストエディタで書くだけなので変数の見方や
注意点を中心に書いていきます。
torqueを持っている人は多少楽に製作できますが
やり方は別ページで。

用意するもの
・テキストエディタ


なお今回は停止状態(stand)を作るという前提で
説明させていただきます。
1.
Animation.csを作成(空のテキストファイル改名でOK)
出来たファイルに
$[[キャラクター名>キャラクターの名前の付け方について]]_Anime = new SimSet() {
 ①
}; 
③
と入力

2.
次に画像の設定を行います。
①の場所に

new t2dImageMapDatablock([[キャラクター名>キャラクターの名前の付け方について]]_standImageMap) {
②
};
と入力

3.
②の場所に
imageName = "~/chara/[[キャラクター名>キャラクターの名前の付け方について]]/image/stand.png";
imageMode = "CELL";
frameCount = "-1";
filterMode = "NONE";
filterPad = "1";
preferPerf = "1";
cellRowOrder = "1";
cellOffsetX = "0";
cellOffsetY = "0";
cellStrideX = "0";
cellStrideY = "0";
cellCountX = "-1";
cellCountY = "-1";
cellWidth = "128";
cellHeight = "128";
preload = "1";
allowUnload = "0";
と書く
変数については以下の通り
・imageName gameフォルダ以下に置かれた画像ファイルを指定。どこに置いても問題ないがキャラ名/imageフォルダに置くとわかりやすい。
・imageMode 値は必ず"CELL"にする。画像を区切られたコマに分けてそれぞれを1フレームとして認識させる。
・cellWidth、cellHeight 1フレームの大きさを決める。上の場合128x128で区切る。あまり大きくしすぎると容量の無駄なので普通のキャラなら256~512までにしておくのが妥当。
それ以外は製作者もよくわかってないので上にあるとおりに入力すればOK。
4.
③の場所に
new t2dAnimationDatablock([[キャラクター名>キャラクターの名前の付け方について]]_stand) {
④
};
}
と入力
5.
④の場所に
imageMap = "キャラ名_standImageMap";
animationFrames = "0 1";
animationTime = "0.983333";
animationCycle = "1";
randomStart = "0";
startFrame = "0";
と入力
変数については以下の通り
・imageMap t2dImageMapDatablock()の括弧の中に入力した名前を使ってイメージを呼び出す。
animationFrames = 半角スペース区切りでフレーム番号を入力する。番号のつけ方は左上が0で右に行くごとに1ずつ増え右下が一番最後になる。簡単に書くと以下のようになる。

     012345
     6789

animationTime = アニメーションが一周する時間(?)1.0で1秒
animationCycle = 1でアニメがループ。0でループしない
randomStart = スタート位置がランダムになる
startFrame = スタートするフレームを設定

6.
アニメーションを追加する場合は2~5を下に追加すればいい。


以下今回使ったstandのサンプルソースを張って置きます。
$giko_motogiri_100_F5n7JaqqeF6M_Anime = new SimSet() {
   
   new t2dImageMapDatablock(standImageMap) {
      imageName = "~/chara/giko_motogiri_100_F5n7JaqqeF6M/image/stand.png";
      imageMode = "CELL";
      frameCount = "-1";
      filterMode = "NONE";
      filterPad = "1";
      preferPerf = "1";
      cellRowOrder = "1";
      cellOffsetX = "0";
      cellOffsetY = "0";
      cellStrideX = "0";
      cellStrideY = "0";
      cellCountX = "-1";
      cellCountY = "-1";
      cellWidth = "128";
      cellHeight = "128";
      preload = "1";
      allowUnload = "0";
   };
   new t2dAnimationDatablock(giko_motogiri_100_F5n7JaqqeF6M_stand) {
      imageMap = "standImageMap";
      animationFrames = "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58";
      animationTime = "0.983333";
      animationCycle = "1";
      randomStart = "0";
      startFrame = "0";
   };
   new t2dImageMapDatablock(runImageMap) {
      imageName = "~/chara/giko_motogiri_100_F5n7JaqqeF6M/image/run.png";
      imageMode = "CELL";
      frameCount = "-1";
      filterMode = "SMOOTH";
      filterPad = "1";
      preferPerf = "1";
      cellRowOrder = "1";
      cellOffsetX = "0";
      cellOffsetY = "0";
      cellStrideX = "0";
      cellStrideY = "0";
      cellCountX = "-1";
      cellCountY = "-1";
      cellWidth = "128";
      cellHeight = "128";
      preload = "1";
      allowUnload = "0";
   };
  //以下アニメーションを追加
};