ハーフライフとか、オブリビオンのあれです。
詳しい人教えて
探検
物理演算エンジンってどうやって作るの?
■ このスレッドは過去ログ倉庫に格納されています
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 ペナルティ法
めり込みに応じて反発力を。めり込んだ体積に比例させたり、距離に比例させたり
ステップ数が十分短ければどれも正しいんだけど、ステップ数が広いときにどれがいいのか
って分からない
ステップ数を広くできないから、他の方法と比べて衝突判定のコストが上がってしまう
めり込みに応じて反発力を。めり込んだ体積に比例させたり、距離に比例させたり
ステップ数が十分短ければどれも正しいんだけど、ステップ数が広いときにどれがいいのか
って分からない
ステップ数を広くできないから、他の方法と比べて衝突判定のコストが上がってしまう
2012/02/26(日) 22:13:56.93ID:uCaFSiki
>>82-88
レスありがとうございます。>>82です。
物理エンジン関係の資料はいくつか読んで、物理・数学関係は断片的な知識としてはあります。
それをプログラムに実装するにはどうしたらいいか判らなくてソース読んでました。
>>82を書き込んだ後、拘束ベースに関しては以下の本読んで勉強してました。
http://www.amazon.co.jp/Physics-Based-Animation-Graphics-Jon-Sporring/dp/1584503807
この辺りまでは、判りました。
>>普通静止させたい場合は、衝突部分の相対速度の法線成分が0になるっていう式を連立させて解けばいいよな?
LCPの解き方がキモなのですね。次は、LCPの辺り重点的に読んでみます。
レスありがとうございます。>>82です。
物理エンジン関係の資料はいくつか読んで、物理・数学関係は断片的な知識としてはあります。
それをプログラムに実装するにはどうしたらいいか判らなくてソース読んでました。
>>82を書き込んだ後、拘束ベースに関しては以下の本読んで勉強してました。
http://www.amazon.co.jp/Physics-Based-Animation-Graphics-Jon-Sporring/dp/1584503807
この辺りまでは、判りました。
>>普通静止させたい場合は、衝突部分の相対速度の法線成分が0になるっていう式を連立させて解けばいいよな?
LCPの解き方がキモなのですね。次は、LCPの辺り重点的に読んでみます。
90名前は開発中のものです。
2012/02/27(月) 08:02:04.56ID:+ONGrtda ソルバも重要だけど、もちろん衝突検出の幾何学の部分も重要だよ。
そこがてきとーすぎると、やっぱり細かいとこで変な挙動になったり
誤差がふりつもってガクガクしたりするからね。
そこがてきとーすぎると、やっぱり細かいとこで変な挙動になったり
誤差がふりつもってガクガクしたりするからね。
2012/02/27(月) 09:37:13.51ID:nYOAmwnM
衝突検出に関しては、以下の本を1/3程度読みました。
「ゲームプログラミングのためのリアルタイム衝突判定」
時間さえ掛ければ自分のプログラムに応用できそうですし、挙動を見ながらの方が理解が早いと思っています。
初心者の自分には今時点では、目途の立っていない運動方程式の方に意識が行っています。
「ゲームプログラミングのためのリアルタイム衝突判定」
時間さえ掛ければ自分のプログラムに応用できそうですし、挙動を見ながらの方が理解が早いと思っています。
初心者の自分には今時点では、目途の立っていない運動方程式の方に意識が行っています。
92名前は開発中のものです。
2012/02/27(月) 11:18:23.63ID:svWsgWM6 衝突判定なんてLCPに比べればカスみたいなもの
適当やってればいい
Rapidだか、Opcodeとか参考にすれば?
普通にAABBTreeかOBBTreeでやるのが楽だな
運動方程式理解できないとか勉強足りないぞ。
オイラーのなんたらってやつやろ?
あとあの方程式は非線形だけどエネルギーを保存するやり方で差分化できる
ちょっと考えるとな
適当やってればいい
Rapidだか、Opcodeとか参考にすれば?
普通にAABBTreeかOBBTreeでやるのが楽だな
運動方程式理解できないとか勉強足りないぞ。
オイラーのなんたらってやつやろ?
あとあの方程式は非線形だけどエネルギーを保存するやり方で差分化できる
ちょっと考えるとな
93名前は開発中のものです。
2012/02/27(月) 11:20:53.53ID:svWsgWM62012/02/27(月) 12:11:08.44ID:nYOAmwnM
自分の作るプログラム上で予想どおりに動かなかった場合には、衝突判定も深く勉強しようと思います。
形状も最初は球や直方体やシリンダーといった単純な形状で考えて、シミュレーション出来たら種類を増やしていこうと思います。
自分のレベルではまだ複雑な事までチャレンジできるかんじでは無いので。
opecodeですか、ソースありそうですしダウンロードして見てみます。ありがとうございます。
形状も最初は球や直方体やシリンダーといった単純な形状で考えて、シミュレーション出来たら種類を増やしていこうと思います。
自分のレベルではまだ複雑な事までチャレンジできるかんじでは無いので。
opecodeですか、ソースありそうですしダウンロードして見てみます。ありがとうございます。
95名前は開発中のものです。
2012/02/27(月) 12:17:40.99ID:svWsgWM6 >>94
おいおい、最初はまず任意の多面体でやれよ
シリンダー専用衝突判定なんていうは高速化のためな
多面体でシリンダー作ればいいんだから。AABBTreeとかにすれば面の数に対して処理時間はそんなに増えない
opecodeソース読んでも分からないと思う。まあ、デモ動かしてみて計算速度の目安にするとか
解説読むとか
おいおい、最初はまず任意の多面体でやれよ
シリンダー専用衝突判定なんていうは高速化のためな
多面体でシリンダー作ればいいんだから。AABBTreeとかにすれば面の数に対して処理時間はそんなに増えない
opecodeソース読んでも分からないと思う。まあ、デモ動かしてみて計算速度の目安にするとか
解説読むとか
96名前は開発中のものです。
2012/02/27(月) 20:08:42.36ID:+ONGrtda >>93
やっかいだけど、現実的な解決方法はちゃんとある。
やっかいだけど、現実的な解決方法はちゃんとある。
97名前は開発中のものです。
2012/02/27(月) 20:13:04.45ID:+ONGrtda >94
判定方法にもよるけど、球とかシリンダーとかの曲面を含むようなのは
面倒だから後回しで、最初は頂点と辺(直線)と面だけで作れる多面体だけでいいよ。
なんとかツリーとかの判定の高速化も後回しでOK。
判定方法にもよるけど、球とかシリンダーとかの曲面を含むようなのは
面倒だから後回しで、最初は頂点と辺(直線)と面だけで作れる多面体だけでいいよ。
なんとかツリーとかの判定の高速化も後回しでOK。
98名前は開発中のものです。
2013/01/22(火) 15:53:44.40ID:JCFnqPH7 新しい剛体シミュの方法思いついた
もう少し練ってデモ作る
撃力でも拘束ベースでもペナルティ法でも無い奴
もう少し練ってデモ作る
撃力でも拘束ベースでもペナルティ法でも無い奴
99名前は開発中のものです。
2017/12/31(日) 20:12:15.69ID:/rN76OKL 簡単にお金が稼げる方法興味ある人だけ見てください。
グーグル検索⇒『来島のモノノリウエ』
UO82Y8FR9Z
グーグル検索⇒『来島のモノノリウエ』
UO82Y8FR9Z
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【台湾有事】トランプ氏 電話会談で高市総理に発言抑制を要求か 米メディア報道… ★5 [BFU★]
- 【外交】米紙によると日本側は「発言を完全に撤回することは難しい」と米側に説明(WSJ) [1ゲットロボ★]
- 【文春】元TOKIO・国分太一(51)「女性スタッフ2名への“わいせつ事案”」日テレ事情聴取の全貌が分かった! ★8 [Ailuropoda melanoleuca★]
- 追い詰められているのは「高市首相」ではなく「習近平」? 対日強硬姿勢は「経済悪化」で虚勢、高市首相へ [お断り★]
- 【広島】広陵高校野球部の暴力事案 生徒2人を書類送検する方針 [ぐれ★]
- 【蒲郡ホテル】「中国人団体がキャンセル 損失2000万円」報道に見解公表→「想定内」「中国からの団体客に依存してない」 [nita★]
- 中国「統一教会は邪教、日米は邪教徒に牛耳られている」ヤフコメ荒れすぎて閉鎖へ [347751896]
- 高市早苗内閣総理大臣、事実上の終了(チェックアウト)だがこれからどうするの? [517791167]
- 【朗報】ガンダム監督「政権変わってよかった。高市と小野田(35)は最高。石破はゴミ立憲か共.産に行け。メディア報道は全部ウソ」 [517459952]
- 【悲報】シャオミの最新スマホ、謎技術によりオフラインでも1km離れたスマホと電話が可能にwwwwwwwwwwwwww [904880432]
- 【朗報】「本気でいい男の特徴10選」が完全に🐮 [394133584]
- 【悲報】男さん「しまむらの服で『BMW』に行ったら、バカにされたが、職業欄に『医師』って書いたら店員の態度変わったw [483447288]
