トップページgamedev
981コメント311KB

ゲームのための物理(力学)

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。02/04/08 17:38ID:dlksSYkA
ゲームに必要な物理(力学)を語るスレッド。

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

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

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

と表せるよとか。

他にも剛体運動、力積とか語ってください。
0694名前は開発中のものです。04/11/05 02:35:04ID:7SiGCtnr
せいぜいドンブラ効果くらいじゃない。
電子楽器の世界には物理モデル音源なんてのもあるがな。
0695名前は開発中のものです。04/11/05 18:20:09ID:VZlYExfD
>>693
693が考えてる程のことじゃないかもしれないけど
今のサウンドエンジンのトレンドは、マテリアル(テクスチャ)に
音情報埋め込んでおいて、ドンブラ効果とかオクルージョンとかは
ある程度自動的にやってくれる
0696名前は開発中のものです。04/11/06 01:20:27ID:ZpG01QOc
…ドップラー効果の事か?>ドンブラ
0697名前は開発中のものです。04/11/06 02:31:30ID:PcUZvm2C
いまさら何を言ってるのだねチミィ
0698名前は開発中のものです。04/11/07 03:45:15ID:AA5JviZ5
>>695の補足
もちろんオブジェクト同士の衝突音は
マテリアルに割り当てられてるサウンドから適当に発音される

>>696
「ガイシュツじゃなくてキシュツだろ!」って突っ込んじゃう人ですか?
0699名前は開発中のものです。04/11/07 22:37:47ID:wcS1kDve
> 「ガイシュツじゃなくてキシュツだろ!」って突っ込んじゃう人ですか?
こういうのなら文脈で解るけど、ドンブラは初めて見たので何事かとオモタ

