■馬鹿プロジェクト1■
「自由に公開できるMADムービーを作ろう」

Last update : 2000/12/10



■事の始まり

Nagi:「と言う事で、頼む」
Yuh:「はい?」
Nagi:「飲み込みが悪いな」
Yuh:「いや、そんな事言われても、いったい何がしたいのか私にはわからないが?」
Nagi:「だからな、MADムービーは取り込んだ動画を編集して公開するから、著作権の問題が出てくるんだろ?」
Yuh:「まあ、そうだな。自分で撮った絵なら誰も文句は言わんだろう。」
Nagi:「で、最近はやりの静止画MADを見て思ったんだが、これってゲームの画像を使ってるわけだよな。」
Yuh:「ああ」
Nagi:「静止画MADを見る奴は、みんなその元のゲームを持ってると思わんか?」
Yuh:「なるほど、言いたい事はわかった。つまり、ムービーとしてMADを公開せず、見る人間の環境でムービーを生成すればいいわけだな。
Nagi:「そう言う事だ、で、作ってくれ。」
Yuh:「ムービーを生成するより、リアルタイムで生成して再生した方が良いな。
Nagi:「昔流行ったメガデモだな。DirectXでも使ってみるか?」



Yuh:「なぜAthlon1Gで20FPSしか出ない?、スクリーンに転送すらしてないのに。」
Nagi:「アルファチャネルの処理が重いんじゃないか?」
Yuh:「いや、同じルーチンでGDIだとMMX200で10FPS以上出ることを確認してる。」
Nagi:「DirectDrawか・・・」
Yuh:「バックバッファのサーフェースから読み込むことは、DirectDrawではタブーだが、システムメモリ上のサーフェースから読み込む処理も死ぬほど重いな・・・」
Nagi:「これでは使い物にならないな。」
Yuh:「仕方がない、GDIで組もう。DrawDibを使えば、それなりに使い物にはなるだろう。」



Nagi:「70FPSか、スクリーンに転送すると、40FPS切ってるな。もう少し早くならないか?」
Yuh:「アセンブラで書いてみるか。MMXのリファレンスあったっけ?」



Yuh:「おかしいな、AthlonだとMMX使った方がトロイぞ。
Nagi:「MMX-Pentium上では、確かにかなり早くなってるが、セレロン上でも386アセンブラの方が早いな。」
Yuh:「MMX命令は必ず1クロック消費するから、パイプラインで処理した非MMXのほうが早いのかもしれないな。」
Nagi:「何のためのMMXだか。」
Yuh:「とりあえず、386アセンブラをもう少し最適化してみるか。」



Yuh:「おお、アルファチャネル処理と透過色処理と拡大を同時にやっても100FPS近く出てるな。これなら、画面に転送しても、平均30FPSは保てるだろう。」
Nagi:「要PentiumII400MHz以上だな・・・。
Yuh:「後はお前の仕事だ、クラスにまとめておいたから、簡単に使えるだろう。」
Nagi:「普通のMAD作るより楽だな・・・」



Nagi:「なあ、DirectDrawはサーフェースから読み込むから遅いんだろう?」
Yuh:「ああ。」
Nagi:「じゃあ、GDI版と同じように、内部でデータを生成して、描画にだけDirectDrawを使えば良いんじゃないか?」
Yuh:「・・・その手があったな」



Nagi:「おいおい、70FPS超えてるよ・・・」
Yuh:「やはり、サーフェースのロックが一番のネックのようだな。」
Nagi:「メモリに直接アクセスするときは、サーフェースは使えないということか・・・」


■完成品その1「無題(題材:Kanon)」−28秒−

1.動作環境

  1. Windows95/98/Me
  2. 16Bitカラー以上(GDI版は256でも動きます。)
  3. PentiumII300MHz以上推奨(MMX200だと、かなり辛い物がありました。GDI版は400MHz以上推奨です。)
  4. メモリ64M以上

2.動かすために必要なもの

  1. KanonのCDもしくはインストール済みのデータ
  2. Susieプラグイン「IFPDT10.SPI」(いのうえさんのHPからSPKNN131.LZHをダウンロードしてください

3.動かし方

  1. ダウンロードしたファイルを解凍する。
  2. いのうえさんのHPから「SPKNN131.LZH」をダウンロードし解凍した中身を全てDemoPlayDx.EXE(DemoPlayGDI.EXE)と同じフォルダにコピーする。
  3. DemoSetUp.exeを起動する。
  4. 実行ボタンを押した後、KanonのCDの入ったドライブか、Kanonがインストールされたフォルダを指定する。
  5. DemoPlayDx.EXE(DemoPlayGDI.exe)を起動する。

4.掲示板/

なんかあったら書いてください。

5.ダウンロード

  1. DemoPlayDx001.lzh (DirectXバージョン、600K)
  2. DemoPlay001.lzh (GDIバージョン、600K、ソース付き)

6.評価

実験として作ったので、余り出来が良いとはいえない。
MADになってないし・・・



▼このサイトへのリンクはご自由にお張りください▼