スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Xファイルなんて要らないじゃない

今までは、Xファイルを読み込むために色々と試行錯誤してきたのですが、
別にXファイルじゃなくても良いじゃないかと思い始めました。

何がしたいかというと、
DirectX上のプログラムで3Dモデルを表示させれば良い訳です。
だから、別にXファイル形式じゃなくても、3Dモデルの情報が読み取れればOK。

よって、
Xファイル形式から独自形式へ移行しようと思います。

--------------------------------------------------------------
【1】独自形式の定義を決める
【2】独自形式の読み込み方法を決める
【3】Xファイル形式から、独自形式へ変換するツールを作る
【4】実際にプログラムで利用する

--------------------------------------------------------------
↑大まかな流れ。

まぁ、Xファイルにはもともと自分の使いやすいように拡張出来るらしいのですが、
そんなものは知らん。
(無茶苦茶である)

だって、Xファイル形式のヘルプ見ても意味不明だっ

まぁ、こういうものを作ると良い経験・練習にもなるので、コレでいいでしょう。
セガの人もそう仰ってた。
「ゲームプログラマになる前に覚えておきたい技術」定価:4500円)


そもそもXファイルの形式だと、 駄目な部分があるんですよ。

以前、Xファイルには
------------------
・法線
・頂点色
・マテリアル

------------------
・・・といった情報の前には特定のキーワードがありますと言ったのですが、
実はひとつキーワードが無い情報があるんです。

------------------------------------------
Mesh {
20;
-5.00000;5.00000;-5.00000;,
5.00000;5.00000;-5.00000;,
//中略

6;
4;0,1,2,3;,
4;4,5,6,7;,
//中略

MeshMaterialList {
//略
Material {
//略
}
}
MeshNormals {
//略
}
MeshTextureCoords {
//略
}
MeshVertexColors {
//略
}
}
------------------------------------------

見ればわかりますね。 頂点情報です。
他の情報は
「MeshVertexColors」とか「MeshTextureCoords」とかキーワードで囲ってあるのに、
頂点情報だけ、いきなり数字から始まってます。(なんで?)

どうして下記の様にしてくれなかったのかと。
---------------------------------------------------------------
Vertex { 
20;
-5.00000;5.00000;-5.00000;,
5.00000;5.00000;-5.00000;,
//中略

6;
4;0,1,2,3;,
4;4,5,6,7;,
//中略
}
---------------------------------------------------------------

おかげで、条件分岐のコードがちょっと複雑になりましたよ。

まぁ、
と言うわけで、独自形式の移行を考えております。(`・ω・´)
スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

コメント

独自形式

 独自形式でやるなら、拡張性に注意した方がいいかもしれません。
 1つデータを追加しただけで前に作ったデータが読めなくなるのはさすがに使いづらいでしょうし。

 あと、バイナリー形式と同時にテキスト形式もサポート(読み込みはともかく書き込みは)しておくと、何か問題があったとき原因究明の手助けになります。

No title

アドバイスありがとうございますv-290

確かに、新たな情報を付け加えたり、修正しただけで全く使えなくなるような
ものでは、全く使い物にならないですねv-293
気をつけたいと思います。

あと、
確か 読み書きに関しては、OSによってファイルのデータが変わってしまう場合があるんですよね。
(改行コード)

もし、プログラムを配布したり公開するような時に
何らかの問題が起こらないとも限らないので、
この点についても十分 留意するようにしておきますv-293

No title

 そうですね、改行コードも注意が必要ですがどうなっていても(仮に改行が1つもなくても)読めるようにしておけば問題はないでしょう。
 バイナリー形式なら関係はないですが。

 ついでにあんまり今は必要ないのかもしれませんが、再編集性もあると尚いいのかもしれません。
 いや、以前一度独自のバイナリー形式にしたあと、データを再加工(頂点を縮退したり、ストリップを纏めたりとか)して再度バイナリーで書き出す処理を作るときに難儀したことがあったもので……。

No title

なるほど!
まだ実装した事は無いのですが、
後々問題が発生する可能性は無くしておきたいですね。

なるべく万能なものが目標ですが、
初めからあらゆる事を想定して、完璧なものを作り上げられるのは極めて難しいと思うので、
試行錯誤を重ねながら開発して行こうと思いますv-290
(開発中に、想定していなかった問題に初めて気付く事もあるでしょうし)
コメントの投稿
管理者にだけ表示を許可する



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。