3Dモデルの編集について(DXライブラリ)

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

3Dモデルの編集について(DXライブラリ)

#1

投稿記事 by yaniki » 13年前

はじめまして。
現在DXライブラリを用いて3Dモデルの形状を編集するソフトの
作成を行っています。

球体とモデルの衝突判定(MV1 CollCheck_Sphere)を使ってモデルの一部分を
3次元で範囲指定することはできたのですが、指定した部分を削除したり
指定した以外の場所を削除するにはどのようにしたらよいのでしょうか。

また編集後のモデルのデータを保存する関数や方法はありますか。

説明不足かもしれませんが、よろしければご教授お願い致します。

AKIЯA
記事: 58
登録日時: 13年前

Re: 3Dモデルの編集について(DXライブラリ)

#2

投稿記事 by AKIЯA » 13年前

2ヶ月前にメタセコイアで3Dモデリングをしていて
自動でモデリングできるように元画像(bmpファイル)の1×1ピクセルずつからデータを読み取り平面上に四角ポリゴンを貼って行き
mqoファイルを吐き出すプログラムを作ったのですが、結局ボツにしましたけど^^;
どのファイル形式で保存させるかによってデータの持ち方が変わってくると思います。
mqoファイルとかxファイルとかpmdファイルとか独自規格の形式など、どの形式をお考えでしょうか?

pmdファイルからmqoへ変換してmqoファイルの中身を解析したことがあるのですが
mqoファイルはテキストエディターで開いて直接編集することもできますので
どんなデータを保持しているかの参考にはなると思います。

※mqoはググったらそれっぽい資料がありましたのでそこからモデリングデータだけなら解析できました。
※ボーンやアンカーまで組んでしまうとより複雑になるので、そこまでは解析しませんでした。

おそらく必要な情報は頂点の情報と、どの頂点がどの頂点と繋がっているかという情報が必要になると思います。
そこの仕様が決まれば、ポリゴンの削除も可能になるのではと思います。

yaniki

Re: 3Dモデルの編集について(DXライブラリ)

#3

投稿記事 by yaniki » 13年前

ご返信ありがとうございます。
説明不足となってしまい申し訳ありません。

現在 xファイルでの読み込み・保存を考えています。

その理由ですが、大学の研究の一部として編集ソフトの作成に
取り組んでいるので、メタセコイアなどのソフトの利用を
控えています。
また形状モデルを作成する際、STLファイルで吐き出したので(その後
xファイルへ自作で変換)xファイルでの処理を考えていました。

xファイルでの処理は難しいのでしょうか。

MV1CollCheck_Sphere の説明文に「 当たったポリゴンに関する情報を扱いたい場合は
Dim の先にある配列にアクセスするという使い方になります」とあったのですが
MV1DeleteModel で部分的に削除することができずに行き詰ってしまいました。

AKIЯA
記事: 58
登録日時: 13年前

Re: 3Dモデルの編集について(DXライブラリ)

#4

投稿記事 by AKIЯA » 13年前

ググってみましたがここを見ればXファイルのデータ構造がわかると思います。
かなり親切に書いてあります。
http://rudora7.blog81.fc2.com/blog-entry-238.html

新規作成の場合もポリゴン作成したときに同時にmesh部分をメモリ内で保持しなければなりませんし
削除に関してもXファイル形式のmesh部分のデータ構造をメモリ内で保持して
面もしくは辺もしくは点に対応したものが削除された場合、メモリ内で保持しているデータを変更して
残ったmeshデータを描画する感じになるのかと思います。

つまりはXファイルのmesh内を保持しなければなりません。

保存する際はそのmeshデータをそのままファイルへ書き込めばよいかと思います。
三角ポリゴンとか四角ポリゴンとかあると思いますがまずは1つ選んでやってみてはどうでしょうか。

説明がヘタクソですいません^^;
最後に編集したユーザー AKIЯA on 2012年11月05日(月) 21:22 [ 編集 2 回目 ]

アバター
h2so5
副管理人
記事: 2212
登録日時: 14年前
住所: 東京
連絡を取る:

Re: 3Dモデルの編集について(DXライブラリ)

#5

投稿記事 by h2so5 » 13年前

DXライブラリはゲーム用なので、モデルの細かい編集はできません。

AKIЯA
記事: 58
登録日時: 13年前

Re: 3Dモデルの編集について(DXライブラリ)

#6

投稿記事 by AKIЯA » 13年前

まだエアホッケー作ってる最中なのですが、頑張ってサンプル作ってみます。
行けそうな気がする~勢いだけでw

yaniki

Re: 3Dモデルの編集について(DXライブラリ)

#7

投稿記事 by yaniki » 13年前

AKIRAさん、h2so5さん、ご返信ありがとうございます。

やはりDXライブラリの関数を使うだけではxファイルの編集は
できないようですね。

AKIRAさん、丁寧にご説明ありがとうございます。
ファイルの構造から理解しなくてはいけないのですね。
自分の勉強・知識が足りない部分が多々あるので
少しずつでも補いつつ取り組んでみます。

AKIЯA
記事: 58
登録日時: 13年前

Re: 3Dモデルの編集について(DXライブラリ)

#8

投稿記事 by AKIЯA » 13年前

Mesh内の頂点数と頂点座標と三角ポリゴン数まではこれで取得できます。
残りは辺取得です。
やってて悲鳴上げそうになってきた。時間かかりますね。
結論 フリーのモデリングソフト使いましょうw
► スポイラーを表示

yaniki

Re: 3Dモデルの編集について(DXライブラリ)

#9

投稿記事 by yaniki » 13年前

返信ありがとうございます。

サンプルも参考にさせていただきつつ、
可能か否か(結論いただいてますが)判断し
研究に取り組んでいきます。

結論も出ていますので解決にさせていただきます。

回答してくださった方、またご覧になっていただいた方、
ありがとうございました。

閉鎖

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