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

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

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

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

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

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

と表せるよとか。

他にも剛体運動、力積とか語ってください。
0002名前は開発中のものです。02/04/08 17:45ID:???
シェアを持つ物が勝者
0003名前は開発中のものです。02/04/08 18:09ID:???
3
0004NAME OVER02/04/08 18:26ID:F80pG56Y
等速直線運動
x=vt
0005名前は開発中のものです。 02/04/08 18:30ID:???
でも重量加速度は適当な数字にしないとなぁ。
結構悩む。漏れはピクセル単位で動かすとして2ぐらい。
0006ラジャ・ライオン02/04/08 18:37ID:???
>>5

重力加速度は9.8にして、微分すればいいんじゃない?

static double G = 9.8;
static double dt = 1000/30;

double vec;
int y;

while(1)
{
    vec += G*dt;
    y = (int)vec;

}
0007ラジャ・ライオン02/04/08 18:45ID:???
>>6
ごめんなさい、微妙に間違えてた。

static double G = 9.8;
static double dt = 30/1000;

double vec;
int y;

while(1)
{
    vec += G*dt;
    y += (int)vec;
}

でした。
0008名前は開発中のものです。02/04/08 19:17ID:???
いや、9.8じゃ速すぎるでしょう、大抵のゲームでは。
0009名前は開発中のものです。02/04/08 21:06ID:???
萌 = Loli * Sakuratan
0010名前は開発中のものです。02/04/08 21:12ID:???
>>8
馬鹿か?
0011名前は開発中のものです。02/04/08 21:16ID:ooxcCJOI
9.8なんて数字はSI単位系での数値だから
そのままゲームに使おうなんてしたらだめよ
0012名前は開発中のものです。02/04/08 21:19ID:???
>11
(゚Д゚)ハァ?
0013名前は開発中のものです。02/04/08 21:19ID:???
剛体力学ならbaraff氏の&それをわかり易く解説した人のとこ見れば
足りると思うし、流体とかもそれなりに資料は集まると思う(タダで)

ネタとしては、それをどうゲームに使うかって事のほうが良くない?
負荷を考えたら、やっぱインチキが必要になるでしょ
0014名前は開発中のものです。02/04/08 21:21ID:???
>>11
馬鹿再来?
0015名前は開発中のものです。02/04/08 21:33ID:???
物理定数の具体的な数値がいくつかなんて単位系によるってことをいってるだけなんだけど。
まぁ変換すればいいだけなんだけどさ。

インチキを入れたほうが面白いことも多々あるから
結局その辺は調整しないといけないでしょ
0016ラジャ・ライオン02/04/08 21:37ID:???
>>11
論理座標とスクリーン座標を一致させずに分けて考えればよいかと。
0017名前は開発中のものです。02/04/08 21:47ID:???
つまんねースレだな
0018名前は開発中のものです。02/04/08 22:00ID:???
これすごいよ。

ttp://homepage1.nifty.com/kaneko/nfight.htm

IKでリアルタイムにモーション生成してる。
すごいんだけど、動きが酔拳みたくなってワラタ。
00191302/04/08 22:27ID:???
>>18
すごいよね
作者も”力学的な処理をまじめにはしてない”って書いてたと思うけど、
まじめな処理した物より面白くなりそう

それ以前に、現状で人間の動きをまじめにシミュレートできるんだろーか
0020ラジャ・ライオン02/04/08 22:43ID:???
>>18 >>19

