ページ 1 / 1
演出のやり方ですが・・・
Posted: 2008年10月15日(水) 16:18
by 匿名
最近の東方のゲームはポーズをかけると画面がぼやけたり、ボスの周りの背景がゆがんだりしていますけど、ああいう演出はどうすればできるんでしょうか?
Re:演出のやり方ですが・・・
Posted: 2008年10月15日(水) 16:58
by 管理人
私はストップボタンが押された瞬間、その画面をキャプチャして
画面を暗く、赤くして
http://homepage2.nifty.com/natupaji/DxL ... html#R3N18
表示しています。
ゆがみは
http://www.play21.jp/board/formz.cgi?ac ... &rln=20959
この辺参考になるでしょうか。
画面と同じサイズのぼかし素材画像を用意しておいて、それをブレンドして描画してやるという手もあると思います。
また、ある程度飛び飛びにGetPixelでピクセルの色をとってきて、ある区間でDrawBoxしてやると
モザイクのようにもなると思います。
Re:演出のやり方ですが・・・
Posted: 2008年10月15日(水) 23:16
by Justy
東方のゲームをやったことがないので、一般的な話になりますが
>ポーズをかけると画面がぼやけたり、
いろんなやりかたがあると思うのですが、一番簡単そうなのは
ぼかしたいその画面を裏画面ではなく、テクスチャにレンダリングして、
そのテクスチャをアルファブレンドでアルファ値を下げた状態で
上下左右(或いは斜め)などの周囲の方向にわずかずらして
何度も描くことです。
ずらす幅や何回描いたかで見え方は変わってきます。
ただ、処理負荷高いので、どう使うのかは工夫しなければなりません。
>、ボスの周りの背景がゆがんだりしていますけど
東方でどう歪んでいるのかは見たことがないのでわかりませんが、
シンプルなのはこんなかんじでしょう。
DirectXにしろ OpenGLにしろ大抵の描画ライブラリには
頂点とその頂点に対応したテクスチャ座標(UV座標)を指定して普通の長方形や正方形ではなく、
自由な形状(三角形や台形・菱形のような変則的な四角形、或いはそれ以上の多角形)の絵を
表示できる機能があります。
プリミティブタイプ Mi-ko's FriendlySpace
ttp://mi-ko.cocoa.cx/programming/directx/directgraphics/FVF/directgraphics_01.html
DirectX によるゲームプログラミング入門 :第 3 章 DirectX Graphics の特殊効果
ttp://www.microsoft.com/japan/msdn/academic/Articles/DirectX/03/
の「(5) UV 座標」参照。
歪ませたい絵をテクスチャとして用意し、この機能を使ってボスの周りを
細かい三角形に分割して、頂点ボス周辺の頂点の位置を動かしてあげれば
ゆがみが表現できます。
一昔前の PS1/PS2とかでよく見かけた光学迷彩エフェクトも
これの延長線上で作られています。
# でも今時だとシェーダのお仕事ですよね、このあたりって。
Maverick Project
ttp://maverickproj.web.fc2.com/pg00.html
Re:演出のやり方ですが・・・
Posted: 2008年10月16日(木) 12:08
by 匿名
すいません、東方ではこんなかんじにゆがんでいます。
ぼやけたりとかはなんとなく分かりますけどゆがみはサンプルの意味が理解不能な状態です。
なんとかがんばって理解するのでこんな感じにゆがむサンプルを教えてください。
あとこれだと分かりにくいですけどゆがんでいる部分だけ赤っぽくなっている時もあるんですよね。
そういう表現はどうすればいいでしょうか?
Re:演出のやり方ですが・・・
Posted: 2008年10月16日(木) 12:16
by 匿名
あと聞き忘れたんですけど「ラスタースクロール」「テクスチャ」「レンダリング」って何のことですか?
Re:演出のやり方ですが・・・
Posted: 2008年10月16日(木) 12:51
by 通りすがり
赤くしたいなら赤でアルファブレンドすればよいだけです。
特殊な形で赤くしたいならその形で作った赤い画像を上からアルファブレンドすればよしです。
わからない言葉があるときはまずググるなり自分で調べてみましょう。
Re:演出のやり方ですが・・・
Posted: 2008年10月16日(木) 12:55
by 御津凪
> あと聞き忘れたんですけど「ラスタースクロール」「テクスチャ」「レンダリング」って何のことですか?
まずはそこから覚えていかないと、東方のような、比較的高度な演出を作るのは難しいです。
ラスタースクロールは、
http://l.huu.cc/board/log/bbslog_66.html#20946
こちらをご覧ください。
テクスチャは、ポリゴンの板に張るシールのような画像のことを指します。
レンダリングは、ポリゴンやモデル、テクスチャなどを描画する処理の事を指します。
これらは基礎となる用語です。
きちんと調べて覚えましょう。
東方ではシェーダ(レンダリング処理を自分で処理すること)でエフェクトを実現されているようなので、
始めからそれをやるには敷居が高いかもしれません。
(真似るだけならシェーダを使わなくても可能です)
Re:演出のやり方ですが・・・
Posted: 2008年10月17日(金) 14:14
by 匿名
難しくて今は無理そうですね。まあ地道にがんばります。