Dxlibで3Dモデルを読み込むと例外が発生してソフトが強制終了する

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
プラム
記事: 164
登録日時: 6年前
住所: 東海地方

Dxlibで3Dモデルを読み込むと例外が発生してソフトが強制終了する

#1

投稿記事 by プラム » 4年前

どうも。DxLibを用いて東方風の弾幕STGを制作しているノウルです。

3D背景を実装しようかと思い、3Dモデルを読み込んで表示させようとしてみました、なんですが。
なぜかソフトが突然強制終了し、デバッグで調べてみたところ。
VC++2010さんによると「例外が発生したためプログラムを強制終了しました」とのことでした。
しかし、例外が発生した部分のソースコードが見つからず、DxLib側の問題だと思うんですが。
ロード関数の中身に一つ一つブレークポイントを設置し、どこで例外が発生しているのかを調べてみました。そうしたら、3つほど3Dモデルをロードしているのですが、例外を起こすモデルは一つだけでした。
ちなみに3Dモデルは自作です。モデリングの仕方に問題があったんでしょうか。

コード↓

コード:


int loadnum; //ロードしているデータの番号
int loadwait; //1フレームですべてのデータを読み込むと重くなるのでwaitをかける為の一時記憶カウンタ


	loadwait++;

		if(loadnum==0&&loadwait==15){  //15フレーム目になったら1つ目の画像を読み込む
			haikei[1]=LoadGraph( "dat/img/背景yea/0_1.png" ) ;
			loadwait=0;
			loadnum++;
		}

		if(loadnum==1&&loadwait==15){//15フレーム目になったら2つ目の画像を読み込む
			haikei[0]=LoadGraph( "dat/img/背景yea/0_0.png" ) ;
			loadwait=0;
			loadnum++;
		}

		if(loadnum==2&&loadwait==15){//15フレーム目になったら3つ目の3Dモデルを読み込む
			haikei[2]=MV1LoadModel( "dat/3d/haikei.mqo" ) ;
			loadwait=0;
			loadnum++;
		
		}
	
		if(loadnum==3&&loadwait==15){//15フレーム目になったら4つ目の画像を読み込む
			haikei[3]=LoadGraph( "dat/img/背景yea/0_2.png" ) ;
			loadwait=0;
			loadnum++;
		
		}
		
		if(loadnum==4&&loadwait==15){//15フレーム目になったら5つ目の3Dモデルを読み込む

			haikei[4]=MV1LoadModel( "dat/3d/haikei_2.mqo" ) ;  //ここで例外発生
			loadwait=0;
			loadnum++;
		
		}

		if(loadnum==5&&loadwait==15){//15フレーム目になったらロードを終了
			loadwait=0;
			loadnum=0;
			counthh++;
		}

追伸:一部尾のコードに間違いがあったので修正しました。すみません。

読み込みができない3Dモデルデータ↓
haikei_2.zip
読み込みができない3Dモデル
(34.95 KiB) ダウンロード数: 27 回
どなたかアドバイスを頂けると嬉しいです。
最後に編集したユーザー プラム on 2016年4月07日(木) 12:12 [ 編集 1 回目 ]

アバター
みけCAT
記事: 6294
登録日時: 9年前
住所: 千葉県
連絡を取る:

Re: Dxlibで3Dモデルを読み込むと例外が発生してソフトが強制終了する

#2

投稿記事 by みけCAT » 4年前

ノウル さんが書きました:

コード:

		if(loadnum==4&&loadwait==15){//15フレーム目になったら5つ目の3Dモデルを読み込む
このコードはコンパイルが通らないでしょう。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

Rittai_3D
記事: 525
登録日時: 7年前

Re: Dxlibで3Dモデルを読み込むと例外が発生してソフトが強制終了する

#3

投稿記事 by Rittai_3D » 4年前

モデルをDxLibModelViewerで読み込んでみたところ、(32bit/64bit)ともに「動作を停止しました」ダイアログが出ました。
おそらくモデル側の問題かと思われます。

また、記載してあるコードも変数が未初期化のままインクリメントされていたり、ソースにも問題があると思います。
初心者です

アバター
プラム
記事: 164
登録日時: 6年前
住所: 東海地方

Re: Dxlibで3Dモデルを読み込むと例外が発生してソフトが強制終了する

#4

投稿記事 by プラム » 4年前

みけCAT さんが書きました:
ノウル さんが書きました:

コード:

		if(loadnum==4&&loadwait==15){//15フレーム目になったら5つ目の3Dモデルを読み込む
このコードはコンパイルが通らないでしょう。
Rittai_3D さんが書きました:
また、記載してあるコードも変数が未初期化のままインクリメントされていたり、ソースにも問題があると思います。
ソースコードはそのままコピペではかなりわかりにくいため、そのままの形で、少し改良して貼り付けていたので間違いが生じてしまいました、すみません。。
Rittai_3D さんが書きました:モデルをDxLibModelViewerで読み込んでみたところ、(32bit/64bit)ともに「動作を停止しました」ダイアログが出ました。
おそらくモデル側の問題かと思われます。
モデリングソフト(メタセコイヤ4)では正常に読み込めるのですが、どうしてアプリケーション側だと読み込めないのでしょうか・・・(ほかのモデルも同じバージョンの同じモデリングソフトでモデリングしましたが、問題なく読み込めます)

ru-pu

Re: Dxlibで3Dモデルを読み込むと例外が発生してソフトが強制終了する

#5

投稿記事 by ru-pu » 4年前

DxLibModelViewerの問題である可能性が高いので本家に問い合わせてみては如何でしょうか?

閉鎖

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