すごいなぁ。
やっぱり物理計算したゲームは創造主の想像を超える動きをしてくれる
ところが醍醐味だね。
0021名前は開発中のものです。 02/04/08 23:17ID:???
>>18
すげぇな。
なんか股ひろげておねだりしてたよ。(藁
0022名前は開発中のものです。02/04/09 01:25ID:???
>>1
スッとそれが出てくる貴方が正直羨ましい。
とりあえず積ん読状態のファインマン物理学読むべ……。
0023名前は開発中のものです。02/04/09 08:56ID:???
重力加速度が9.8だと、あっというまに画面外にでちゃうよ。
0024名前は開発中のものです。02/04/09 09:16ID:???
23の脳内では
 1dot=1m
になっちゃってると思う人手を上げて。
0025名前は開発中のものです。02/04/09 09:19ID:???
>>18
せめてG=9.8ならもう少しおもしろいかも
中身はしらんが発散あぼーんかな
0026名前は開発中のものです。02/04/09 09:20ID:???
>1dot=1m
これじゃなかなか外にでんな
0027名前は開発中のものです。02/04/09 09:35ID:???
人間を演算だけで表現するのはかなりきつい
二足歩行のロボットを作るのが難しいのが良い例

「物理シミュレーション」じゃなく「ゲームの為の物理」なんだから
力学とかの概念だけ取り入れて、定数や変位値は、ゲームに合わせるということで
0028名前は開発中のものです。02/04/09 09:52ID:???
処理が重くなるっていうのが欠点だね
ゲームはそれっぽく見せればいいんじゃない?
0029名前は開発中のものです。02/04/09 10:08ID:???
>>7
無限ループじゃない?
0030名前は開発中のものです。02/04/09 10:55ID:6SoStWaA
ところで連立方程式の解法には何を使いますか?
消去法,ヤコビ,SOR,ADI,CGなどなど

でICCG(不完全コレスキ―分解付き共役勾配法)の参考図書,HPきぼん
0031名前は開発中のものです。02/04/09 11:13ID:???
ひさびさ、良スレのよかんぬ
0032ラジャ・ライオン02/04/09 12:21ID:???
>>23
重力加速度9.8だからといってって1フレームに9.8足してない?
あれは1秒間に9.8すすむんであって、秒間30フレームなら微分しなきゃだめだよ。

>>7
簡単な説明ということで無限ループにしました。

>>30
連立方程式は行列で解けたと記憶していてます。
それが高速かどうかは知りませんが・・・
0033名前は開発中のものです。02/04/09 13:43ID:???
相変わらずレベルの低いスレだな
0034名前は開発中のものです。02/04/09 14:40ID:LKMiCXFg
最初に出た斜面の質問です。
質量M、半径R、斜面θを距離Lを転がり落ち、のちに水平の面を転がりました。
その球は水平面をどのくらいの距離を転がるかって処理なんですけど、どのように実装
すればよいかわかりません。

ちなみに球の密度は一様と考えて慣性モーメントはI=(2/5)MR^2で、球は滑ることはなく必ず転がります。
0035名前は開発中のものです。02/04/09 16:00ID:???
空気抵抗とか摩擦熱とか
0036名前は開発中のものです。02/04/09 16:08ID:???
>>34
空気抵抗がないとずっと止まらないよ。
0037名前は開発中のものです。02/04/09 16:12ID:???
転がり摩擦もあるよ
0038ラジャ・ライオン02/04/09 16:36ID:qN7gQbnA
>>35 >>36
空気抵抗がないと止まらないんですか?
空気抵抗はなしと考えていたんですが・・・

>>37
ころがり摩擦はあるものとします。
0039ラジャ・ライオン02/04/09 16:47ID:???
書き忘れました、ラジャライオン=34です、会社からだったんでクッキーの設定が・・・
0040名前は開発中のものです。02/04/09 16:54ID:???
エネルギー保存則を守れば、位置エネルギーから変換された運動エネルギーをまた何らかの形で他のエネルギーに変換しなくてはならないんでは
0041名前は開発中のものです。02/04/09 17:04ID:???
だから、空気抵抗と摩擦によって熱エネルギーに変換されるんだってば
004240=3502/04/09 17:08ID:???
38に言ってるんだYO...
0043ラジャ・ライオン02/04/09 17:41ID:???
会社で調べた事を書きます。

I=(2/5)MR^2 ・・・球の慣性モーメント
dV/dt = 5*g*sinθ/7・・・球の加速度(1さん参考)
V = Rω ・・・角運動量(滑りがないので)

で、斜面での転がり摩擦が

F = I/(MR^2+I) Mg sinθ

慣性モーメントがI=(2/5)MR^2なんで、整理して

F = (2/7) Mg sinθ

となる。
で、平面の転がり摩擦が

F2 = μR*G*M*V

とあるんですが、慣性モーメントが関係してないような・・・
0044名前は開発中のものです。02/04/09 18:03ID:???
>>38
球と接着してる面との摩擦抵抗、それに空気抵抗がないと永遠に転がり続けるよ

>>43
最初に変数の説明を入れると内容が整理されて式の意味を理解できると思うよ
0045名前は開発中のものです。02/04/09 19:37ID:???
8 != 11 です。

格闘ゲームやジャンプアクションなどではちゃんと微分して
単位系を合わせた状態でも9.8では大きすぎることが多い、って
ことが言いたかっただけです。

車ゲーでも小さくしてるのが多いし、スト2に至ってはキャラ毎に
重力定数が変わる始末。
0046名前は開発中のものです。02/04/09 20:03ID:???
>>45
アホだねー
0047名前は開発中のものです。02/04/09 21:21ID:3EOUhYdw
8!=40320
0048名前は開発中のものです。02/04/09 21:25ID:???
45は書けば書くほど更なるDQNをさらけ出している
0049名前は開発中のものです。02/04/09 21:31ID:???
正直、どちらがよりDQNかは判断が難しい
0050名前は開発中のものです。02/04/09 21:51ID:???
>>49 禿同。
キャラクタの身長を実寸大(1.8m程度)にして実時間で計算すると、
重力定数が9.8では確かに大きすぎて、ゲームにならない。
よって、DQNは46と48に決定。
0051名前は開発中のものです。02/04/09 22:00ID:???
50は49の真意を勘違いしているに400ワット
0052名前は開発中のものです。02/04/09 22:02ID:t.HmzG4A
ヴァカ45が自作自演してるのか?
なぜDQNとかアホとか書かれるかわかってるか?
0053名前は開発中のものです。 02/04/09 22:02ID:???
>>47
8! = 8*7*6*5*4*3*2*1 = 11じゃなくて
8 ≠ 11じゃないの?
00545102/04/09 22:05ID:???
>>52
そーゆー脊髄反応的な態度自体はDQNだと思うに400ジーメンス
0055名前は開発中のものです。02/04/09 22:20ID:???
どうでもいいけど、論理座標の単位って普通 [m] で取るもんなの?
0056名前は開発中のものです。02/04/09 22:20ID:???
格ゲーとかが重力定数が9.8だと速すぎとかいう意見は、物理スレではスレ違い
なのでどちらでもいいと思う。
格ゲーとかのジャンプとかは物理じゃなくて移動手段。
だから物理の話をしようよ。
0057名前は開発中のものです。02/04/09 22:29ID:???
純粋に物理学的に考えても、フィクションなゲーム世界全てで重力定数がある一つの値である必要も無いだろうけどねぇ.....
個人的な趣味で言えば、十分に実世界に近い、身近さ、リアリティを感じられる仮想世界を基本として、その上で非現実を擬似体験した気分になれるゲームで遊んでみたいななな。
0058名前は開発中のものです。02/04/09 22:36ID:???
たしかにゲームバランスや処理速度などを取るには
多少は犠牲にしないとねェ。
マリオ3の敵踏んで大ジャンプする時
上昇中に加速したもんなぁ。(w
でもたいした違和感は感じなかった。

でも逆にこんなゲームもあった。
なかなか面白い発想。作った人は結構すごいと思ふ。
http://www.albinoblacksheep.com/flash/spacedpenguin.html
0059名前は開発中のものです。02/04/09 22:42ID:???
重力加速度が9.8じゃ大きすぎるとこのスレで書いているのは本当の馬鹿だと思われ。
さらになんの脈絡も無しに格ゲーに完全限定したことを論点にしているところもその馬鹿さの所以。
0060名前は開発中のものです。02/04/09 23:19ID:???
       / ̄ ̄ ̄ ̄ ̄\
       |  おまえらも |
  ∩_∩  |          |
 (´ー`) <  暇な奴ら   |
 (   )  |          |
  | | |   |  だなぁ    |
 (___)__)  \_____/
00611302/04/09 23:32ID:???
>>58
226410点(ボーナスあきらめてクリア)
星が動いてると運まかせな感じ
動かないとメリハリが無くなるか…

定番だけど、
ttp://cgi3.tky.3web.ne.jp/~tkano/
の、RigidBodyは良い
0062名前は開発中のものです。02/04/09 23:34ID:???
>>59
単位も含めて考えるといいと思うよ
数字だけでやると勘違いする場合が多い
0063名前は開発中のものです。02/04/09 23:40ID:???
>62
(゚Д゚)ハァ?
0064名前は開発中のものです。02/04/10 00:00ID:???
約一名中学生@62が混ざりこんでるようで
0065名前は開発中のものです。02/04/10 00:02ID:???
どっちがどっちなんだか
00665802/04/10 00:08ID:???
>>61
まぁ、おもしろさどうのこうのよりも発想ね。
あれは重力加速度なんてバラバラなんだし。(w

[RigidBody]
なかなか。リアルなぶん重くなる罠。
リアルなビリヤードゲームでないかぎり
あういう細かいのは切り捨てないと。
0067名前は開発中のものです。02/04/10 00:13ID:???
このスレは各個人の味付けで決定できる単位をこれでは大きすぎると言うスレですか?
というか、高校物理レベルの話をさもスゴイことのように話すスレですか?
0068名前は開発中のものです。 02/04/10 00:19ID:???
>>67
さぁ?一部の厨房がお互いに煽ってるだけなんじゃない?
まぁ、無視しとこうや。
0069名前は開発中のものです。02/04/10 00:21ID:???
高校レベルということもないのだがそれはさておき
0070名前は開発中のものです。02/04/10 00:32ID:???
今読みなおしてみたけど8と11が主張していることは相当ドキュソだな・・・。
つーか68は8か11のどちらかのような文の書き方だな・・・。
00716802/04/10 00:42ID:???
いや、正直どっちでもないよ。
■ このスレッドは過去ログ倉庫に格納されています