トランジションをどうするか


どうも、hide92795です。
自作ゲームフェスの方は残念ながら落選となってしまいました。
どうやらツール部門は受賞なしだそうで驚いていますw
今回のお題は「トランジション(画面遷移エフェクト)」です。
デフォルトでもフェードだったりの基本的なものは搭載しますが、既存のノベルゲームエンジンで有名な吉里吉里さんの方では、画像を用いたトランジションが出来るようになっています。
白黒の画像(ルール画像)の濃淡で順番に表示・非表示する といったものですね。
この機能は非常に優秀なので是非リスペクトしたいと思っていますが、なんせどう実装すればいいのかわからない・・・
個人的な決め事で「既存のノベルゲームエンジンのソースは(出来る限り)見ない」というのを決めているので・・・
というわけで色々考えてみたわけですが、一番しっくりした方法を書いてみようと思います
パフォーマンスは非常に悪そうで、さらにサンプルソースすら書いてませんけどねwww


①ルール画像の濃淡を8bitに直し、0.0~1.0の間に割り当てる
②全ピクセルの濃淡だけを抽出し、Client用に保存
③Client側で、②で保存したものを読み取り、①の数字をZ軸にしてVBOを作成
④トランジション実行中にVBOをデプスバッファのみ有効で書き込む
⑤フォグで指定範囲より奥にあるピクセルに霧をかけ、アルファ値が下がってるような感じをする
⑥指定範囲の閾値を時間ごとに変えていく
これが1週間ほど悩んだ結果に出された案です
非常に気がかりなのが③のVBO作成時に頂点数がバカにならない数になってしまう(800*600で48万)ということです
アルファテストとかでがんばろうかと思いましたが、閾値から完全に見えなくなるまでの範囲の濃淡をどうするか
という問題にぶち当たり没になりましたw
サンプルソースでパフォーマンスが非常によろしくなかった場合には禁じ手のソース閲覧を使うしかないのかなぁ・・・・
(ちなみに今まで見たことありません)
サンプル書くのも非常に大変・・・・
けどそれが楽しいんだけどねww
ではノシ

 

  1. コメントはまだありません。

  1. トラックバックはまだありません。

*