[過去ログ] ゲームのための物理(力学) (981レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1
(1): 02/04/08 17:38 ID:dlksSYkA(1) AAS
ゲームに必要な物理(力学)を語るスレッド。

例えば、坂道を転がる球の加速度だったら。

その球の密度が一様ならば、慣性モーメントは(2/5)MR^2なので

dV/dt = 5*g*sinθ/7;

と表せるよとか。
省1
901: 2005/09/03(土)09:32 ID:FfR/KiiS(1) AAS
厳密ではないけど誤差を10分の1に小さくする方法はあるよ。
移動速度を10分の1にして、毎回10回計算する。
902
(1): 894 2005/09/03(土)12:03 ID:zLnViSEh(1) AAS
みなさんありがとうございます。
>速度は-50+(40-10)*10/50を減衰させればいいかな?(自信ない)
これの(40-10)というのはどういう意味の計算なのでしょうか?
質問ばかりですみません
903: 2005/09/03(土)15:03 ID:UNtMk5CE(1) AAS
>>902
(壁に衝突するまでの距離−そこからの余剰分のベクトル)じゃ無いの?
いや、詳しくはわからんけど。
904
(1): 2005/09/04(日)03:37 ID:SDZeDuL1(1) AAS
こういう風にめり込みを考慮した衝突を表現する場合、どういう力学の公式を適用すればよいのでしょうか?

こんな、ごく単純にボールが自然落下して床に当たって跳ね返るだけの処理で悩んでいるようでは
ゲームプログラマとしては才能がないのでしょうか・・・(´;ω;`)
905: 2005/09/04(日)04:14 ID:x5Na2HfT(1) AAS
問題点を判っててしかも放棄して無いんだから資質はあるんじゃね?

っていうかやけに単位が大雑把な気がするけど何のゲーム作ってるんだろ?
厳密な計算はいくらやってもキリが無いからある程度の妥協は必要だぞ。
906
(1): 2005/09/04(日)04:24 ID:F6+rTEV1(1/2) AAS
>>904
> こんな、ごく単純にボールが自然落下して床に当たって跳ね返るだけの処理で悩んでいるようでは
>ゲームプログラマとしては才能がないのでしょうか・・・(´;ω;`)
ここはマジレスしてあげよう。
こういう問題で精度と計算結果が重要視されるのはシミュレーションや大学の論文。
で、ゲームプログラマーというかアミューズメント系はこういう場合ゲームシステムやプレイ感覚に与える心理的影響や
ゲームシステム上の不具合が発生しない方向を最初に検討してから対処する事になる。
省4
907
(1): 2005/09/04(日)06:22 ID:GAjPy7wj(1) AAS
>>906
言ってることは至極真っ当だが言い方がエラいムカつく
908: 2005/09/04(日)11:45 ID:F6+rTEV1(2/2) AAS
>>907
大変申し訳ない。
909: 2005/09/04(日)19:13 ID:Rzhrd04h(1) AAS
活気があってよろC

しかしこの後、いつも通り2ヶ月のスレスト
910: 2005/09/04(日)20:52 ID:tQWgh7Qk(1) AAS
それをあえて俺が910ゲット
911: 2005/09/05(月)00:02 ID:ZOBWGLDz(1) AAS
9.11get
912
(2): 894=904 2005/09/05(月)09:54 ID:JI8n54ag(1) AAS
みなさんありがとうございます。
結局、めり込みを考慮した衝突と反射に関しては簡単には計算できない、という事でよろしいのでしょうか。
自分的にもここで悩んでても仕方がない気がしてきたのでネットでペナルティ法やAB法というのを調べて実装してみたいと思います。

ありがとうございました。
913: 2005/09/05(月)14:42 ID:2it76JrP(1) AAS
シミュレーション的観点からは接触時間がいつとかきちんと考えないといけないけど、
ゲームではほとんどの場合何も考えていないのが実情だと思う。
見た目があまりおかしくなければ良しってね。

壁にめりこむ前に反射させたりとか、めりこんだまま動かしたりとか、
エブリデーのティーアンドライスですよ。

結論:やりたいことによる
914: 2005/09/05(月)22:02 ID:XpHLokpb(1) AAS
なにこの良スレ
915
(1): 2005/09/06(火)01:08 ID:kXw3I5Fi(1/2) AAS
数学よりだけれども、
BOXの移動元・移動先を考慮した
OBB衝突判定のソースコードどこかに転がってないですかね。
ググってもなかなかでてこなくて。
916
(1): 2005/09/06(火)08:30 ID:0KGPXMG4(1/2) AAS
>>912
「めり込みを考慮した」という点が良く分からん。
解析法とペナルティ法ってのがあると思うんだけど。
めり込みを考慮するってことはペナルティ法で解くってことでしょ?
SpringHeadを参考にしたら?
917: 915 2005/09/06(火)12:22 ID:kXw3I5Fi(2/2) AAS
移動を考慮しない衝突判定のソースは色々あるんだけれども、
静止状態での判定だと、高速なオブジェクトは
衝突処理の間に飛び越えて、
判定できなかったりするんじゃないだろうか。
918
(1): 2005/09/06(火)14:55 ID:e4EPwdWQ(1) AAS
>>916 ペナルティ法って正しい結果が求まるのか?
912のような状況で次の1フレーム後の速度と位置を正確に求めるには>>897の言うように
衝突の起こった時間を調べてその時点から計算をしなおす方がいいと思うが。。。
919: 2005/09/06(火)23:29 ID:0KGPXMG4(2/2) AAS
>>918
ペナルティ法だと、めり込んだあとしばらくはめり込んだ状態を保つよ。
で、やがてめり込みが解消されて離れていく。
物体同士が絶対に食い込みあってはいけないという過程自体を覆す考え方。
920: 2005/09/07(水)02:56 ID:VYcQafqJ(1) AAS
フックの法則を使うのでダンパーを使わなければ衝突応答前後での運動量は
保たれる(=完全弾性衝突)
つっても、>>912のいう「めりこみを考慮した」という発言は
ペナルティ法を指しているとは思えないけど

しかし回答する側の勉強不足が目立つなぁ、まぁ無料相談所なんてそんなもんか
921: 2005/09/07(水)03:44 ID:fxVxjrGQ(1) AAS
>めり込みうんぬん
物体がある時間(1フレームとか)で移動する間に跳ね返りがおきた場合、その衝突時点まで戻して
そこから速度や位置の計算をするのが良いと思われるが、「それをせずに」サクッと解く方法はないものか?
・・・って事がそもそもの912の疑問なんじゃないかと。

これって、多数の物体同士の当たり判定をやりだすと、ごく短い時間の間に衝突が発生してめり込んだり突き抜けたりしてしまうわけで、
そもそもそういう複雑な状況を簡単に求める手法は無いよね。(たぶん)

で、こういう場合にペナルティ法でもってめり込みをゆるしつつ処理するのが最近の流れで、
省2
922
(1): 2005/09/21(水)02:45 ID:CdHDIkST(1) AAS
あの、ごくごく基本的な質問ですみません。

角速度ベクトルって、どのくらいの長さで1回転とされているんでしょうか?
姿勢をあらわすクォータニオンに対して、角速度ベクトルの半分を掛け足すことで、回転を確認したんですが、
1回転の基準となる長さがわからないため、たとえば、摩擦抵抗を計算するときに、どれだけ角速度の長さを設定していいかさっぱり。
壁にぶつかるたびに回転が加速したりします。

クォータニオンに対する計算がおかしいのかなあ。誰かよろしくお願いします。
923: 2005/11/04(金)21:08 ID:5tTLDfvO(1) AAS
age
924
(1): 2005/11/21(月)22:07 ID:C/7NqGLR(1/2) AAS
ふ〜やっと斜め読み終わった。
読んでみたところで専門学校出には99%理解できないんだが。。
>>561
ポリゴンAを形成する三角形と
ポリゴンBを形成する線分(辺)の交点を求めれば良いと思う。
その交点が線分に乗ってれば当たっている。

ただしAが完全にBに入り込んでいる場合、あるいは逆だと、
省6
925: 2005/11/21(月)23:22 ID:C/7NqGLR(2/2) AAS
自分で言うのもなんだけど、物理じゃねぇな_no
926: 2005/11/22(火)23:59 ID:pgRAeUPk(1) AAS
2年前にレス乙
927: 2005/11/23(水)00:25 ID:Rb/ScnRc(1) AAS
おじいさんになって、50年前の書き込みにレスをするのが僕の夢です。
928: 2005/12/04(日)20:10 ID:vq2dcsz6(1) AAS
>>922
角速度ベクトルに時間をかけないと回転量にならないんじゃ?

>>924
一般的に、当たってない判定を2ポリゴンを分離する軸を見つけることでおこなう。
この軸がなければあたり。
簡単には説明できないのでSeparation axisでぐぐる。
929: 2005/12/16(金)08:26 ID:DTxix2tD(1) AAS
数年前にペナルティ法に取り組もうとして挫折した者なのですが、
よく使われていると思われるペナルティ法では、めり込んだ頂点と面との距離に線形のフックの法則を適応すればいいのでしょうか?
ペナルティー法のとっかかり自体が分かりません。。。
930: 2005/12/16(金)23:53 ID:sTAl/nFE(1) AAS
とっかかり?
めり込んだから押し出しちまえ。それだけ。
 
Springheadのソース見ればいいんじゃねーの。
あるいはNeko氏のサイトに似たような解説アリ。
AB法とか読んでた希ガスる。
931: [age] 2006/02/03(金)11:17 ID:S1xjNIBu(1) AAS
さらしあげ
932: 2006/03/25(土)17:12 ID:YjP5dkK2(1) AAS
物理エンジンを組み込んだ動画を見たがやばいな!!すごすぎる!!早くあんなゲームが俺の手元にこないかなぁ。
933
(3): 2006/04/04(火)15:53 ID:YuM8+uhP(1) AAS
ペナルティ法についての質問なのですが、剛体リンクをある点で拘束したい場合
重心に力がかかると考えてよろしいのでしょうか?
F=-kx-cvで拘束すれば剛体同士の位置は拘束されますが、トルクが考慮されてないので
姿勢がそのままになってしまいます。
それで、重心に拘束点からの距離rをかけてトルク(r x F)を与えると回転が発散してしまいます。私のコードが間違っている可能性も否めませんがだれかご教授よろしくお願いします。
934
(1): 2006/04/04(火)19:12 ID:l3ZeOJHQ(1/2) AAS
君の説明はすごく下手で曖昧で不足だ。
だからエスパー回答する。
 
>ペナルティ法についての質問なのですが
 
ペナルティ法以前の問題だ。
 
省10
935
(1): 続き 2006/04/04(火)19:13 ID:l3ZeOJHQ(2/2) AAS
>トルクが考慮されてないので姿勢がそのままになってしまいます。
 
作用点をシカトして重心間で引っ張り合いしてるからだ。自業自得。
 
>それで、重心に拘束点からの距離rをかけてトルク(r x F)を与えると
 
外力全部を並進運動に使っておいて、更にトルクとして与えるなんて
省10
936
(2): 933 2006/04/04(火)23:06 ID:7TU7iQ7/(1) AAS
>>935
>使ってる数値積分のアルゴリズムは何か。
>数値解の安定性について考慮しているか。

お。狙い通り詳しそうな人が釣れたので本性を現してみるか。

ゲームで使う程度の単純な剛体物理で、1次シンプレクティック法以上の選択肢ってあるか?
発散の要因の殆どは微分方程式が極端に非連続であることに起因すると思うのだがなぁ。
ルンゲクッタとか使ってる奴は、式の評価の度に剛体の衝突検出から始めてるのか?
省2
937: 2006/04/05(水)00:09 ID:j+LCS1M2(1/2) AAS
釣り宣言はまぁいいとして
で、角速度が爆発する件はもう解決してるんか。
まぁそれならそれでいいんだけどさ。
938
(1): 2006/04/05(水)01:42 ID:38f56APA(1) AAS
>>936
態度の急変はみっともない
939: 2006/04/05(水)01:47 ID:j+LCS1M2(2/2) AAS
>>938
んなこたどうでもいいよ
940
(1): 933 2006/04/05(水)07:18 ID:E+b2CdTD(1) AAS
なんだよ。相手の方が知識持ってることが分かったらすぐに遁走か
こんな奴ばかりだ
941
(1): 2006/04/05(水)11:19 ID:SgDD+rlz(1) AAS
まぁ、実際困ってる人はいなかったのなら、それが何よりじゃないか。
942: 2006/04/05(水)11:48 ID:Q23jU2JZ(1) AAS
>>941
「よかった、病気の子供はいないんだ」?
943: 2006/04/05(水)13:18 ID:2qo3YP45(1) AAS
この戦争が終わったら俺、結婚するんだ。見ろよこのフローチャート。あと三ヶ月なんだぜ。
944: 934=937 (PDA) 2006/04/05(水)16:52 ID:KopuYa5g(1) AAS
>>940
君 : 質問。状況説明不足。(解読には要エスパー能力)
  ↓
俺 : もっとkwsk。一先ず脳内補間&解読&回答
  ↓
君 : 釣り宣言。チラ裏日記(話題が発散)
  ↓
省5
945: 2006/04/05(水)17:51 ID:6wC0DHtu(1) AAS
私が933です。他の人勝手に名乗らないでください。
934さん回答ありがとうございました。

とりあえず剛体同士の衝突は上の方法でうまくいったのでそのまま関節にも適用
できないかなと考えていたのでそのような質問しました。わかりづらくてすいません。

それで拘束のほうですが、やはり拘束条件の式を適用しなくてはいけないのですね。
正直面倒くさいのでなんとか横着できないかなと考えていました。
とりあえずこれからちゃんと方程式たててやってみます。
946: 2006/04/05(水)23:46 ID:iORbldnk(1) AAS
いえ、私が本物の933です。
947: 934=937 2006/04/06(木)00:37 ID:I3U88jqx(1/4) AAS
「剛体リンクをある点で拘束したい」という話だから
例えばあるリンクAが点Oに固定され(自由度3:並進不可&3軸回転可)
それに接続されたリンクから加わる外力Fと作用点Pがペナルティ法で
求められた状況下で、このリンクAの刄ニを求めたい。でも何故か値が
爆発しちゃうよということだよね。
 
これって外力FをAOに垂直・水平な成分に分解。拘束条件によりAOに
省2
948: 続き 2006/04/06(木)01:28 ID:I3U88jqx(2/4) AAS
で、計算結果が吹っ飛んじゃうのはコードの単純ミスだろう。
 
例えば>>936がチラシの裏で書いてるようなシンプレクティックな
数値積分を使ってるなら、試しにリンクひとつにして高初速でぶん回せ。
それで回転速度がどんどん大きくなるならコードがおかしい。
 
リンク数を増やしてぶん回して吹っ飛んじゃうなら、それは普通。
省3
949: 訂正 2006/04/06(木)01:30 ID:I3U88jqx(3/4) AAS
2次精度にしたり、時間ステップを小さくしたり、泥縄式に
変数に上限値を設けたり強ダンパ使って無理やり押さえ込む
しかないでしょ。
950: 更に947の訂正 2006/04/06(木)02:03 ID:I3U88jqx(4/4) AAS
s/AO/PO/g
951: 2006/04/08(土)17:21 ID:4IRAVLv5(1) AAS
ものすごい久々に見てみたら、>>787すげー。びびったよ。
952: 2006/04/08(土)18:48 ID:HUVux5eK(1) AAS
パネキットは専用スレがあるくらいだからな。
953: 933 2006/04/10(月)00:26 ID:SRry4c2l(1) AAS
>934さんへ
おかげさまでパネ・ダンパのみで拘束が表現できました。
結局問題は数値積分による累積誤差でした。拘束式解かないですんでよかった....
どうも3次元になるとどこが問題になっているのかわかりづらいですね。。

なにはともあれ丁寧に回答してくださってありがとうございました。
954: 2006/04/13(木)00:51 ID:lyVT4kTe(1) AAS
>>787
これは凄いな
955: 2006/04/24(月)00:57 ID:xYh6jQOI(1) AAS
すげえ…俺もこんなの作れるようになりたいッす
956: 2006/07/17(月)02:14 ID:BW0QsVu3(1) AAS
ひまだったので、
物理の習作してみた。

さて、こっからどうしようか・・

外部リンク[swf]:yu-net.info
957: 2006/07/18(火)08:44 ID:KhGt1eA5(1) AAS
それなんて催眠術?
958: 2006/07/19(水)11:59 ID:MNfc0WD1(1) AAS
次は斥力も入れて
959: 2006/07/19(水)21:04 ID:84E29+uo(1) AAS
おーかんがえておくよ

いま時計になってる

外部リンク[zip]:litz.sakura.ne.jp
960: 2006/08/22(火)14:08 ID:Hg2GrP2l(1) AAS
保守
961: 2006/09/24(日)15:02 ID:3Pb274kP(1) AAS
age
962: 2006/10/18(水)19:02 ID:0LdvZitM(1/2) AAS
今更だが>>894はこれでいいんじゃないの?

// 座標
if(y>=200) {
y += (vy-(y-200));
vy=-vy;
}
else
省5
963: 2006/10/18(水)19:24 ID:0LdvZitM(2/2) AAS
y+=-(vy-(y-200));だった
964: 2006/10/30(月)01:38 ID:aO7aWa+m(1) AAS
【ネット】XBOX360開発キット無償公開2【やろうぜ】
2chスレ:ghard
965
(1): 2006/11/03(金)17:44 ID:faJ2E67k(1/2) AAS
ここにはbaraffのIntroduction読んでる人が多いので
質問させてください。
appendixD.2のcompute_ndot(Contact *c)って変ですよね。
966
(1): 2006/11/03(金)18:36 ID:faJ2E67k(2/2) AAS
>>965です。
内積と外積がごっちゃになってたり、
変数名間違えてたりするけど、
確かに計算したら最後の式が出てきました。すいません。
967
(1): 2007/02/13(火)01:19 ID:7k9IjZ5F(1/2) AAS
スマブラなどのアクションゲームのキャラの移動、落下、吹っ飛びにはどのような計算が行われているでしょうか。必要な数学物理分野や参考になるサイト、ヒントなどの情報を教えていただきたいです
よろしくお願いします
968
(1): 2007/02/13(火)04:26 ID:pgxaBRYd(1) AAS
微積代数幾何が人並みに分かっていればOK

何それ?ってたぶん答えるだろうから、その場合は
素直に学業に専念しなさい。絶対に無駄にはならないから。以上。
969
(1): 2007/02/13(火)22:59 ID:7k9IjZ5F(2/2) AAS
ありがとうございます。
早速勉強してみます。
970
(3): 2007/03/07(水)22:53 ID:hRCFzq0X(1) AAS
微積分っていうけどさ、微分と積分って天と地ほどに違うと思うのは俺だけか?
971
(1): 2007/03/07(水)23:50 ID:MiuxcXII(1) AAS
>970
どのレベルで言ってるのかわからないが、
ゲームの物理なら補完方法(外挿/内挿)の違いでしかないと思う。
972
(1): 2007/03/08(木)00:19 ID:CXdk4uA/(1) AAS
>970
「まるっきり別物に見える二つが実は繋がっていた」という偉大な発見が数学に与えたインパクトは絶大。
実はもの凄くいい点ついてるよ。
973
(1): 2007/03/11(日)17:11 ID:JBiyLwiL(1) AAS
>>18
新しいバージョンが3/3付けで出てる
974: 2007/03/17(土)17:43 ID:HgUYLq+d(1) AAS
>>966

>>967 スマブラは知らんが、移動、落下、吹っ飛びは加減乗除ができれば大丈夫だろう。

>>968 微積代数幾何が人並みに分かっていれば微積代数幾何の単位が取れるな。
スマスマとはあまり関係ない。

>>969 ぜってーだな!?

>>970 うむ。天と地ほどに違うね。天は上方向、地は下方向だからな。
省5
975
(1): 2007/03/24(土)00:08 ID:jE9mmGMT(1) AAS
宇宙での宇宙船の動きをシミュレートできるやつとかないすか?
フライングバイとか
976: 2007/03/24(土)00:26 ID:jXCTrDG3(1) AAS
スイングバイじゃなくて?
977: 2007/03/24(土)02:09 ID:f1oB1xfV(1) AAS
フライングバイセクシャル
978: 2007/04/03(火)14:21 ID:qom87o6H(1) AAS
>>975
いちばん簡単な部類じゃないか。文系高卒の俺でもできるくらいの。
ファインマン物理学Iでも読みながら考えなさい。
979: 2007/04/19(木)13:31 ID:3iCitK9v(1) AAS
宣伝乙

14歳からはじめる
リアルに動く!ゲーム物理プログラミング教室 C言語編(\2,500)
外部リンク[html]:www.rutles.net

こんなのが出てた
序盤がCのお勉強なんで無駄があるけど「14際から」ってことで
わかりやすさなら絶対のはず!
980: 2007/04/19(木)14:50 ID:3u635fYU(1) AAS
ゲームに使う物理学なんて義務教育の範囲内だって事だろ。
表紙に出てるのが放物線って時点で、内容はお察しじゃね?
でも、この板で出てくる物理学的疑問の90%には答えてくれそうだwww
981: 2007/04/19(木)18:15 ID:WksY0tBK(1) AAS
 
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.206s*