忍者ブログ
まったくのプログラミング素人の筆者がC++/HSPを使用してSTG(シューティングゲーム)を作っていく過程を書くブログでしたが最近は脱線気味。プログラミング以外にも、ゲーム関連の記事、日々の戯言など。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

先日制作した透明テクスチャを使った3DのモデルDXライブラリで表示させてみようとした
のですが、どうも上手く表示出来ませんでした。

上手く表示されないと言うか全く表示されなくてアレコレ試してみると、どうもテクスチャの設定を
透明部分で設定していては駄目なようで、模様部分で設定してテクスチャ自体をpngファイルを
使って、アルファチャンネルで透明部分を指定するのが良いようです。
s-201101051.jpg
こんな感じでGIMP2で透過する部分をアルファチャンネル指定します。

s-WS000901.jpg
テクスチャの設定は模様部分で指定しても、アルファチャンネルで指定した部分は透過されます。

で、とりあえずDXライブラリでモデルは表示されるようになったのですが・・・
s-WS000900.jpg
こんな感じで、何か変な影が入ってしまうんですよね。
なんでかなー?と思いつつ色々試してみると、3Dのモデル製作時に面を反転させていないと
こんな影が入る事が解りました。
s-WS000903.jpg
選択部処理から面を反転を選んで反転させると上手く表示してくれました^^


で、上手く出来た!と思って3Dモデル同士を重ねてみると、なんか変です。
WS000898.JPG
手前のモデルは上手く透過されていますが、奥にあるはずの赤い四角のモデルが上手く透過
されていません^^;

テクスチャの画像を変更してみたり、モデルを作りなおしてみたりしてみたのですが上手くいかず
Twitterで上手く出来ねぇぇぇと呟いていたら、解決方法を教えて頂けました^^;
何か、教えてもらってばかりで申し訳ない気持ちでいっぱいです(滝汗)

原因はモデルの描画順序で、不透明モデルを先に描画してから透明モデルを描画するのが
基本なようで、私の場合は見事に反対に表示させていたので上手く描画されなかったようです。
透過指定しているのだから、描画順序など関係ないと思い込んでいました^^;
で、描画順序を変えてやると上手く表示されました^^
WS000899.JPG

これを踏まえて、簡単な透過3Dモデル表示プログラムを作ってみました↓
https://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1294159059

動かすとこんな感じ↓
s-WS000905.jpg
アローキーでシールドモデルの移動
Z⇔Aで奥行き変更
X⇔S、C⇔D、V⇔Fでモデルの角度を変更出来ます。

とりあえずコレでシールドモデルの表示は出来そうなので、ゲームに組み込んで自機死亡処理
などと絡めて作って行こうかと思っています^^
PR
この記事にコメントする
お名前
タイトル
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
Twitter
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
最新コメント
[04/20 kt.]
[04/19 うぇむ]
[11/24 kt.]
[11/21 NONAME]
[11/24 kt.]
プロフィール
HN:
kt.
性別:
男性
自己紹介:
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
忍者ブログ [PR]