トップページ > 記事閲覧
DirectXによるpmdファイルの読み込み
名前:north 日時: 2014/05/27 10:47

いつもお世話になっております。 DXライブラリの質問ではないのですがよろしいでしょうか? 現在DirectXでpmdファイルを読み込むプログラムを作成しているのですが サンプルプログラムで使用されていたpmdファイルを読み込むことには成功したのですが、 自分が使いたいLat式ミクを表示しようとするとフォルダの中に存在しているテクスチャが 見つからないと表示されアクセス違反が発生してしまいます。 なぜか指定されたデータは存在するのにプログラム側で「指定されたテクスチャファイルが見つかりません。」 と表示されるのか原因がわからず困っております。 読み込みのプログラムはPICの罠というサイトのpmdモデルの表示を参考にしました。 データはソースコードが置いてある場所にモデル用のフォルダを作成しその中にすべて データを入れてあります。 パスの指定の方法は"関数の引数に("フォルダ名/モデル名.pmd")で指定しております。 ちなみにフォルダ内のデータをすべてソースコードが置いてるフォルダ直下に移した場合は表示されております。 自分でカレントディレクトリのチェック関数を作成して出力してみたところ "c:\Users\user\Documents\study\test\test" と出力されソースコードが入っているフォルダ(testフォルダ)がカレントディレクトリだと確認できました。モデル用のフォルダを作成し、そこに置いた時だけなぜテクスチャファイルが認識されないのか原因がわからず悩んでおります。 コードが長くすべて書くと大変なので下記の場所にアップいたしました。 ttp://firestorage.jp/download/1af77f8d4437bb833be18f4ccb63007ec1c13f67 下記の場所でもスレッドを立てて質問させていただいているのですがこちらでも質問させていただきました。 ttp://dixq.net/forum/viewtopic.php?f=3&t=15145 環境 Windows7 VisualStudio2008 DirectXSDK November2007を使用しております
メンテ

Page: 1 |

Re: DirectXによるpmdファイルの読み込み ( No.1 )
名前:north 日時:2014/05/28 12:40

現在なんとか修正し上記の問題はとれたのですが今度は 「D3DX: Lat/: アクセスが拒否されました。」 と言われてしまいました。 修正したものを新たに下記の場所にアップいたしました。 ttp://firestorage.jp/download/057220d06c429772b0687720f80602d3af113315 Latフォルダ及び親フォルダのプロティから確認したのですがすべてフルコントロールできるようになっておりなぜこうなってしまっているのか困っております・・・・・・ 個人的にはPMD独自のスフィアテクスチャファイルが入っているのでそれが原因かもしくは meshData.texture_filename[]のリストにテクスチャ名が入っていない箇所が4か所ほどあったのでそれが原因かなと考えております
メンテ
Re: DirectXによるpmdファイルの読み込み ( No.2 )
名前:管理人 日時:2014/05/28 23:41

二つの掲示板で同じ問題を扱うのは混乱の元ですので、申し訳ありませんがご返信は控えたいと思います
メンテ
Re: DirectXによるpmdファイルの読み込み ( No.3 )
名前:north 日時:2014/05/29 12:55

申し訳ありません。 向こうの掲示板では最初に質問させていただいた問題は解決したので一応解決とさせていただき、こちらの掲示板に絞らせていただきました。 単純なモデルはディレクトリ直下だと読み込めるところまではいけたのですが、上記の問題がどうしても気になってしまいます。PMD独自形式ものが入っているとカレントディレクトリ直下でもモデルの表示がおかしいので・・・・・ お忙しい中申し訳ありませんが、解決策を教えていただけないでしょうか? 上記のご返信をしてくださったのにもかかわらず、また再度同じことを質問してしまい申し訳ありません。
メンテ
Re: DirectXによるpmdファイルの読み込み ( No.4 )
名前:管理人 日時:2014/05/30 00:10

プログラムを実行してみてみましたが、何故 > 「D3DX: Lat/: アクセスが拒否されました。」 というエラーが発生してしまっているかと言いますと、元のスレッドの方で既に書かれていますが   ・該当のマテリアルにテクスチャが割り当てられていないから です 何故テクスチャが割り当てられていないとエラーが発生するのかと言えば   ・テクスチャが貼られていないマテリアルを想定していないプログラムだから ということになります、 解決策は   ・テクスチャが貼られていないマテリアルも想定したプログラムに書き換える となります
メンテ
Re: DirectXによるpmdファイルの読み込み ( No.5 )
名前:north 日時:2014/05/30 02:57

ありがとうございます。 一応表示できるようにはなりました。 しかし、スフィアデータ、トゥーン系のテクスチャには全く考慮していなかったので結果として正しく表示されないバグがあることもわかりました。 DXライブラリのソースコードも参考にして対応できるようにしようとしたのですが自分のコードでどのように対応したらいいのかわからず、ちょっと自分には早すぎると思う部分があるのとDXライブラリでシェーダー3.0が使用できると聞きましたのでDXライブラリを使用させていただきたと思います。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存