ページ 11

暗い場所の演出

Posted: 2008年1月25日(金) 22:45
by テックウォ
はじめまして
DXライブラリを使用してゲームを作っているのですが、
洞窟や、夜の館に入ると元のグラフィックだと色が鮮やか(?)すぎるので、
ちょっと暗くしようと思ったのですが、
それだけだと直接グラフィックを編集すればいいのですが
ろうそくのようなものが置いてある近くだけは明るく(元の色)にしたいのです

暗くするだけならSetDrawBrightを使えばいいとわかったのですが、
あるものの周りだけ明るくするにはどのようにすればいいのでしょうか?

Re:暗い場所の演出

Posted: 2008年1月25日(金) 23:56
by 管理人
今家がネットつながらなくて、携帯でしかうてないからサンプル作れないんですが‥。
手元にグラデーションとかが表現できる画像編集ソフトありますか?
中央が黒で、周りが白い円形グラデーション画像作って下さい。
後、減算ブレンドってわかりますか?
白い画像は減算するととても暗くなり、黒い画像は少し暗くなります。
だからこのグラデーションで表現可能です。キャラを中心に減算ブレンドし、それ以外の真っ暗な場所はブレンドしないよう、グラフィック領域から除外しましょう。
意味がわからなければネット喫茶とか行ってコード書いて来ますよ。

Re:暗い場所の演出

Posted: 2008年1月26日(土) 00:27
by 管理人
ネット喫茶に行っても、プログラムがかけないので大学まで来て見ました。
ただ大学からはファイルがアップロード出来ないんですよね・・。
ちょっとサンプル作ってみますので少々お待ち下さい。

Re:暗い場所の演出

Posted: 2008年1月26日(土) 01:38
by 管理人
まず、画像。

Re:暗い場所の演出

Posted: 2008年1月26日(土) 01:39
by 管理人
移動してて遅くなりました。

こんな感じでしょうかね?
サーバーにデータあげられないのでサンプル上げられないですが、こんな感じでよければ、上の画像を減算ブレンドすれば出来ますよ。

SetDrawBlendMode( DX_BLENDMODE_SUB , 255 ) ;

を書いてから描画したものは、すでに描画されているものから、描画した明るさ分だけ引き算して描画されます。
減算し終わったら

SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 ) ;

でブレンドモードを終了して下さい。

Re:暗い場所の演出

Posted: 2008年1月26日(土) 17:54
by テックウォ
レスありがとうございます
上のサンプルを使ってやってみようと思います
本当にありがとうございました

Re:暗い場所の演出

Posted: 2008年1月27日(日) 23:51
by tk-xleader
滅茶苦茶つまらないですが、同じことを乗算ブレンドでもできます。白黒を反転した状態ならば、管理人さんの結果と同じ状態になります。
うーん、ブレンド機能恐るべし。

Re:暗い場所の演出

Posted: 2008年1月28日(月) 08:08
by parapara
管理人さんが言ってる事は多分、1ピクセルごとにRGBそれぞれに、ビット演算子(&)を描ける事を意味しています。

Re:暗い場所の演出

Posted: 2008年1月28日(月) 20:43
by parapara
↑は管理人様じゃなくて、tkさんが言ってるほうでした。
管理人さんが言ってる方は逆の事(NOを全体につけて)。