トップページgamedev
81コメント32KB

物理演算エンジンってどうやって作るの?

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2007/05/24(木) 19:10:51ID:NTMqyc86
ハーフライフとか、オブリビオンのあれです。

詳しい人教えて
0002名前は開発中のものです。2007/05/24(木) 19:44:52ID:JyJ6yC84
            o
            /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
           /   このスレは無事に  /
           /  終了いたしました    /
          / ありがとうございました  /
          /                /
         /   モララーより      /
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
  ∧_∧  /                /∧_∧
 ( ・∀・) /                /(・∀・ )
 (    )つ               ⊂(    )
 | | |                   | | |
 (__)_)                  (_(__)
0003名前は開発中のものです。2007/05/24(木) 19:45:32ID:JyJ6yC84
\               U         /
  \             U        /
             / ̄ ̄ ヽ,
            /        ',      /     _/\/\/\/|_
    \    ノ//, {0}  /¨`ヽ {0} ,ミヽ    /     \          /
     \ / く l   ヽ._.ノ   ', ゝ \       <   バーカ!  >
     / /⌒ リ   `ー'′   ' ⌒\ \    /          \
     (   ̄ ̄⌒          ⌒ ̄ _)    ̄|/\/\/\/ ̄
      ` ̄ ̄`ヽ           /´ ̄
           |            |
  −−− ‐   ノ           |
          /            ノ        −−−−
         /           ∠_
  −−   |    f\      ノ     ̄`丶.
        |    |  ヽ__ノー─-- 、_   )    − _
.        |  |            /  /
         | |          ,'  /
    /  /  ノ           |   ,'    \
      /   /             |  /      \
   /_ノ /              ,ノ 〈           \
    (  〈              ヽ.__ \        \
     ヽ._>              \__)
0004名前は開発中のものです。2007/05/24(木) 19:46:18ID:JyJ6yC84
________
|              |
|  / ̄ ̄ ヽ,  |
| /        ', |
| {0}  /¨`ヽ {0}, !
|.l   ヽ._.ノ   ', |
リ   `ー'′   ',|
|              |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
5代目住職 ジュウシマツ和尚
0005名前は開発中のものです。2007/05/24(木) 21:31:26ID:+p24wvlY
>>1
まず金子氏のサンプルプログラムとにらめっこをしてみるんだ。
http://homepage1.nifty.com/kaneko/indexp2.htm

それで理解できなければ↓を読むといいだろう。
http://www.rutles.net/books/180.html

ちなみに俺は今から注文してみるぜ。
0006名前は開発中のものです。2007/05/24(木) 22:25:12ID:KUhBCX3E
マジレスするとプログラムと物理をとことんやれば作れる
0007名前は開発中のものです。2007/05/24(木) 22:28:34ID:RPYIiplE
>>5
その本はプログラムで等加速度運動や円運動の
解析解を求めてるだけだったような…

金子氏のサイトを読んでるなら分かってると思うけど
あれは一定の時間刻みで数値積分していく方法で
こういうやり方は上記の本には全く載っていなかったはず

上記の本の内容がゲームと全く関係ないとは言わないけど
この内容なら高校物理の教科書があれば事足りるとも言える
なけなしのお小遣いを使うなら立ち読みして熟考したほうがよい

金子氏のサイトのソースコードについて勉強するなら
数値積分、オイラー法とかのキーワードでぐぐって勉強したほうがいい
お金があるならGame programming Gems5邦訳版がオヌヌメ
0008名前は開発中のものです。2007/05/24(木) 22:36:16ID:RPYIiplE
うわー、ごめん

>それで理解できなければ↓を読むといいだろう。

って書いてたね。>>7は忘れてくれ!
0009名前は開発中のものです。2007/05/25(金) 01:35:55ID:qYBFOqS/
重複じゃボケぇと思ったら物理スレはDAT落ちしてた
ゲームのための物理(力学)
http://pc5.2ch.net/test/read.cgi/gamedev/1018255106/

まぁあれだ
>>1はODEのソースでも読んでろってこった
http://www.ode.org/
0010名前は開発中のものです。2007/05/25(金) 08:15:04ID:yrmuTz/6
>>7
いや、コメントどうもありがとう。
偉そうに書いたけど、おいらは物理詳しいわけじゃないからね。
14歳から〜を出したのは、物理の基礎知識を知りたかったからってのが大きい。
それに硬い文章とか計算式嫌いだし、子供用なら砕いて書いてあると思ったんだ。
ちなみに家の近くの本屋には置いてなかったので、本当に注文してしまった。
Gemsは会社にあるかな。今日見てくるわ。

あと、詳しそうなので聞きたいんだが、金子氏のサンプルにある、
各質点を移動する点と見て自由に移動・質点間の初期距離の維持、のみを交互に繰り返す
というのは一般にゲーム用の物理エンジンには使われている手法なのだろうか?
軽そうなので、自分は携帯用ゲームの物理演算に使っているのだけど、
この手法をベースに使っていると、後々困ることが起きたりするのかと心配なんだ。
>>9のODEのソースも開いてみたけど、その辺の処理をしている部分がどこなのかサッパリ見当が付かなかったよ。
いきなりソースコードから読むのって辛杉だよな。な!
0011名前は開発中のものです。2007/05/25(金) 18:42:59ID:N7du3zg1
数式見ても分かんないと思うが…詳しく載ってても実装技術がないとデバッグの荒らし
0012名前は開発中のものです。2007/05/25(金) 20:54:50ID:NAoHd1NS
ペナルティの良い解説ない?
やっぱspringhead?
0013名前は開発中のものです。2007/05/26(土) 00:18:34ID:ZNEqohM9
>>12
アルゴリズムが知りたいだけなら、
金子氏のソースを見るのが一番早い。

