・DxLibでのmqoデータの描画ができない

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

・DxLibでのmqoデータの描画ができない

#1

投稿記事 by y_LP » 13年前

・DxLibでのmqoデータの描画ができない
ゲーム内でmqoデータを描画したいのですが、表示されません.
ただ、他のmqoデータは表示できるのですが..

開発環境はVisual C++2008+DxLibです.
プロジェクトのあるフォルダの中にdataというフォルダをつくり、そのなかに色々なデータをいれています.
boss.mqoは表示できるのですが、back.mqoが表示できないのです.

boss.mqo(立方体にテクスチャ貼ってるだけですが..)

コード:

Metasequoia Document
Format Text Ver 1.0

Scene {
	pos 0.0000 0.0000 1500.0000
	lookat 0.0000 0.0000 0.0000
	head -8.5836
	pich -0.2808
	ortho 0
	zoom2 5.0000
	amb 0.250 0.250 0.250
}
Material 4 {
	"mat1" col(1.000 1.000 1.000 1.000) dif(0.800) amb(0.600) emi(0.000) spc(0.000) power(5.00)
	"mat2" col(1.000 1.000 0.000 1.000) dif(0.800) amb(0.600) emi(0.000) spc(0.000) power(5.00) tex("1.png")
	"mat3" col(0.000 0.749 0.169 1.000) dif(0.800) amb(0.600) emi(0.000) spc(0.000) power(5.00) tex("2.png")
	"mat4" col(1.000 0.000 0.000 1.000) dif(0.800) amb(0.600) emi(0.000) spc(0.000) power(5.00) tex("3.png")
}
Object "obj1" {
	visible 15
	locking 0
	shading 1
	facet 59.5
	color 0.898 0.498 0.698
	color_type 0
	vertex 0 {
	}
	face 0 {
	}
}
Object "obj2" {
	visible 15
	locking 0
	shading 1
	facet 59.5
	color 0.898 0.498 0.698
	color_type 0
	vertex 8 {
		-40.0000 40.0000 40.0000
		-40.0000 -40.0000 40.0000
		40.0000 40.0000 40.0000
		40.0000 -40.0000 40.0000
		40.0000 40.0000 -40.0000
		40.0000 -40.0000 -40.0000
		-40.0000 40.0000 -40.0000
		-40.0000 -40.0000 -40.0000
	}
	face 6 {
		4 V(0 2 3 1) M(1) UV(0.00000 0.00000 1.00000 0.00000 1.00000 1.00000 0.00000 1.00000)
		4 V(2 4 5 3) M(2) UV(0.00000 0.00000 1.00000 0.00000 1.00000 1.00000 0.00000 1.00000)
		4 V(4 6 7 5) M(1) UV(0.00000 0.00000 1.00000 0.00000 1.00000 1.00000 0.00000 1.00000)
		4 V(6 0 1 7) M(2) UV(0.00000 0.00000 1.00000 0.00000 1.00000 1.00000 0.00000 1.00000)
		4 V(6 4 2 0) M(3) UV(0.00000 0.00000 1.00000 0.00000 1.00000 1.00000 0.00000 1.00000)
		4 V(1 3 5 7) M(3) UV(0.00000 0.00000 1.00000 0.00000 1.00000 1.00000 0.00000 1.00000)
	}
}
Eof
モデルデータはdata/bossに入っており、テクスチャデータもdata/bossに入れてあります

そして,表示できないback.mqoはdata/backにいれていて、テクスチャデータもdata/backに入っています.
back.mqo

コード:

Metasequoia Document
Format Text Ver 1.0

