本日 18 人 - 昨日 34 人 - 累計 138403 人

avi動画作成講座

  1. HOME >
  2. avi動画作成講座
ここでは、臥龍を使ってのゲーム製作を盛り上げる為の重要なファクターであるavi動画作成を「obj2avi」というソフトを用いて作成してみたいと思います。


「obj2avi」とは?
臥龍作者でもあるキケロガさまの手による動画作成ソフトで、画像をX、Y、Z軸による擬似3D空間上に配置し、好きに動かしたり拡大、縮小、フェードイン、アウト、角度変更、文字の表示など自由自在です。

必殺技動画以外にも、シナリオ中の動画、OP、ED動画など何でも作れてしまいます。




まず臥龍公式HPまたは臥龍howto本「臥龍で作るシミュレーションゲーム」より「obj2avi」を入手し、解凍してください。

「obj2avi」の中にはサンプル素材が同梱されていますので、とりあえずはこれだけでも動画作成できます。

「obj2avi」の中にあるのは、各種画像が一緒くたにはいっている「pict」フォルダとサンプル動画用CTXデータが幾つかと「obj2avi」の実行プログラムです。

1551.png
↑こんな感じ

この実行プログラムをいきなりダブルクリックしても、動画作成用のツールなどは出てきません

なぜなら、この実行プログラムはCTXデータを動画へ変換する為に使う物であり、動画作成のキモはむしろ単なるテキストデータの様なCTXデータの方だからです。

1553.png
↑これが動画を作る為のCTXデータだ!

・動画作成に必要な物

では、実際に動画用実行プログラムの記述の解説に移る前に、まずは動画作成に必要な素材を確認してみましょう。

※以下の物の物は「あると良いもの」であり、全種類なければいけない訳ではありません。

「obj2avi」で必要な物=画像のみ

・「背景画像」 サイズに決まりはありません。(あまり大きすぎると使い難いのであらかじめ適当なサイズに縮小した方が良いです)

・「動かしたい画像」 バトル時に使うユニットアイコン、ビームやミサイルなどの弾画像、カットイン画像などお好きなもの幾つでも。

・「エフェクト用画像」 一枚絵のエフェクト画像または、アニメーションを縦に繋げたエフェクトアニメ用画像。
※縦サイズがあまりに大きくなるとエラーが出る様です。(縦サイズ2000あたりではダメでした)

・「その他画像」 パイロットフェイス画像、セリフ表示枠など演出用パーツ

これらの使いたい画像を「pict」フォルダに放りこみます。

1554.png
↑pictフォルダ内。ユニットも背景もエフェクトも画像形式も気にせず放り込むべし!
※「obj2avi」には音声を動画に合成する機能はありませんので、音声データはココでは必要としません。


・動画作成プログラム(CTXデータ)

動画作成は専用の命令をテキストで記述して、それを実行プログラムにより変換するという流れになっています。

「obj2avi」で出来る事は、「pict」フォルダにある画像を任意にX(左右)、Y(上下)、Z(奥行き)に表示&移動させる、角度を変える、拡大、縮小する、透明度を変える、消す、文字を表示するなどです。

プログラム作成についての詳しい説明は「readme」や本家「臥龍」HP、「臥龍で作るシミュレーションゲーム」を参考にして頂くとして、ここでは製作のコツや注意点などを紹介したいと思います。

では、実際にサンプルプログラムを見てみましょう。(サンプルプログラム2)

1555.JPG
※このプログラムの行別解説

#が付いている所は説明文ですので実行されません。

スクリーンサイズを512x320に指定し、avi出力はしないので最後を0にしておく。

オブジェクト番号2にBattleMoverというbmp画像を20x16のサイズで登録。

オブジェクト2番の画像をX105、Y0、Z-10の位置に15/255の角度(21度くらい)で表示
(指示していない拡大率は1倍、透明度は255となる)

1フレームごとにX座標を-1.25、Z座標を 0.8増減させる(移動開始)
(画面向かって右、手前から左、奥へと移動)

フレームNO.100になったら(約3.3秒後)オブジェクト2番の画像を-15/255(-21度くらい)で表示しなおし。

1フレームごとにX座標を+1増加させる(移動開始)
(画面向かって左から右へと移動)

フレームNO.128になったら(約3秒弱後)オブジェクト2番を0/255(0度)で表示しなおし。
オブジェクト2番画像のx方向への増加を止める。(停止)

フレームNO.200になったら終了。

実際の動きはサンプルプログラム2を実行して確認してください。

え?上の説明だけでは分からない?・・・ではもう少しポイントを押さえてみたいと思います。

