mqo ファイルと透明化

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Ma

mqo ファイルと透明化

#1

投稿記事 by Ma » 15年前

DXライブラリ Ver 3.00e
Visual C++ 2008 Express Edition
の環境で、簡単な3Dプログラムを組んでいる者です。

今回、メタセコ(ver2.4.9)で作ったモデルに透明なテクスチャをあてて、描画させようとしたのですが
どうも実際に描画してみるとメタセコでの表示とDXライブラリでの表示を一致させることができません。


モデルは、雪の結晶でただの面を両面化しています。
テクスチャー画像作成には、png,gif,jpg,tga 等をPhotoShopやSAIで用意しました。


『メタセコで、どうテクスチャを設定したか』
まず、材質設定からマッピングも模様の欄のところで以下の方法をこころみました。
 1.単純に模様のところに 透明度つきpngファイルを当てる。
  (メタセコの画面では成功、DXライブラリでは透明になるべきところが真っ黒に。)
 2.模様に、jpgファイルを割り当て、透明に白黒の bmp ファイルをあててみる。
  (メタセコの画面では成功、DXライブラリでは透明になるべきところが真っ黒に。)

画像サイズはすべて 256×256です。

模様を空欄にし、透明のところだけにテクスチャを指定すると、

 Load Texture Error : カラーチャンネル画像ファイル ..\\materials の読み込みに失敗しました
 Read Model Convert Error : テクスチャ snowg.png の読み込みに失敗しました

このようなメッセージが出力に表示されます。

ただしい、透明化の仕方のご教授お願いします。

Ma

追記

#2

投稿記事 by Ma » 15年前

 メタセコのテクスチャーの欄では、DXライブラリでのプログラムから表示する場合
 ゲームの作業フォルダからの相対パスを指定するものだとばかり思っていたのですが、
 ファイル名だけでも参照できるのはなぜでしょうか?(mqoとjpg等が同フォルダにあるから?)

 それどころか、ファイルパスとしてでたらめなフォルダ名をつけても、ファイル名が正しければ
 画像がしっかり開けているのが不思議です。
 たとえば、(フォルダ afjegwogaso は存在してなくても)
afjegwogaso/snowg.png なんて指定してもしっかり開いてくれるんですよね・・・。

Ma

Re:追記

#3

投稿記事 by Ma » 15年前

http://masao.s5.pf-x.net/download2/snow-fall.zip
ソース、画像、mqo 等追加しました。

pp

Re:追記

#4

投稿記事 by pp » 15年前

プログラムは実行してませんが恐らく描画順番の問題かと
地面や天井の後に雪を描画してみたら多分期待する結果になると思いますよ

Justy

Re:追記

#5

投稿記事 by Justy » 15年前


>mqoとjpg等が同フォルダにあるから?

 そのようです。
 基本的には mqoファイルで指定されているテクスチャのパスを信用して
ライブラリはアクセスにいきますが、見つからなかった場合は
(その位置が mqoのあるフォルダと別なら)mqoファイルのあるフォルダも
見に行くようです。

Ma

Re:追記

#6

投稿記事 by Ma » 15年前

> プログラムは実行してませんが恐らく描画順番の問題かと
>地面や天井の後に雪を描画してみたら多分期待する結果になると思いますよ

ビンゴでした!ありがとうございました。
もしかしたら、バグなのかもしれないのでDXライブラリの掲示板のほうに報告してきます。

>基本的には mqoファイルで指定されているテクスチャのパスを信用して
>ライブラリはアクセスにいきますが、見つからなかった場合は
>(その位置が mqoのあるフォルダと別なら)mqoファイルのあるフォルダも >
>見に行くようです。
やはりそうですよね、ありがとうございました。

これにて解決にさせていただきます。

閉鎖

“C言語何でも質問掲示板” へ戻る