ちなみにgoogleで2件(w
0700名前は開発中のものです。04/11/09 19:23:01ID:AtLUI4h6
ビリヤードはどうやって計算するの?
0701名前は開発中のものです。04/11/16 01:19:47ID:+AP75s66
ひねりやバンク、ブレイクの美しさまで考えると結構奥が深いね
0702名前は開発中のものです。04/11/16 17:56:11ID:9BByUej7
↑簡素化して、複数のボールが同時に衝突した場合はどう計算するの
0703名前は開発中のものです。04/11/16 18:09:55ID:uUMZOQ+E
完全な同時だとしても、二つがぶつかった結果を三つ目に合成しても問題ないと思うが。
0704名前は開発中のものです。04/11/16 21:27:49ID:zgJKdSrC
ソフトコアの方が楽だよ
0705名前は開発中のものです。04/11/17 19:27:50ID:j6oxnDYS
巻き糞を生成する式を考えないか?
0706名前は開発中のものです。04/11/17 22:08:36ID:fLjZv7nh
>705
それは力学なのか?
もしや肛門の圧力と外へ出るちからとウンコの量をもとに
シミュレートするってことか?
お尻から便器までの高さと腰の回転も計算に入れないと無理っぽいな
こういうのってどの分野に含まれるんだろ?
0707名前は開発中のものです。04/11/18 10:01:35ID:0oKMVdoN
CG板でやれ。
0708名前は開発中のものです。04/11/20 20:48:06ID:ShzGxwIf
質量が異なるボールを使うビリヤードを正しくシミュレーションできるヤツは神
0709名前は開発中のものです。04/11/21 12:44:40ID:OSMFR4g4
>>708
ここは参考になるか
ttp://homepage2.nifty.com/eman/dynamics/collision.html
0710名前は開発中のものです。04/11/21 13:24:47ID:jEWV/din
>>709
残念ながら一次元の衝突と二次元の衝突は
文字通り次元が違うのよ
0711名前は開発中のものです。04/11/21 13:48:12ID:Q4QHmyrs
>残念ながら一次元の衝突と二次元の衝突は
>文字通り次元が違うのよ
>残念ながら一次元の衝突と二次元の衝突は
>文字通り次元が違うのよ
>残念ながら一次元の衝突と二次元の衝突は
>文字通り次元が違うのよ
0712名前は開発中のものです。04/11/21 20:57:58ID:/uXrflFM
ゴムと鉄と木と発泡スチロールと風船の玉でビリヤードすんのか?
0713名前は開発中のものです。04/11/22 01:28:08ID:yyK/QESp
>>712
それだと反発係数がry
0714名前は開発中のものです。04/11/22 02:49:23ID:qEnNUllR
>>710
どのへんで一次元限定の話だと思ったのよ?
0715名前は開発中のものです。04/11/22 11:04:18ID:yyK/QESp
むしろ714がどのへんで一次元じゃないと思ったのか聞きたい。
710のどこでベクトルの向きが考慮されてるんだ?
071670904/11/22 15:02:45ID:vf82nHzB
>>715
>>709の式は多次元でもボールの正面衝突ならそのまま使える。
重心がずれて当たった場合は、
ボールが壁に斜めに衝突した場合を考えれば分かる筈。
0717名前は開発中のものです。04/11/22 15:27:35ID:yyK/QESp
>>716
>重心がずれて当たった場合は、
>ボールが壁に斜めに衝突した場合を考えれば分かる筈。

俺もはじめはそうかと思っていたが、そんな単純じゃないんだよ。
ていうかぶっちゃけ708は誰にも不可能。
0718名前は開発中のものです。04/11/22 16:45:30ID:rnABpuU6
>>710
ヤヤウケ

残念ながら二次元のゲームと三次元のゲームは
文字通り次元が違うのよ

残念ながら二次元の女と三次元の女は
文字通り次元が違うのよ

とか、ちょっとそこらへんの板で使ってくる。
0719名前は開発中のものです。04/11/22 18:27:08ID:gYTBBmS/
つまり ID:yyK/QESp は
質量の異なる2つの剛体球同士の衝突計算ができない、と。
0720名前は開発中のものです。04/11/22 21:06:50ID:Uf66t4QN
三次元上の面(壁)と点(弾)の衝突後の反射についてなんだけど
衝突後の点の反射角度と速度って求めるの難しいでしょうか?
こういうのが載ってるサイトや書籍ってありますか?
0721名前は開発中のものです。04/11/22 22:20:39ID:yyK/QESp
>>719
おまえはできるのか?
0722名前は開発中のものです。04/11/22 22:54:44ID:QdoFrIbr
物理板にこのスレが貼られてからきてみたけど高一レベルだな。
0723名前は開発中のものです。04/11/22 23:38:52ID:6NCszWA+
わーははは
漏れの高校は1年のとき化学しかないんだぞ、まいったか
0724名前は開発中のものです。04/11/23 00:09:51ID:dO8guEyN
漏れの高校は
1年:生物
2年:化学
3年:物理
だったなぁ・・・
0725名前は開発中のものです。04/11/23 00:27:46ID:pnQIehN9
質量が違うと衝突後の方向を決めることができないことは
大学初年度の力学の教科書でも載ってるのになあ。
できもしないことを口先だけであーだこーだと。

「ゲーム制作者」のあまりのレベルの低さに唖然。
0726名前は開発中のものです。04/11/23 00:44:16ID:q5cvYOFI
>>725
教科書に載ってる事を鵜呑みにした後、その先の思考は忘れてないよな?
どうせ上でやってるのは言葉遊びに過ぎないだろうよ
0727名前は開発中のものです。04/11/23 01:00:09ID:pnQIehN9
>>726
>教科書に載ってる事を鵜呑みにした後、その先の思考は忘れてないよな?

「思考」した香具師には言えないセリフだな。
先生が言ってたセリフをそのまま言っても説得力ないよ?
もしかして計算できると思って上ではしゃいでた本人ですか?
0728名前は開発中のものです。04/11/23 01:35:37ID:jhAK6/6z
>>727
オープンソースの物理エンジンでも見て勉強してみたら?
質量設定できないのなんて無いよ。
0729名前は開発中のものです。04/11/23 01:38:26ID:QeDsPB0H
ゲームなんだから厳密さより処理速度でしょ。

有名どころでHavokエンジンのデモ
ttp://oldsite.havok.com/xtra/demos/demo-cardemo2.html
0730名前は開発中のものです。04/11/23 02:54:21ID:ssJYoeu4
実験してみた。
物体1.ピンポン玉
物体2.ボーリングの玉
として、ボーリングの玉の真上にピンポン玉を垂直に落としてみた。
結果
ピンポン玉はボーリングの玉の上で、ほぼ垂直に跳ね上がった。

>質量が違うと衝突後の方向を決めることができない
……何か大事な条件を忘れていない?
0731名前は開発中のものです。04/11/23 04:15:25ID:qpKaM3GC
>>720
http://www.wakhok.ac.jp/~momma/lec2001/Graphics_Programming/12/lecture12.html
0732名前は開発中のものです。04/11/23 15:28:40ID:pnQIehN9
>>728
いや、変数を決める方程式が足りないから理論的に無理なんだけど。
どうして自分で計算してみないでアレコレ言い張ってんの?

>>730
自分で衝突後の方向を指定してりゃ世話ねーな。文系?
0733名前は開発中のものです。04/11/23 15:54:05ID:Pu12EBcB
>>732
だから質量が違う物同士の衝突を
シミュレートできるエンジンなんていくらでも有るし、
それを使った市販ゲームをたくさん出てる。
自分が出来ない=不可能って思うのはバカすぎる。
とりあえず>>729のゲームでもやって落ち着け。
0734名前は開発中のものです。04/11/23 16:09:54ID:3gXyI7gs
ゲームなんて所詮インチキだらけなんだから
その中でいかにソレっぽく見せるかがプログラマの腕の見せ所だろ。
理論にこだわりすぎて結局何も出来ないのはただの無能。
0735名前は開発中のものです。04/11/23 16:13:04ID:3gXyI7gs
>>732
>どうして自分で計算してみないでアレコレ言い張ってんの?

>自分で衝突後の方向を指定してりゃ世話ねーな。文系?

あと根拠もなしに他人に対して変な思い込みするのは
バカっぽく見えるからやめたほうがいいよ。
0736名前は開発中のものです。04/11/23 16:35:15ID:h0d5FA2i
まあお前も俺も馬鹿には違いないんだから争うな、馬鹿ども
0737名前は開発中のものです。04/11/23 23:27:59ID:26B5QnOo
確か高校物理の最初に、質量の違う球体同士の衝突を習ったと思った。
多分、出来ないと言ってる人は中学生くらいで、運動量保存の法則を使って
自力で解いてるんだろうな。頑張ってるなと思った。
その先のヒントとしては、エネルギー保存の法則を使うと残りの式が導かれるので
あとは連立方程式として解けるようになるよ。エネルギーは運動エネルギーね。
0738名前は開発中のものです。04/11/24 02:57:53ID:23ptainm
運動量保存の式(x軸、y軸)とエネルギー保存の式の3式から
衝突後の2物体の速度という4成分が求まるはずないじゃん。
ゲーム用の物理エンジンでは1成分を勝手に決めてるから計算できてるように見えるだけ。
ちなみに壁との衝突だと壁は動かないから求めるのは2成分だけだな。

できると言い張ってる人たちの特徴:
1.自分で計算しないくせに「計算できる」と繰り返す。
2.根拠を示せと言いつつ自分は示さない。または根拠にならない根拠で威張る。
3.「できないことを鵜呑みにするな」と言いつつ、自分は物理エンジンの結果を鵜呑みにする。
0739名前は開発中のものです。04/11/24 03:01:22ID:23ptainm
衝突後の速度が一意に決められない根拠をもうひとつ出しとこう。
ていうか「質量 異なる 衝突」でぐぐるとトップに出てくる。
計算はおろか検索すら自分ではせずにわめくだけの馬鹿だらけだったってことだな。
ttp://physics.atnifty.com/pdf/970314.pdf

0740名前は開発中のものです。04/11/24 03:08:20ID:23ptainm
考えうる馬鹿たちの反論:
1.「おまえが計算できないだけだろ」(自分が計算できる証拠は出さない)
2.「ハイハイすごいですねえ、わかったからもう寝れば?」(なかったことにしたい)
3.「なに粘着してんのコイツ?」(議論に無関係な非難)
0741名前は開発中のものです。04/11/24 03:47:33ID:UvvY9Sqr
>ゲーム用の物理エンジンでは1成分を勝手に決めてるから計算できてるように見えるだけ。
だからゲーム用なんだから計算できてるように見えればそれで十分だろ。
それで何が問題なの?頭固すぎ。
074273004/11/24 10:49:30ID:BGzjpSUv
解答ね。

>>739のpdfの場合、
質量が異なる「質点」2つの衝突だから衝突後の運動ベクトルが決定できません。

しかし、ゲーム用の物理エンジンでは大きさのある剛体同士の衝突を扱います。
この場合に働く力は衝突面に対して垂直な方向のみなので、力積の方向成分が固定できます。

……質量が同じボールを使うビリヤードの計算でも絶対に必要なんだが。
0743名前は開発中のものです。04/11/24 13:39:47ID:a0LmYeg4
>709の
ttp://homepage2.nifty.com/eman/dynamics/collision.html
をそのまま適用してみた
ttp://venus.aez.jp/uploda/data/dat5/upload11906.lzh
やはり衝突した部分の位置を考慮してないので不自然だな

煽りにくるキチガイはキモイぞ
別に自分が参加するレベルの議論じゃないならわざわざ書き込まなくてもいいだろうに
ただ煽って何がしたいんだ?
自己顕示欲高すぎてキモイ
飲み屋で野球の話してたら、横から絡んでくる知らない酔っ払いオヤジと同じ
まじでキモイ
まぁやろうと思えば確信にさえ触れなければ知ったかぶりで煽ることもできるからな

0744名前は開発中のものです。04/11/24 14:49:38ID:TTB1LYNB
出来る派・・・ゲーム的にごまかしを使えばそれらしく見せる事は出来る。

出来ない派・・・現実に即した正しいシミュレーションは出来ない。

発端となった>>708では「正しくシミュレーション」といっている。
このスレのタイトルは「ゲームのための物理(力学)」。

ここで意見の食い違いがあるのかと。
0745名前は開発中のものです。04/11/24 15:00:32ID:njKhXo8N
>>743
煽りだけど2D処理でしかもかなり不自然なデモをアップするのは
自己顕示欲高すぎてキモイぞ
0746名前は開発中のものです。04/11/24 16:57:00ID:yP2kcf4+
>>742が正解。なんでこんな馬鹿にみんな釣られてるの?
0747名前は開発中のものです。04/11/24 17:08:34ID:yP2kcf4+
もっとも、正確を期すなら
>この場合に働く力
ってのは曖昧すぎるので、反発力とか書くべきだけどな。
他の力が別の方向に働く可能性があるわけだし

で、>>744みたいなのが一番理解できないんだが。>>742のどこにごまかしが?
074873004/11/24 23:03:09ID:V+fZmXPA
>>747
>他の力が別の方向に働く可能性があるわけだし

確かにその通り、サンクス。
ビリヤードで玉・壁間の衝突を正しく扱う場合とか、
摩擦抵抗やスピンまで考えなきゃならないな。

では、名無しに戻ります。
0749名前は開発中のものです。04/11/25 17:11:59ID:4GEarigO
けっきょく「質点」と「剛体」の食い違いってことだな。
どうしてこういう重要なところを放ったらかしてヒートアップするかねえ。

意思疎通できてないのはお互いさまなのに745みたいのはキモイけど
0750名前は開発中のものです。04/11/25 17:12:36ID:4GEarigO
↑失礼、746でした
0751名前は開発中のものです。04/11/25 19:26:22ID:+DfpgIpQ
お互いさまということにしてなあなあで済ませようと必死
0752名前は開発中のものです。04/11/25 21:12:11ID:9UdYl9KC
日本人だなぁ、いい意味でも悪い意味でも
0753名前は開発中のものです。04/11/25 21:26:00ID:G53zbLid
うーん。「自分で計算しろ!」って言ってた人は、自分は計算してなかったって事か?
0754名前は開発中のものです。04/11/26 01:33:59ID:+W34/AGj
>>749
意思疎通も何も、この話題の最初の書き込み(>>708)↓
>質量が異なるボールを使うビリヤードを正しくシミュレーションできるヤツは神

どうやったら質点で考えることなんてできる?馬鹿?それとも阿呆?
0755名前は開発中のものです。04/11/26 01:38:28ID:wGGiDu0g
age
0756名前は開発中のものです。04/11/26 01:39:57ID:+W34/AGj
そもそも質点なんてのは架空世界にしか存在しない便宜上の物体なんだから、
これをもって「現実に即した正しいシミュレーションは出来ない。」とかなんとか書かれちゃあねぇ。
(無論、質点を用いたシミュはゲームでもバリバリ使うよ、と要らん突っ込み回避)

もうなんつうか、なんでこうも自分の非を認めたがらないのか、自己愛に溺れすぎ
0757名前は開発中のものです。04/11/26 20:39:35ID:HB1yypng
夜のピストン運動を定式化してみて
0758名前は開発中のものです。04/11/27 02:18:34ID:NOq5Et9P
>>757
腰だけのモデルだと嫌われるぞ
0759名前は開発中のものです。04/12/03 04:13:40ID:x+C2wiH8
おまいら今すぐNHK教育みろ!
放物運動とか重力とかやってるぞ!!
0760名前は開発中のものです。04/12/03 07:34:22ID:zKBUGhBA
ははははh↑ワラタ
0761名前は開発中のものです。04/12/03 19:58:36ID:XHNPMHRu
普通物理シミュの前に
当たり判定があると思うんだが
おまいらはそこら辺はクリアしているのか?
だとしたら大したもんだ。
0762名前は開発中のものです。04/12/04 01:52:18ID:ceiP9Uwz
微分積分ってゲームではどんな処理の際に必要になるの?
0763名前は開発中のものです。04/12/04 02:03:31ID:ZHmV0htv
微分は力(と加速度)を計算するときに必要
積分は加速度から位置を計算するときに必要
0764名前は開発中のものです。04/12/04 09:54:58ID:fZQouo3W
>>761
PxPが埋まっているわけだから当たり判定には何の問題もないだろ。
0765名前は開発中のものです。04/12/04 12:35:22ID:be3XXiei
PXPってなに?
0766名前は開発中のものです。04/12/05 15:57:46ID:W3qStFtF
>761
あたり判定と一言でいっても色々あるんだが?
0767名前は開発中のものです。04/12/05 19:11:53ID:JV/Jpb+H
全部撃力検出すると重たいよな〜。
0768名前は開発中のものです。04/12/20 21:11:32ID:wFt1s5s/
今月のCマガジンの特集は「物理運動をシミュレーションしよう」だったよage
0769名前は開発中のものです。04/12/29 23:37:07ID:nk/+7ZZX
例によって基本的な話だけだったよsage
0770名前は開発中のものです。05/01/09 21:02:46ID:xBiPAO5G
>>768
題名見て期待したが、中身が無かった。
0771名前は開発中のものです。05/01/10 01:55:22ID:EVrnpuO8
昔のエロスみたいだなw
0772名前は開発中のものです。05/01/10 03:51:06ID:S3FWAeCZ
「はじめてのC」とか書かれた本でドキドキしたりすんのか?
0773名前は開発中のものです。05/01/10 12:37:20ID:GxLJDP2Q
シミュレータ作るためには重要だがゲームでまで現実を再現する必要はないと思った中学生最後の冬
0774名前は開発中のものです。05/01/10 12:51:53ID:csVaX7fm
技術力の弱肉強食
ライオン=3Dゲーム > ガゼル=2Dゲーム
なんでも3Dにしようとする風潮がよくわかるでやんす。

でもワシは個人的に2Dのゲームのほうが好き。
だってディスプレイが平面なんだもん。
0775名前は開発中のものです。05/01/10 14:48:41ID:7bbytFZX
http://superjockey.co.jp/
ここってもうでたっけ。
0776名前は開発中のものです。05/01/11 15:30:16ID:Yfuk15Ok
力学はみんなできんだろ。
波やろうぜ波。
0777名前は開発中のものです。05/01/11 19:52:15ID:m+yetMlH
>>763
サンクス
用途がわかって勉強する気でた
0778名前は開発中のものです。05/01/11 20:10:00ID:0gcMffxM
1.31キタ━━━━━━(゚∀゚)━━━━━━ !!
Newton Game Dynamics
http://www.physicsengine.com/index.html

>>776
Gems1みたいな奴?
0779名前は開発中のものです。05/01/31 02:10:47ID:ywW+fA0q
age
0780名前は開発中のものです。05/01/31 10:53:02ID:VclLi61I
>>776
フライトものの様なカメラの位置取りがあって、かつ低空撮影もありで海面を綺麗に
表示する軽くて綺麗なアルゴリズムキボンヌ

まじめにやると重たいし、ケチると繰り返しが見えるし。
wangマッピングを広い場所でやると死ねるし。
0781名前は開発中のものです。05/02/03 19:06:40ID:cE0xVVd4
A = (c*dt/h)*(c*dt/h)
B = 2 - 4/A

*z = *z + *(z1-1) + *(z1+1) + *(z1-w) + *(z1+w) + B * *z1

みたいな

ΣΣ

みたいな
0782名前は開発中のものです。05/02/03 20:12:24ID:pQfgH6zD
ΣΣ (゚Д゚ )
0783名前は開発中のものです。05/02/11 13:43:57ID:N5YoYx84
Cellの記事読むとPCで物理演算やってるのが虚しくなるな・・・。
SPE×8+PPEはいじってみたいような、デバッグで苦しみたくないような(ーー;)
0784名前は開発中のものです。05/02/12 11:17:03ID:P+o5q8Rr
>>783
例によって高級言語サポート無しなんだろうか?
ついでにパイプラインステージ管理も手か?

0785名前は開発中のものです。05/02/12 21:21:25ID:Zv8BdTLs
>>784
一応あるらしいよ。
ただ手でやった方が速くなるだろうな。
コンパイラが最適化と称して、わざわざ手で最適化した部分を壊しそうだな・・・鬱
0786名前は開発中のものです。05/02/20 16:11:36ID:qqYo8yq9
G5の部分が弱くなっているから、既存のコードは全部パフォーマンス落ちるんでない?
0787学生05/02/27 00:42:14ID:U3WAi3tC
パネキットもどき作ってみました。
http://www.iamas.ac.jp/~takeya04/software.html
の剛体シミュレータです。
0788名前は開発中のものです。05/02/27 02:11:25ID:Mjf2CKiU
ΣΣ (゚Д゚ )
0789名前は開発中のものです。05/02/27 02:24:30ID:6hCJ7N4T
すごい!! よくできてますね。
自分はタイヤの摩擦で頓挫してますorz
0に収束しないで振動しまくりんぐorz
0790名前は開発中のものです。05/02/27 02:32:03ID:pQTNxUtS
バイク無謀だ(゚Д゚ )
0791名前は開発中のものです。05/02/27 03:29:22ID:oownZLCf
ゼロから作ったのかな?
優秀な学生さんだ
ぜひゲーム業界へw
0792名前は開発中のものです。05/02/27 12:40:00ID:igN7+wCs
あげ
0793学生05/02/27 12:53:56ID:U3WAi3tC
ありがとうございます。
バイクはbike.txtをみてわかるように簡単なスクリプトが組んであり、
倒れるよう方向にハンドルを微妙に切るようにしてあります。
うまく最初に速度が乗ればちゃんと走れます。
「R」キーが姿勢リセットになりますので、上矢印を押しながらリセットを
10回ぐらいすると1回ぐらい成功すると思います。
あと「U」が位置・姿勢リセット、「Y」が強制上方向加速、「I」「O」が
ズームイン/ズームアウトになります。
■ このスレッドは過去ログ倉庫に格納されています