まずは、使用する画像を登録します。「pict」フォルダ内の画像名、画像形式を間違えないように登録。ここにおけるサイズは画像サイズと同じ必要はありません。画像そのものを動かしていると言うより、このサイズの板に画像を張りつけたものを動かしていると考えて下さい。画像サイズより小さければ縮小して、大きければ拡大してそのサイズに自動調整します。

例えば、ミサイルを10発表示したければ、ミサイル画像を10個分登録させる必要があるし、一度消した画像を再び表示する事は出来ないので、一度消してまた表示したければ、二度目の分は別に登録する必要があります。
(1度消してまた表示したい場合はDellで消さずに、透明度を0にして消えたように見せた後で透明度を255にしてまた出てきたようにすれば良いかと。)

画像を表示する位置X、Y、Z及び、角度、倍率、透明度を指示
(角度と透明度は0~255の範囲なので注意。特に角度は360度で考えがちなので気をつけること!)

特に指示する必要が無い項目は省く事ができます。
ただし、角度、倍率をそのままで透明度のみ変化させたい場合などは、角度、倍率の所を「、」で区切って、ここに省略した数値が実はあるよ~んと言う事を指示する事。(、の数を数え間違わない様注意。)

画像の表示はZ座標により手前、奥が発生します。手前に表示したいものはZ座標を小さく(0以上)、奥に表示したいものはZ座標を大きくする事。
この時、手前に表示した画像は奥に表示した画像に被ってしまうので、重ねたい場合、重ねたくない場合とも、Z座標を考えながら指示すること。
あと、擬似3D表示につき、手前のものは大きく、奥のものは小さく見えますので気をつけてください。(これは遠近感であり拡大縮小とはまた別です)

フレームNoを指示しない場合は上から順次その処理を行うが、タイミングはプログラム任せになってしまうので、間をとりたい時などはきちんとフレームNoを指示するように。

画像の移動量などについては、つねに指示した増減値ぶん停止命令があるまで1フレームごとに増減します。

ちなみに1秒=30フレームです。

さて、このCTXファイルですが、ゼロからメモ帳などでテキストデータとして制作してもCTX形式では無いのでうまく読み込んでくれません。
コピー&上書き大好きなワタシは常にサンプルのCTXファイルを別の場所(デスクトップなど)にいったんコピーして、名前を書き換えた後に元の場所に戻して制作しております。



・プレビューとavi出力

・途中まででも、うまく動くかチェックをしたい場合などは、CTXファイルを実行アイコンにドラッグする事で動画が再生されます。

細かく一動作プログラムするごとにプレビューしてチェックするほうが無難です。
(あまりたくさんプログラムをいじった後にプレビューしてうまくいかなかった場合、どこに原因があるのか探しづらくなる為)

このとき、CTXプログラムの先頭にある<Screen 512,320,0>の右端の数値が0になっているかをチェックしてください。ここが1になっていると再生だけでなくavi出力してしまいますので、この数値は動作チェックしてこれでOKとなってから1に変更する事。

avi出力する際には、出力場所、ファイル名を指示し、圧縮形式の選択では圧縮無しを選んでください。(後ほどBGMを付ける際に別ソフトにて圧縮します)

・avi出力ができたら

・次に別ソフトを使って音声の合成、圧縮をして完成です。その手順は次項にて解説します。

・ありがちなミス

・CTXファイルを実行プログラムにドラッグした途端に「エラー13」が出る
実行時、まずは使用する画像を「pict」フォルダに探しに行くようです。この時、画像が見つからない場合にこのエラーが出ます。

原因としては、画像自体が「pict」フォルダに無い、画像のファイル名を間違えている、画像の形式を指示し間違えている、画像ファイル名に使用できない記号が含まれている、などが考えられます

・実行した際に、思った通りに動かない。
Aの動作後、Bの動作に移るはずなのに、ず~っとAが動き続けて、Bが出てこない。などというときは、だいたいの場合フレームN0がおかしくなっていると考えられます。

実行プログラムは上から順に読んでいきますので、今実行しているフレームNoより小さいフレームNoが出てきた場合、以降を無視します。思った通りに動いている所と、おかしくなる所の境目辺りにおかしなフレームNoが無いか探してみてください。

・透明度を増減させ、フェードイン、フェードアウトさせようとした時にフェードした後点滅する
増減値をフレームごとに加算した時、増減値が大きすぎまたは小さすぎて最大値である255や最小値である0を超えてしまっているのが原因と思われます。
つまり、加算し続けた結果255を超えると一周してまた0から加算し続ける(0~255~0~255のサイクルになってしまっている)
増減値を控えめにする、または早い段階(フレーム数)で増減をストップさせて255や0を超えない様に調整してみてください。
※この現象は拡大率や角度の増減の際にも同様になりますので注意!

