ページ 11

3Dモデルの作成についての質問です

Posted: 2011年9月23日(金) 16:33
by DXライブラリ万歳!
自分は3DCGを用いたゲームを作ろうと思っています。

DXライブラリには三角形や球といった3Dの基本図形を描画するための関数があります。
それらを用いて作成したモデルについて以下の2つの作業を実行したいと思います。


1、作成したモデルでモデルハンドルを作成する。

2、作成したモデルをDXライブラリが3Dモデルとして読み込める形式のファイルで出力し保存する。


いろいろと調べてみましたがこれらを実行できる関数が見当たりません、何か良い方法やアドバイス、意見など、ありましたら返信お願いします。

Re: 3Dモデルの作成についての質問です

Posted: 2011年9月23日(金) 16:48
by softya(ソフト屋)
今後、こちらの掲示板を利用いただくのでしたら名前を一考いただけると幸いです。このままの名前で次回以降も貫くというなら、それはそれで構いません。使い捨ての名前はご遠慮いただいております。

で本題ですが、メタセコイア等で作られたモデルを使えば楽だと思いますが、DXライブラリでわざわざモデルデータを作るのはなにか目的があるのでしょうか?

Re: 3Dモデルの作成についての質問です

Posted: 2011年9月23日(金) 17:24
by DXライブラリ万歳!
>>softya(ソフト屋)さん

名前は「重複しにくくかつ過度にふざけていない名前」という事で付けました。
混乱を避けるために今回の質問にはこの名前を使いたいと思います。
自分の考えでは条件を満たしてるつもりでしたが・・・すいません、次回は考えておきます。


DXライブラリでモデルを作成する理由は プログラムによるモデルの自動生成を実行したいと考えているから です。

これが出来れば
ステージのランダム生成が可能になる、
大きくて単調なモデルを作成するときは大幅な労力の削減になる、
当たり判定を自分で作った関数でできるなどの利点があると思います。

Re: 3Dモデルの作成についての質問です

Posted: 2011年9月23日(金) 17:44
by softya(ソフト屋)
次回以降もこのままなら、この名前でも構いませんよ。
トピック毎に変えることは避けてくださいね。

で本題ですがDXライブラリにそういう関数は見当たらないようですが、DirectX自体にはそういう関数は当然ながらあります。
DXライブラリの作者さん自身に質問してみてはどうでしょうか?
「DXライブラリ質問掲示板」
http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?

Re: 3Dモデルの作成についての質問です

Posted: 2011年9月23日(金) 18:23
by DXライブラリ万歳!
>>softya(ソフト屋)さん

わかりました今後もこの名前で行きたいと思います。

情報ありがとうございます。
この掲示板を見る人にも意見を伺いたいので
この質問はもうしばらく解決!していないものとします。

もう一つ質問です
別の掲示板で許可なしで同じ質問をする場合
マルチポストにならないためにはどのくらい間をおけばいいですか?

Re: 3Dモデルの作成についての質問です

Posted: 2011年9月23日(金) 18:29
by softya(ソフト屋)
ここのルールでは、相互リンクで向こうの方にもこちらで質問している事が分かればOKとなってます。
向こうは特にルールがなかったはずですが、相互リンクしていただければ問題ないと思います。
こちらから、あちらの質問へのリンク。
あちらから、こちらの質問へのリンク。
と言う形で書き込みをお願いします。

Re: 3Dモデルの作成についての質問です

Posted: 2011年9月23日(金) 19:05
by DXライブラリ万歳!
>>softya(ソフト屋) さん

わかりました。

この質問をマルチポストにしました。
http://hpcgi2.nifty.com/natupaji/bbs/pa ... 同じ質問をしています

Re: 3Dモデルの作成についての質問です

Posted: 2011年9月24日(土) 10:52
by 史上最悪のデスペナ
http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=2401を見てふと思いました。
プログラムがメタセコイアを操ればいいのじゃないかと。で、メタセコにファイル出力させるのはどうでしょう?

Re: 3Dモデルの作成についての質問です

Posted: 2011年9月25日(日) 22:39
by DXライブラリ万歳!
>>史上最悪のデスペナさん

ご意見ありがとうございます。
いいアイデアだと思います。

ただそれだとメタセコイアのある環境でないとその場でランダム生成はできません。
何よりプログラムでプログラムを制御するというのは自分の技術ではかなり高いハードルになります・・・
Cでそのようなプログラムを書くことは可能ですか?

Re: 3Dモデルの作成についての質問です

Posted: 2011年9月28日(水) 10:49
by 史上最悪のデスペナ
二つほど考えてみました
1.
所詮、三角形の集まりなのでhttp://c9.gamechu.jp/lp?lpout=&method=p ... ible=falseを使って
描画するのはどうでしょう?
ファイルのセーブロードは出来るという前提ですが。
2.
メタセコイアを持っていたらまずは基本図形でただの面を作成します。
バイナリデータ閲覧フリーソフトでバイナリデータを見ます。
バイナリデータでどう表されてるか分かったら以下略
という感じでメタセコを解析してプログラムでその形式に沿ってバイナリデータとして出力すればいいかも?
まあ、2番の方法は本来はよくないことですので、作者に確認を取るか、個人利用のみでばれないようにしてください。責任をとれませんので。

Re: 3Dモデルの作成についての質問です

Posted: 2011年9月28日(水) 18:22
by ISLe
モデルデータのファイルを作るのが目的なのか、プログラム内で動的にモデルを生成して描画するのが目的なのか、どちらなんでしょう。
描画関数を使って描いたものは、もはや単なるピクセルの集まりでしかないので、そこからモデルデータを得ることはできません。

モデルデータのファイルを作るのが目的である場合、
MQO(メタセコイア)やX(Direct3D9)はテキストファイルですし、仕様も公開されているのでプログラムで生成したモデルデータを出力するのは比較的簡単だと思います。
#Xはバイナリ形式もありますけど。
モデラを使ってモデリングするほうがいろいろと便利なので、モデリングの労力を減らすためならモデラのプラグインを作ったら良いような気がします。

プログラム内で動的にモデルを生成して描画するのが目的である場合、
DXライブラリではDrawPolygon3D関数やDrawPolygonIndexed3D関数を使えばできます。