Scene {
	pos 0.0000 0.0000 1500.0000
	lookat 0.0000 0.0000 0.0000
	head -6.3636
	pich 0.1336
	ortho 0
	zoom2 0.4768
	amb 0.250 0.250 0.250
}
Material 3 {
	"mat1" col(1.000 1.000 1.000 1.000) dif(0.800) amb(0.600) emi(0.000) spc(0.000) power(5.00) tex("texture_ground.jpg")
	"mat2" col(1.000 1.000 1.000 1.000) dif(0.800) amb(0.600) emi(0.360) spc(0.000) power(5.00) tex("texture_wall.jpg")
	"mat3" col(1.000 1.000 1.000 1.000) dif(0.800) amb(0.600) emi(0.390) spc(0.000) power(5.00) tex("texture_sailing.jpg")
}
Object "obj1" {
	visible 15
	locking 0
	shading 1
	facet 59.5
	color 0.898 0.498 0.698
	color_type 0
	vertex 16 {
		-450.0000 0.0000 -750.0000
		450.0000 0.0000 -750.0000
		-450.0000 0.0000 750.0000
		450.0000 0.0000 750.0000
		-450.0000 0.0000 -750.0000
		-450.0000 0.0000 750.0000
		-450.0000 900.0000 -750.0000
		-450.0000 900.0000 750.0000
		450.0000 0.0000 -750.0000
		450.0000 0.0000 750.0000
		450.0000 900.0000 -750.0000
		450.0000 900.0000 750.0000
		-450.0000 900.0000 -750.0000
		450.0000 900.0000 -750.0000
		-450.0000 900.0000 750.0000
		450.0000 900.0000 750.0000
	}
	face 11 {
		4 V(0 1 3 2) M(0) UV(0.00000 0.00000 1.00000 0.00000 1.00000 1.00000 0.00000 1.00000)
		4 V(0 1 3 2) M(0) UV(0.00000 0.00000 1.00000 0.00000 1.00000 1.00000 0.00000 1.00000)
		4 V(4 5 7 6) M(1) UV(0.00000 0.00000 1.00000 0.00000 1.00000 1.00000 0.00000 1.00000)
		4 V(7 6 0 2) M(1) UV(1.00000 1.00000 0.00000 1.00000 0.00000 0.00000 0.00000 1.00000)
		4 V(8 9 11 10) UV(0.00000 0.00000 1.00000 0.00000 1.00000 1.00000 0.00000 1.00000)
		4 V(11 3 1 10) M(1) UV(0.00000 0.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000)
		4 V(1 10 11 3) M(1) UV(1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000)
		4 V(11 3 1 10) M(1) UV(0.00000 0.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000)
		4 V(11 1 10 3) M(1) UV(1.00000 1.00000 1.00000 0.00000 0.00000 1.00000 1.00000 1.00000)
		4 V(12 13 15 14) UV(0.00000 0.00000 1.00000 0.00000 1.00000 1.00000 0.00000 1.00000)
		4 V(11 10 6 7) M(2) UV(1.00000 1.00000 0.00000 1.00000 0.00000 1.00000 1.00000 1.00000)
	}
}
Eof
なぜ描画されないのでしょうか?
読み込み、描画はboss.mqoもback.mqoも同じようにMV1LoadModel、MV1SetPositionを使っています.
アドバイスよろしくおねがいします.

あと、これは一応今回の質問とは別なのですが、
・検索してみたところ、テクスチャデータが白くなってしまう場合は、テクスチャのデータをプロジェクトからみた相対パスにしなければならない、と書いていたのでboss.mqoのテクスチャのパスをdata\\boss\\1.pngなどにすると、出力のところに
カラーチャンネル画像ファイル c:\3dgame\data\boss\data\boss\1.png の読み込みに失敗しました
となり、なぜかdata\\bossがダブってしまいます
これはなぜなのでしょうか??

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: ・DxLibでのmqoデータの描画ができない

#2

投稿記事 by softya(ソフト屋) » 13年前

まず、DXLIBに付属しているツールDxLibModelViewer.exeでモデルを表示してみてください。
もし表示されていなければ何らかの問題があることになります。

それと表示する時にカメラの座標やZのnear/farクリップは適切に調整されていますか?
あと、これは一応今回の質問とは別なのですが、
・検索してみたところ、テクスチャデータが白くなってしまう場合は、テクスチャのデータをプロジェクトからみた相対パスにしなければならない、と書いていたのでboss.mqoのテクスチャのパスをdata\\boss\\1.pngなどにすると、出力のところに
カラーチャンネル画像ファイル c:\3dgame\data\boss\data\boss\1.png の読み込みに失敗しました
となり、なぜかdata\\bossがダブってしまいます
これはなぜなのでしょうか??
その情報に嘘があると思います。
mqoから相対なのでは?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

y_LP

Re: ・DxLibでのmqoデータの描画ができない

#3

投稿記事 by y_LP » 13年前

なるほど、Viewerで確かめてみるときちんとテクスチャが晴れていませんでした。。。

初歩的なミスでした・・orz

なにはともあれ、ありがとうございました!

閉鎖

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