どうです?よく分からなかったでしょう?!
ですが、これはワタシに文章で物事を説明する能力が無いのが原因であり、「obj2avi」が難しいのではありませんのでご心配なく。
むしろ慣れてしまえば簡単に思い通りに作れるようになるでしょう。
ま、習うより慣れろ!と言うヤツですので、サンプルデータをいろいろいじってみて下さいな。



BGMを合成してエンコードする

CTXデータの完成、AVI出力(無圧縮)が出来たらあと一息。
BGMを合成して圧縮(エンコード)すれば出来上がりです。

そのためには、obj2aviとは別のソフトを用いて作業していきます。

使用するのは、「aviutl」というフリーソフトです。
本来、かなりいろんな事が出来る高機能ソフトらしいのですが、ワタシはそのほとんどの機能を使っておりません。
avi動画を呼び出す>waveファイルを呼び出す>圧縮して出力する。
この3つしかしていません。ん~、まさに宝の持ち腐れ。

1569.jpg
・aviutlを起動したら、「ファイル」>「開く」で、先ほど作成した無圧縮BGMなしavi動画を呼び出す。又はaviファイルを直接ドラッグしてもOK。

・次に、「ファイル」>「音声読み込み」でBGMに使用するWAVEミュージックファイルを呼び出し。
 ※使用できるのはwaveファイルのみです(たぶん)midiファイルは使用できないので、waveに変換しなければなりませんので注意!(変換方法はまた後で。)

・「ファイル」>「AVI出力」で、出力先を指示して、出力ファイル名を入力。

1570.jpg
「ビデオ圧縮」ではXvidコーデックを選択しています。
なお、遊ぶ側のPCにこのXvidコーデックが入っていない場合うまく動画再生されないので、その場合、Xvidコーデックを導入してもらう事が必要です。



さらに詳しいやり方

BGMに効果音を加えたwaveを作り、それをmp3に変換して容量を小さくした上でavi動画に合成してみます。

準備
まずはwave形式のBGMと効果音を用意します。wave形式の物が無い場合はmidi形式のBGMを「Itunes」と言うソフトを使って変換します。
(Itunesを起動>midiファイルをドラッグor開く>チェックをつけて「詳細」からwaveに変換>マイミュージックの「Itune」内にwaveファイルが生成される)

次に、音を貼り付けたいAvi動画を作成する際に使用したCTXファイルのフレーム数から効果音を貼り付ける時間を割り出しておきます。


60フレームのところに爆発音を貼り付けたければ、30フレーム=1秒を元に2秒のところに爆発効果音を貼り付け。


BGMと効果音の合成
「Audacity」と言うソフトを使ってBGMに効果音を合成します。

イメージ311_600.jpg


BGMとなるWaveファイルをドラッグし、その後効果音Waveをドラッグします。

効果音の波形範囲を選択し、ハサミのアイコンで切り取ります。
そしてCTXファイルから算出した場所(効果音開始点)を左クリックで指示し範囲をドラッグで指示(てきとーで可)した後にカバンみたいなアイコンでペースト(貼り付け)。

イメージ311_600.jpg

これを必要な効果音の数だけ繰り返したら、上部メニュー「ファイル」から「書き出し」をクリック。
合成したBGMの出力先とファイル名を指示して保存します。

不要部分のカット
Avi動画の再生時間以上は必要ないのでカットします。
上の「Audacity」と言うソフトでも出来ると思いますが、私はwindows付属の「サウンドレコーダー」を使っています。

イメージ315.jpg
先程合成できたwaveファイルを「サウンドレコーダー」にドラッグで放り込み、必要部と不要部の境目でメニューの「編集」から「現在位置から後ろを削除」した後、「上書き保存」します。

wave形式からwaveヘッダつきのMP3形式に変換する

後はavi動画と合成すれば出来上がりですが、このままではwaveファイルのデータ量が大きく、aviと合成したときの出来上がりデータ容量が大きすぎる物になってしまいます。

そこで、「SCMPX」と言うソフトを使ってwave形式からwaveヘッダつきのMP3形式に変換します。

イメージ319.jpg

「convert」ボタンをクリックし、「single file」>「encoding Mpx」をクリック。

イメージ321.jpg

「WAVEヘッダ」にチェックを入れ、「OK」をクリックすれば出来上がりです。

イメージ326.jpg

このように、_mp3.waveと言う拡張子のWAVEヘッダつきMP3ファイルが出来ました。データ量は約10分の1くらいにまで小さくなりました。

後は、上のBGMを合成してエンコードする
のやり方と同様にして、完成したWAVEヘッダつきMP3ファイルと音なし無圧縮avi動画と合成すれば完成です。

少し手順が複雑になりますが、慣れれば簡単に出来るようになりますのでチャレンジしてみてください。

※なお、各ソフトの入手先や詳しい操作方法はご自分でググってみてくだされ。