ハーフライフとか、オブリビオンのあれです。
詳しい人教えて
探検
物理演算エンジンってどうやって作るの?
■ このスレッドは過去ログ倉庫に格納されています
2007/05/24(木) 19:10:51ID:NTMqyc86
82名前は開発中のものです。
2012/01/08(日) 13:49:46.00ID:i1iv+V/j BulletXのソース読んでみたけど、あれって拘束ベースなのかな?力積ベースなのかな?
constraint(拘束)Solverっていうディレクトリが在ったから読んでたら、Impulse(力積)を加えてたんで判んなくなった。
拘束ベースの判り易いソースって知ってたら教えて欲しいな。VC++よりはC#の方が読み易いからうれしい。
constraint(拘束)Solverっていうディレクトリが在ったから読んでたら、Impulse(力積)を加えてたんで判んなくなった。
拘束ベースの判り易いソースって知ってたら教えて欲しいな。VC++よりはC#の方が読み易いからうれしい。
83名前は開発中のものです。
2012/02/25(土) 23:00:55.81ID:HsM02eP/ 拘束条件を解く方式のエンジンでも、拘束されてる(物体どうしが一定時間以上
連続して接触している)ときも常に力積を加え続ける方式のものもあるよ。
つまり、力積が吊り合ってたら物体が静止状態になるってことね。
ちなみに、ソース読むよりも代数学の行列とか勉強した方が早いかも。
連立方程式を反復法で適当に解いてくエンジンとか、
すごい高度な数学のテクニックで解いてくエンジンとかいろいろある。
まずそっちの知識が無いと、ソースだけ読んでもわけわからん。
連続して接触している)ときも常に力積を加え続ける方式のものもあるよ。
つまり、力積が吊り合ってたら物体が静止状態になるってことね。
ちなみに、ソース読むよりも代数学の行列とか勉強した方が早いかも。
連立方程式を反復法で適当に解いてくエンジンとか、
すごい高度な数学のテクニックで解いてくエンジンとかいろいろある。
まずそっちの知識が無いと、ソースだけ読んでもわけわからん。
84名前は開発中のものです。
2012/02/25(土) 23:04:14.93ID:lzeArZyh85名前は開発中のものです。
2012/02/25(土) 23:05:24.17ID:lzeArZyh 撃力について
衝突したら撃力を加えるっていうのを何度もやる。
静止状態も実は撃力を何度も加えて結果的に静止してる
これは静止状態が重いんだわ
衝突したら撃力を加えるっていうのを何度もやる。
静止状態も実は撃力を何度も加えて結果的に静止してる
これは静止状態が重いんだわ
86名前は開発中のものです。
2012/02/25(土) 23:08:49.02ID:lzeArZyh だから、それに加えて力積 or 力に関してのLCP(線形相補性問題)を解く
これはどういう式かっていうと
普通静止させたい場合は、衝突部分の相対速度の法線成分が0になるっていう式を連立させて解けばいいよな?
でも、離れようとしてるのに力を加えたり、マイナスの力を加えるのはおかしいよな?
だから
力 >= 0、相対速度 >= 0、力 = 0 or 相対速度 = 0
っていう式を立てるのよ
どっちかがゼロでなければもう片方はゼロっていう
これを高速に解くのがキモなの
これはどういう式かっていうと
普通静止させたい場合は、衝突部分の相対速度の法線成分が0になるっていう式を連立させて解けばいいよな?
でも、離れようとしてるのに力を加えたり、マイナスの力を加えるのはおかしいよな?
だから
力 >= 0、相対速度 >= 0、力 = 0 or 相対速度 = 0
っていう式を立てるのよ
どっちかがゼロでなければもう片方はゼロっていう
これを高速に解くのがキモなの
87名前は開発中のものです。
2012/02/25(土) 23:13:50.63ID:lzeArZyh おおまかな流れとして
・撃力を加える(静止状態とかだとかなりの回数になるから、どこかで打ち止め(近似))
・重力とかの外力を加える
・LCPを解く
速度と加速度を別に保持しておくか、速度だけにするか
つまりLCPで解く対象を速度にするか、加速度にするか
撃力を打ちどめることが多いので、近似になるけど速度をLCPで押さえこんだほうがいい。撃力を打ち止めてほっておくとめり込む
LCPで解く対象は速度だから、外力を加えるときは、dtをかけて力積として加えてしまう
・撃力を加える(静止状態とかだとかなりの回数になるから、どこかで打ち止め(近似))
・重力とかの外力を加える
・LCPを解く
速度と加速度を別に保持しておくか、速度だけにするか
つまりLCPで解く対象を速度にするか、加速度にするか
撃力を打ちどめることが多いので、近似になるけど速度をLCPで押さえこんだほうがいい。撃力を打ち止めてほっておくとめり込む
LCPで解く対象は速度だから、外力を加えるときは、dtをかけて力積として加えてしまう
88名前は開発中のものです。
2012/02/25(土) 23:15:24.27ID:lzeArZyh ペナルティ法
めり込みに応じて反発力を。めり込んだ体積に比例させたり、距離に比例させたり
ステップ数が十分短ければどれも正しいんだけど、ステップ数が広いときにどれがいいのか
って分からない
ステップ数を広くできないから、他の方法と比べて衝突判定のコストが上がってしまう
めり込みに応じて反発力を。めり込んだ体積に比例させたり、距離に比例させたり
ステップ数が十分短ければどれも正しいんだけど、ステップ数が広いときにどれがいいのか
って分からない
ステップ数を広くできないから、他の方法と比べて衝突判定のコストが上がってしまう
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- ■緊急地震速報 熊本など [人気者★]
- 性売買「買う側」処罰化と同時に「売る側は処罰せず、支援の対象に」Colabo主催の集会にて [パンナ・コッタ★]
- 相次ぐ中国公演中止に、シンガーソングライターらが続々高市首相に怒り表明「隣国の仲間たちに対して申し訳ない」 [muffin★]
- NHKの災害情報、閲覧に「ユーザー登録必要」で批判の声多数 [少考さん★]
- 〈NHK督促10倍に強化〉「カーナビも受信料いただきます」方針に自治体が悲鳴…“督促の基準”を大赤字のNHKにきいた [パンナ・コッタ★]
- とろサーモン・久保田「後輩や演者からも評判が悪すぎる」大物MCに意見 「世間が思ってる人間とは真逆」と思い爆発 [muffin★]
- 統一教会、台湾で政党になって公明党的ポジションにいたww [347751896]
- しじみ [546716239]
- 大地震 [904880432]
- 【安倍晋三】山上徹也は暴力を使った。お前らはそれを認め許すの? [201193242]
- 大震災
- 高市地震 [485983549]
