[過去ログ]
物理演算エンジンってどうやって作るの? (99レス)
物理演算エンジンってどうやって作るの? http://mevius.5ch.net/test/read.cgi/gamedev/1180001451/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
1: 名前は開発中のものです。 [sage] 2007/05/24(木) 19:10:51 ID:NTMqyc86 ハーフライフとか、オブリビオンのあれです。 詳しい人教えて http://mevius.5ch.net/test/read.cgi/gamedev/1180001451/1
80: 名前は開発中のものです。 [sage] 2011/07/27(水) 21:27:20 ID:jpUYGiJj わかったC#で作ってみる http://mevius.5ch.net/test/read.cgi/gamedev/1180001451/80
81: 名前は開発中のものです。 [sage] 2011/07/29(金) 22:36:28 ID:YKUBReqf lemke法、本当に収束するのかとか、どのくらいで収束するのかとか理解してないけど。少し理解した 剛体が増えると不利だな。元々の疎行列が活かしづらい マルチグリッドLCPが出来れば超速くなるはず http://mevius.5ch.net/test/read.cgi/gamedev/1180001451/81
82: 名前は開発中のものです。 [] 2012/01/08(日) 13:49:46 ID:i1iv+V/j BulletXのソース読んでみたけど、あれって拘束ベースなのかな?力積ベースなのかな? constraint(拘束)Solverっていうディレクトリが在ったから読んでたら、Impulse(力積)を加えてたんで判んなくなった。 拘束ベースの判り易いソースって知ってたら教えて欲しいな。VC++よりはC#の方が読み易いからうれしい。 http://mevius.5ch.net/test/read.cgi/gamedev/1180001451/82
83: 名前は開発中のものです。 [] 2012/02/25(土) 23:00:55 ID:HsM02eP/ 拘束条件を解く方式のエンジンでも、拘束されてる(物体どうしが一定時間以上 連続して接触している)ときも常に力積を加え続ける方式のものもあるよ。 つまり、力積が吊り合ってたら物体が静止状態になるってことね。 ちなみに、ソース読むよりも代数学の行列とか勉強した方が早いかも。 連立方程式を反復法で適当に解いてくエンジンとか、 すごい高度な数学のテクニックで解いてくエンジンとかいろいろある。 まずそっちの知識が無いと、ソースだけ読んでもわけわからん。 http://mevius.5ch.net/test/read.cgi/gamedev/1180001451/83
84: 名前は開発中のものです。 [] 2012/02/25(土) 23:04:14 ID:lzeArZyh >>82 俺が教えてやるよ。もちろん数学はできるんだよな? ・ペナルティ法 ・撃力 ・拘束 http://mevius.5ch.net/test/read.cgi/gamedev/1180001451/84
85: 名前は開発中のものです。 [] 2012/02/25(土) 23:05:24 ID:lzeArZyh 撃力について 衝突したら撃力を加えるっていうのを何度もやる。 静止状態も実は撃力を何度も加えて結果的に静止してる これは静止状態が重いんだわ http://mevius.5ch.net/test/read.cgi/gamedev/1180001451/85
86: 名前は開発中のものです。 [] 2012/02/25(土) 23:08:49 ID:lzeArZyh だから、それに加えて力積 or 力に関してのLCP(線形相補性問題)を解く これはどういう式かっていうと 普通静止させたい場合は、衝突部分の相対速度の法線成分が0になるっていう式を連立させて解けばいいよな? でも、離れようとしてるのに力を加えたり、マイナスの力を加えるのはおかしいよな? だから 力 >= 0、相対速度 >= 0、力 = 0 or 相対速度 = 0 っていう式を立てるのよ どっちかがゼロでなければもう片方はゼロっていう これを高速に解くのがキモなの http://mevius.5ch.net/test/read.cgi/gamedev/1180001451/86
87: 名前は開発中のものです。 [] 2012/02/25(土) 23:13:50 ID:lzeArZyh おおまかな流れとして ・撃力を加える(静止状態とかだとかなりの回数になるから、どこかで打ち止め(近似)) ・重力とかの外力を加える ・LCPを解く 速度と加速度を別に保持しておくか、速度だけにするか つまりLCPで解く対象を速度にするか、加速度にするか 撃力を打ちどめることが多いので、近似になるけど速度をLCPで押さえこんだほうがいい。撃力を打ち止めてほっておくとめり込む LCPで解く対象は速度だから、外力を加えるときは、dtをかけて力積として加えてしまう http://mevius.5ch.net/test/read.cgi/gamedev/1180001451/87
88: 名前は開発中のものです。 [] 2012/02/25(土) 23:15:24 ID:lzeArZyh ペナルティ法 めり込みに応じて反発力を。めり込んだ体積に比例させたり、距離に比例させたり ステップ数が十分短ければどれも正しいんだけど、ステップ数が広いときにどれがいいのか って分からない ステップ数を広くできないから、他の方法と比べて衝突判定のコストが上がってしまう http://mevius.5ch.net/test/read.cgi/gamedev/1180001451/88
89: 名前は開発中のものです。 [sage] 2012/02/26(日) 22:13:56 ID:uCaFSiki >>82-88 レスありがとうございます。>>82です。 物理エンジン関係の資料はいくつか読んで、物理・数学関係は断片的な知識としてはあります。 それをプログラムに実装するにはどうしたらいいか判らなくてソース読んでました。 >>82を書き込んだ後、拘束ベースに関しては以下の本読んで勉強してました。 http://www.amazon.co.jp/Physics-Based-Animation-Graphics-Jon-Sporring/dp/1584503807 この辺りまでは、判りました。 >>普通静止させたい場合は、衝突部分の相対速度の法線成分が0になるっていう式を連立させて解けばいいよな? LCPの解き方がキモなのですね。次は、LCPの辺り重点的に読んでみます。 http://mevius.5ch.net/test/read.cgi/gamedev/1180001451/89
90: 名前は開発中のものです。 [] 2012/02/27(月) 08:02:04 ID:+ONGrtda ソルバも重要だけど、もちろん衝突検出の幾何学の部分も重要だよ。 そこがてきとーすぎると、やっぱり細かいとこで変な挙動になったり 誤差がふりつもってガクガクしたりするからね。 http://mevius.5ch.net/test/read.cgi/gamedev/1180001451/90
91: 名前は開発中のものです。 [sage] 2012/02/27(月) 09:37:13 ID:nYOAmwnM 衝突検出に関しては、以下の本を1/3程度読みました。 「ゲームプログラミングのためのリアルタイム衝突判定」 時間さえ掛ければ自分のプログラムに応用できそうですし、挙動を見ながらの方が理解が早いと思っています。 初心者の自分には今時点では、目途の立っていない運動方程式の方に意識が行っています。 http://mevius.5ch.net/test/read.cgi/gamedev/1180001451/91
92: 名前は開発中のものです。 [] 2012/02/27(月) 11:18:23 ID:svWsgWM6 衝突判定なんてLCPに比べればカスみたいなもの 適当やってればいい Rapidだか、Opcodeとか参考にすれば? 普通にAABBTreeかOBBTreeでやるのが楽だな 運動方程式理解できないとか勉強足りないぞ。 オイラーのなんたらってやつやろ? あとあの方程式は非線形だけどエネルギーを保存するやり方で差分化できる ちょっと考えるとな http://mevius.5ch.net/test/read.cgi/gamedev/1180001451/92
93: 名前は開発中のものです。 [] 2012/02/27(月) 11:20:53 ID:svWsgWM6 衝突判定で唯一やっかいな問題は これ http://iup.2ch-library.com/i/i0575663-1330309239.png http://mevius.5ch.net/test/read.cgi/gamedev/1180001451/93
94: 名前は開発中のものです。 [sage] 2012/02/27(月) 12:11:08 ID:nYOAmwnM 自分の作るプログラム上で予想どおりに動かなかった場合には、衝突判定も深く勉強しようと思います。 形状も最初は球や直方体やシリンダーといった単純な形状で考えて、シミュレーション出来たら種類を増やしていこうと思います。 自分のレベルではまだ複雑な事までチャレンジできるかんじでは無いので。 opecodeですか、ソースありそうですしダウンロードして見てみます。ありがとうございます。 http://mevius.5ch.net/test/read.cgi/gamedev/1180001451/94
95: 名前は開発中のものです。 [] 2012/02/27(月) 12:17:40 ID:svWsgWM6 >>94 おいおい、最初はまず任意の多面体でやれよ シリンダー専用衝突判定なんていうは高速化のためな 多面体でシリンダー作ればいいんだから。AABBTreeとかにすれば面の数に対して処理時間はそんなに増えない opecodeソース読んでも分からないと思う。まあ、デモ動かしてみて計算速度の目安にするとか 解説読むとか http://mevius.5ch.net/test/read.cgi/gamedev/1180001451/95
96: 名前は開発中のものです。 [] 2012/02/27(月) 20:08:42 ID:+ONGrtda >>93 やっかいだけど、現実的な解決方法はちゃんとある。 http://mevius.5ch.net/test/read.cgi/gamedev/1180001451/96
97: 名前は開発中のものです。 [] 2012/02/27(月) 20:13:04 ID:+ONGrtda >94 判定方法にもよるけど、球とかシリンダーとかの曲面を含むようなのは 面倒だから後回しで、最初は頂点と辺(直線)と面だけで作れる多面体だけでいいよ。 なんとかツリーとかの判定の高速化も後回しでOK。 http://mevius.5ch.net/test/read.cgi/gamedev/1180001451/97
98: 名前は開発中のものです。 [] 2013/01/22(火) 15:53:44 ID:JCFnqPH7 新しい剛体シミュの方法思いついた もう少し練ってデモ作る 撃力でも拘束ベースでもペナルティ法でも無い奴 http://mevius.5ch.net/test/read.cgi/gamedev/1180001451/98
99: 名前は開発中のものです。 [] 2017/12/31(日) 20:12:15 ID:/rN76OKL 簡単にお金が稼げる方法興味ある人だけ見てください。 グーグル検索⇒『来島のモノノリウエ』 UO82Y8FR9Z http://mevius.5ch.net/test/read.cgi/gamedev/1180001451/99
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.012s