トップページ > 過去ログ > 記事閲覧
透過テクスチャ
名前:だみあん 日時: 2010/01/01 22:12

質問させていただきます。 3Dダンジョンを作成しているのですが 壁のモデルのテクスチャに透過UVを指定して、 向こう側がある程度透けて見える・・・というマップを作成しているのですが なぜかx軸+方向? (カメラの向き的に、サンプルと自前のとで基準とする方向が違うので 混乱して、正確にどっちの軸か判らなくなってますがとにかく特定の一方向固定です) のみ、UVテクスチャでの透過が上手くいっていないようです。 他の方向では、きちんと透過されて向こう側が見えています。 フォグを切ってみたり ライトの位置や向きを変えてみても症状に変化がないので 上記の二つの所為でもなさそうです。 試しに、DXライブラリのサイトにある 31.迷路を3Dで表示 のテクスチャを透過付テクスチャに変えてみたのですが 同様に特定方向のみ透過が上手くいっていませんでした。 壁の面はすべて同一のマテリアル&テクスチャを使用しているので 透過されていない方向の壁に、透過指定がされていないということはありません。 解決法ありましたらよろしくお願いします。

Page: 1 |

Re: 透過テクスチャ ( No.1 )
名前:white 日時:2010/01/01 23:32

描画順序はどのようにされていますか? 画像やソースを拝見しないと分からないですが、3Dダンジョンの サンプルに透過テクスチャを貼っただけだと問題が起こりますよ。 もし少し前に私が詰まっていた問題と同じでしたら Zバッファとアルファブレンディングの問題かもしれません。 この場合は透過テクスチャが貼られたポリゴンのZソートを 手動で行い、交差する場合は分割する必要があるようです。 (3DCGソフトでのUV設定だとソフトが全部やってくれるので 楽なのですけれど…)。 ゲーム開発入門用の書籍だと下記の本等に解説がありました。 「ゲームコーティング vol1」「DirectX必携」鎌田茂雄 「ゲームプログラマになる前に覚えておきたい技術」平田 違う問題の話でしたら、すみません。
Re: 透過テクスチャ ( No.2 )
名前:だみあん 日時:2010/01/02 00:00

>描画順序はどのようにされていますか? >Zバッファとアルファブレンディングの問題かもしれません。 まだ3DPGをやり始めたばかりなので、そこまで気が回りませんでした・・・ ずばりご指摘のとおり、描画順の問題だったようです。 どうして、特定方向だけ透過が有効にならないのか・・・ていうのは マップ描画時、ループで回す時の順番というか、向きの問題だったのですね。 x0、y0から、xのmax、yのmaxの方向に順次ループを回しながら描画すると、 x+方向をみると、その先は目の前の壁が描画された後に描画されてるから透過できなかったのですね。 y+方向をみると、左半分だけちょっぴり描画されてるのも納得がいきましたw (x-1の部分だけが透けて見えてたのか・・・) まだ直してないのですが、簡単な方法として 向きによって描画する順番をかえるというので 解決できそうです。 ありがとうございました。

Page: 1 |