DXライブラリに3Dの物理エンジンを組み込むことは出来ますか?
MMDをDXライブラリで再現したいのです。
プログラミングの知識は浅く、3Dの知識もゼロです。
そもそも物理エンジンがプログラム内でどのような処理をしているのか分からないです。
「物体の様子を渡すとシュミレーションしてどうなるかを返してくれる」
こんな感じなのかなと思っているのですが、こんな簡単なことじゃないんですよね。
プログラムと物理エンジンではどんなふうに関わってくるのですか?
物理エンジンについて
Re: 物理エンジンについて
DXライブラリの3D機能についてはそれほど詳しくはないので恐縮ですが、
3Dモデルのボーンを変形させる機能があるのでしたら不可能ではないと思います。
ただ、3Dの知識ゼロだとかなりキツイかもしれません。
とりあえず3D空間の中で行列がどんなふうに使われてるのかが分からないと
どこに物体を描画したらいいのかがわからないので。
ちょっとまえに Bullet というライブラリを使ってみたのですが、
それでの手順は以下のような感じでした。
▼初期化
・Bullet の初期化
・物理シミュレーションが行われるワールドの生成
・地面の作成
・剛体の作成
▼メインループ
・時間を進める(関数ひとつ呼べば、内部で全部演算してくれるみたいです)
・作成した物体の数だけforを回してワールド行列(座標とか)を取得→描画
個人的な意見ですが、DXライブラリを使うよりも直接DirectXを叩く方が
柔軟に対応できると思います。
MMD再現ってことはシェーダプログラムも書かないといけないだろうし…。
他にもIKだったりクォータニオンだったり補間だったりと
勉強しなければならないことが山ほどあるので相当ハードル高いと思います><
3Dモデルのボーンを変形させる機能があるのでしたら不可能ではないと思います。
ただ、3Dの知識ゼロだとかなりキツイかもしれません。
とりあえず3D空間の中で行列がどんなふうに使われてるのかが分からないと
どこに物体を描画したらいいのかがわからないので。
ちょっとまえに Bullet というライブラリを使ってみたのですが、
それでの手順は以下のような感じでした。
▼初期化
・Bullet の初期化
・物理シミュレーションが行われるワールドの生成
・地面の作成
・剛体の作成
▼メインループ
・時間を進める(関数ひとつ呼べば、内部で全部演算してくれるみたいです)
・作成した物体の数だけforを回してワールド行列(座標とか)を取得→描画
個人的な意見ですが、DXライブラリを使うよりも直接DirectXを叩く方が
柔軟に対応できると思います。
MMD再現ってことはシェーダプログラムも書かないといけないだろうし…。
他にもIKだったりクォータニオンだったり補間だったりと
勉強しなければならないことが山ほどあるので相当ハードル高いと思います><
Re: 物理エンジンについて
とりあえず、 http://ja.wikipedia.org/wiki/%E7%89%A9% ... 8%E3%83%B3 物理演算エンジン - Wikipedia(ja)
DX ライブラリに 3D の物理エンジンを組み込みたいとか、MMD を DX ライブラリで再現したいとか、
ほざくのは勝手だけども、まず、初歩的な物理演算、
たとえば、 2D のスーパーマリオブラザーズのマリオの放物線をえがくジャンプを、
プログラムで表現できますか ?
書き込みの様子だと、それすらも満足にできないように思われるのですが。
物理演算エンジンのプログラム・ライブラリを使うにしろ、自分で物理演算するにせよ、
まず、プログラミングの基本的なことができてないと、無理です。
あえて、きつい言い方をさせていただきました。
DX ライブラリに 3D の物理エンジンを組み込みたいとか、MMD を DX ライブラリで再現したいとか、
ほざくのは勝手だけども、まず、初歩的な物理演算、
たとえば、 2D のスーパーマリオブラザーズのマリオの放物線をえがくジャンプを、
プログラムで表現できますか ?
書き込みの様子だと、それすらも満足にできないように思われるのですが。
物理演算エンジンのプログラム・ライブラリを使うにしろ、自分で物理演算するにせよ、
まず、プログラミングの基本的なことができてないと、無理です。
あえて、きつい言い方をさせていただきました。
Re: 物理エンジンについて
梨樹様、あたっしゅ様
お答えしていただきありがとうございます。
指摘していただいたとおり、私の技術では無理ですね。
諦めたいと思います。
せっかく時間を割いてお答えいただいたのにすいません。
蛇足といいますか、なんと言いますか作ることは出来るのかだけ教えていただけないでしょうか。
梨樹様の仰っている3Dモデルのボーンを変形させる機能はDXライブラリにあるのですか?
DXライブラリのリファレンスページを見たのですが、私の知識ではないように見えます。
仕様上不可能なのでしょうか?
欲を言うなら、Bulletの使いかたなどが日本語で書かれているサイトなどがありましたら教えてください。
とりあえず、勉強してみようかなと思いまして。
我儘ばかりで申し訳ありません。
お答えしていただきありがとうございます。
指摘していただいたとおり、私の技術では無理ですね。
諦めたいと思います。
せっかく時間を割いてお答えいただいたのにすいません。
蛇足といいますか、なんと言いますか作ることは出来るのかだけ教えていただけないでしょうか。
梨樹様の仰っている3Dモデルのボーンを変形させる機能はDXライブラリにあるのですか?
DXライブラリのリファレンスページを見たのですが、私の知識ではないように見えます。
仕様上不可能なのでしょうか?
欲を言うなら、Bulletの使いかたなどが日本語で書かれているサイトなどがありましたら教えてください。
とりあえず、勉強してみようかなと思いまして。
我儘ばかりで申し訳ありません。
Re: 物理エンジンについて
>欲を言うなら、Bulletの使いかたなどが日本語で書かれているサイトなどがありましたら教えてください。
「bullet 使い方」で検索したら、すぐ出てきたぞ。
http://www.shader.jp/xoops/html/modules ... ategory=16"
Bullet の使い方 - Shader.jp(ja)
「bullet 使い方」で検索したら、すぐ出てきたぞ。
http://www.shader.jp/xoops/html/modules ... ategory=16"
Bullet の使い方 - Shader.jp(ja)
VTuber:
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。
中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。
中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。
Re: 物理エンジンについて
あたしゅ様、回答ありがとうございます。
そのサイト様は見つけていたのですが、第1回しか見ておりませんでした。
2回、3回を見逃しておりました。
ありがとうございます。
使用できる関数などをまとめたサイト様が他にもあったら教えてください。
DXライブラリに物理エンジンを組み込むことはできるのかという質問も、よろしければお願いします。
そのサイト様は見つけていたのですが、第1回しか見ておりませんでした。
2回、3回を見逃しておりました。
ありがとうございます。
使用できる関数などをまとめたサイト様が他にもあったら教えてください。
DXライブラリに物理エンジンを組み込むことはできるのかという質問も、よろしければお願いします。
Re: 物理エンジンについて
日本語のマニュアルは少ないと思いますよくりあ さんが書きました:使用できる関数などをまとめたサイト様が他にもあったら教えてください。
こことか↓
http://bulletjpn.web.fc2.com/
書籍もあるようです。
http://www.amazon.co.jp/exec/obidos/ASIN/4777515400/
「DXライブラリに物理エンジンを組み込むことはできるのか」があなたに分からないのであれば無理だと思います。くりあ さんが書きました:DXライブラリに物理エンジンを組み込むことはできるのかという質問も、よろしければお願いします。