ペナルティー法を知った上で、
いろんな不都合を回避する方法が知りたければ、
実験を積み重ねるしかないんじゃないかなぁ・・・
0014名前は開発中のものです。2007/05/26(土) 04:05:23ID:sb7lydqF
物理わからない自分が最近物理知りたいと思ってちらっと本を覗き見している。
物理てなんかいろいろな数式があるけども、
全てが関連しているわけではなくて、物理の表し方が違って
似たようなことを表すにもいろいろな表現方法があるかんじ?
(この計算方法だと正確な値は取れないが計算が楽とか)

ゲーム開発に必要な物理ってどういう風に学んでいくものでしょうか?
0015名前は開発中のものです。2007/05/26(土) 14:01:47ID:z4eeHnj4
http://www.amazon.co.jp/%E3%82%B2%E3%83%BC%E3%83%
A0%E9%96%8B%E7%99%BA%E3%81%AE%E3%81%9F%E3%82%81%E3
%81%AE%E6%95%B0%E5%AD%A6%E3%83%BB%E7%89%A9%E7%90%86%E
5%AD%A6%E5%85%A5%E9%96%80-Beginning-Math-Physics-Progra
mmers/dp/4797329076/ref=sr_1_1/250-4262830-8714649?ie=UTF8&
s=books&qid=1180155658&sr=8-1
0016名前は開発中のものです。2007/05/29(火) 09:26:10ID:VnmyfgfL
>>15
ゲーム開発のための数学・物理学入門
http://www.amazon.co.jp/dp/4797329076/
ゲームプログラミングのための3Dグラフィックス数学
http://www.amazon.co.jp/dp/4939007375/

前者¥2,940。後者¥7,350。
安物買いの銭失いの典型例
0017名前は開発中のものです。2007/06/02(土) 11:02:20ID:gZfLpyhs
F = ma
0018名前は開発中のものです。2007/07/11(水) 11:24:11ID:wIrlMFaU
ゲームプログラミングのための3Dグラフィックス数学
は第二版も出てるよ。
http://www.amazon.co.jp/dp/1584502770/
しかも、価格: ¥ 4,194 (税込)!
0019名前は開発中のものです。2007/07/22(日) 01:35:22ID:aw8yUdcr
>>5の金子氏のサンプルプログラムを見て感動したんですが、
このサンプルプログラムの解説とかって無いんですか?
ソース見てもいまいちわからないです・・・
0020名前は開発中のものです。2007/07/22(日) 16:09:13ID:HN0dPhlB
見て盗め…職人の世界か;
0021名前は開発中のものです。2007/07/23(月) 15:14:44ID:iE8cLQ4B
いまいち分からない時は答えを見るよりも試行錯誤して自分で
注釈いれていった方がよい。見るだけでは盗めない。
0022名前は開発中のものです。2007/07/23(月) 21:10:04ID:FTmOWAEW
理論は普通に勉強するしかないだろ
0023名前は開発中のものです。2007/08/16(木) 13:10:37ID:Up8TghiG
エンジンではないけど、日本語の本一通り読んだところ次が一番良かった

OpenGLで作る力学アニメーション入門
http://www.amazon.co.jp/exec/obidos/ASIN/4627845618/
0024名前は開発中のものです。2008/01/03(木) 09:49:21ID:H7llSi9X
まだ、金子さんのSampleを色々と見て研究程度だけど、
この分野に興味をもったので保守代わりのあげ・・・・
0025名前は開発中のものです。2008/03/18(火) 15:23:05ID:u4I96gZ5
金子氏のサンプルはさすがに古い。
つか間違ってるな(タイムステップ固定だと問題ないが)
数値積分なんか好きなのを適当に使えばいいけどverlet法がいいと思う。
むしろ物理エンジンはコンストレイント・ソルバーの実装が肝なんだが、CryEngineとか最近のは恐ろしくレベルが高い。
ODEとかBox2Dのソースを読むのはバックグラウンドとなる知識が無いと全く意味が無いぞ。Havokもタダで使えるようになるんだし、それらの使い方を覚えるほうがよっぽど有意義。
それでもあえて自作したいんならbulletのフォーラムを覗いてみるといい。
ゲームメーカーも英語出来ないプログラマの言葉を鵜呑みにして、物理エンジン自社開発とか無謀なことはしないほうがいい。もう追いつけるレベルじゃないから。
0026名前は開発中のものです。2008/03/20(木) 18:26:11ID:63tP/HUb
CryEngineの物理って蟹とか鳥投げると直線にすべて突き抜けてどこかに飛んでいくやつか
0027名前は開発中のものです。2008/03/21(金) 01:26:09ID:wfD8504G
それは物理エンジンに接続するときのバグだろ。
さすがに定常時の人間だの鳥だのはシミュレートしてる訳じゃない。
が、奴等なら5年以内にやる。NaturalMotionのが早いかもしれん。
0028名前は開発中のものです。2008/03/23(日) 22:38:38ID:zyDF2tIq
当たり抜けなのかも。
物理演算エンジンがしっかりしてても、衝突判定がしっかりできていない可能性。
衝突判定なくして物理挙動はできないだろうし。
0029名前は開発中のものです。2008/12/14(日) 18:25:27ID:9afPI2bV
≫25
Bullet等のコンサルティングと言うか受託開発についてはどう思う?
0030名前は開発中のものです。2009/02/06(金) 20:22:48ID:umAojnkV
撃力ベースで物理エンジン作ってるやついる?
■ このスレッドは過去ログ倉庫に格納されています