トップページ > 過去ログ > 記事閲覧
3Dにおける空と煙の表現について
名前:テル 日時: 2010/09/17 00:36

皆さん、始めまして。テルと申します。 毎日のように、DXライブラリを使って楽しくプログラミングさせてもらっています。 現在、3Dのフライトシミュレータを製作しているのですが、 題名の通り、「空」と「煙」の表現方法で詰まってしまっています。 @空の表現方法について いろいろな文献をあさったのですが、コレといった技法が見つからず・・・。 フォグを使ってみたのですが、一面の曇り空と言ったような感じになってしまいました。 やはりキレイな青空にしたいのですが・・・。 何か良い技法、DXライブラリの関数等、ご存知でしたら教えてください。 A煙の表現方法について 黒の背景に白や灰色を使ってモヤッとした感じの画像をテクスチャとして 描画することで煙(白煙)を表現しようと考えています。 なので、テクスチャの黒い部分ほど透過させて描画したいのですが、 テクスチャの透過色はどうやって設定するのでしょうか? 画像ファイルはBMPを使っているのですが、 やはり、PNG等でアルファ値を設定した画像ファイルを使わないといけないのでしょうか? 質問は以上の2点です。宜しくお願いします。

Page: 1 |

Re: 3Dにおける空と煙の表現について ( No.1 )
名前:管理人 日時:2010/09/17 22:31

@空の表現について 私も詳しくないのですが、今のところ「スカイドーム」という空専用の巨大な 半球型のモデルを用意して空を表現することが多いようです 「モデル スカイドーム」で検索するとスカイドームモデルに関係するサイトが 見つかると思いますので、よろしければお調べになってみてください A煙の表現方法について DXライブラリは二つのBMPファイルを使用して透明度を持った画像ハンドルを 作成できるようになっていますので、その機能を使用すればBMPファイルでも大丈夫です 例えば 256x256 サイズの真っ白で全体的にモヤっと透明になっている画像ハンドルを 作成したい場合は、256x256 サイズで真っ白の smoke.bmp というファイルと 同じく 256x256 サイズで、モヤっと黒が分布している smoke_a.bmp を用意して handle = LoadGraph( "smoke.bmp" ) ; という風に smoke.bmp の方を読み込むと DXライブラリは自動的にファイル名に _a を追加したファイルがあるかどうかを 調べ、smoke_a.bmp を透明度情報として読み込みます( 黒に近いほど透明度が高くなります ) DXライブラリのパッケージの「サンプルプログラム実行用フォルダ」の中にある test6.bmp と test6_a.bmp がその関係ですので、よろしければお試しになってみてください
Re: 3Dにおける空と煙の表現について ( No.2 )
名前:テル 日時:2010/09/17 23:41

なるほど! DXライブラリにそのような機能があったのですね。知りませんでした(汗 さっそく試してみようと思います。 今後とも、DXライブラリにはお世話になりそうです。 アドバイス、ありがとうございました。
Re: 3Dにおける空と煙の表現について ( No.3 )
名前:テル 日時:2010/09/18 21:12

たびたびすいません。 空の表現に関してはバッチリできました。ありがとうございます! しかし、煙の表現に関してなのですが、 煙は3Dのポリゴンにテクスチャを張り付けてワールド空間に描画しようと思っています。 (すいません。言葉が足りませんでした・・・) 3Dモデルのテクスチャの場合、アルファチャンネル画像を用いた透過はできないみたいなのですが・・・。 (テクスチャと同じフォルダに_aを付けたアルファチャンネル画像を置いてみたのですが、駄目でした)
Re: 3Dにおける空と煙の表現について ( No.4 )
名前:管理人 日時:2010/09/19 01:46

ご指摘の通り3Dモデルのテクスチャでは _a の機能は働いていませんでした _a の機能を3Dモデルのテクスチャ読み込み処理にも付けましたので、 よろしければお試し下さい m(_ _)m http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』、VCをお使いの場合は『リビルド』をして下さい)
Re: 3Dにおける空と煙の表現について ( No.5 )
名前:テル 日時:2010/09/19 14:52

試したところ、うまくいきました! 早急な対応、ありがとうございます。

Page: 1 |