ゲームのための物理(力学)
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
02/04/08 17:38ID:dlksSYkA例えば、坂道を転がる球の加速度だったら。
その球の密度が一様ならば、慣性モーメントは(2/5)MR^2なので
dV/dt = 5*g*sinθ/7;
と表せるよとか。
他にも剛体運動、力積とか語ってください。
0053名前は開発中のものです。
02/04/09 22:02ID:???8! = 8*7*6*5*4*3*2*1 = 11じゃなくて
8 ≠ 11じゃないの?
0055名前は開発中のものです。
02/04/09 22:20ID:???0056名前は開発中のものです。
02/04/09 22:20ID:???なのでどちらでもいいと思う。
格ゲーとかのジャンプとかは物理じゃなくて移動手段。
だから物理の話をしようよ。
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:???さらになんの脈絡も無しに格ゲーに完全限定したことを論点にしているところもその馬鹿さの所以。
0060名前は開発中のものです。
02/04/09 23:19ID:???| おまえらも |
∩_∩ | |
(´ー`) < 暇な奴ら |
( ) | |
| | | | だなぁ |
(___)__) \_____/
006113
02/04/09 23:32ID:???226410点(ボーナスあきらめてクリア)
星が動いてると運まかせな感じ
動かないとメリハリが無くなるか…
定番だけど、
ttp://cgi3.tky.3web.ne.jp/~tkano/
の、RigidBodyは良い
0062名前は開発中のものです。
02/04/09 23:34ID:???単位も含めて考えるといいと思うよ
数字だけでやると勘違いする場合が多い
0063名前は開発中のものです。
02/04/09 23:40ID:???(゚Д゚)ハァ?
0064名前は開発中のものです。
02/04/10 00:00ID:???0065名前は開発中のものです。
02/04/10 00:02ID:???006658
02/04/10 00:08ID:???まぁ、おもしろさどうのこうのよりも発想ね。
あれは重力加速度なんてバラバラなんだし。(w
[RigidBody]
なかなか。リアルなぶん重くなる罠。
リアルなビリヤードゲームでないかぎり
あういう細かいのは切り捨てないと。
0067名前は開発中のものです。
02/04/10 00:13ID:???というか、高校物理レベルの話をさもスゴイことのように話すスレですか?
0068名前は開発中のものです。
02/04/10 00:19ID:???さぁ?一部の厨房がお互いに煽ってるだけなんじゃない?
まぁ、無視しとこうや。
0069名前は開発中のものです。
02/04/10 00:21ID:???0070名前は開発中のものです。
02/04/10 00:32ID:???つーか68は8か11のどちらかのような文の書き方だな・・・。
007168
02/04/10 00:42ID:???0072名前は開発中のものです。
02/04/10 00:43ID:???加速とかさせたい時とか、数学チックな処理をしたいときは大体○○の何乗とかだけ合わせて、定数は適当に調整するようにしてる。
それっぽく動いて、ゲームとして良い感じなら別に何でもいいかな、と。
シミュレーションしてるわけじゃあるまいし。
手から波動を出す事が許されて、重力が半分の大きさになるのが許容されないなんて言わないよな?
007311
02/04/10 00:43ID:???・9.8という数字はあくまでSI単位系での数値9.8m/s^2のことである
・さらにいえば地球の地上付近での値なので、例えば月面での値は9.8m/s^2ではない
・そもそもゲームではちゃんと現実をシミュレートする必要がない場合が多い。というかほとんど。
ってことを言いたいだけなんだけど。
>>11は違うこといってるじゃんっていうのだったらそれは表現がまずかったと謝る。
こんなこと正直どうでもいいと自分でも思うけど、まぁ一応。
0074名前は開発中のものです。
02/04/10 00:54ID:???0075名前は開発中のものです。
02/04/10 01:06ID:???007613
02/04/10 01:31ID:???http://www.geocities.co.jp/SiliconValley-Oakland/3068/
動かなかったらゴメソ
"宣伝ウザ"とか"荒らし依頼?"とかレスつきそうで、ちょっとドキドキ
0077名前は開発中のものです。
02/04/10 01:39ID:???何を試すんだ?
うごきゃオッケってこと?
007877
02/04/10 01:48ID:???AthlonXP1800+,GeForce3Ti500,Win2K,DirectX8.1で動作。
007913
02/04/10 01:54ID:???ありがと
自分が、AthlonXP1700,GeForce3Ti200なんで 完全上位互換な環境ですね
できたら、GF2とかATIとかの人にも…
操作のしやすさまで、気がまわりませんでした(汗
008077
02/04/10 02:13ID:???ココラヘンの方がいいんじゃ無い?
>ttp://game.2ch.net/test/read.cgi/gamedev/1005143186/
あと,終了がESCだと思ったら違ったのでナエたのと,Windowモードなのに
マウス占有はヤメレ(;´Д`)
008113
02/04/10 02:21ID:???そこは、完成度何%って書くのが義務みたいなので躊躇してたり…
ESCで終了が一般的ですね、立ち上げてすぐ終了ってケースが多く
遠いキー使うのが嫌いなのでENTERにしてました
ESCでも終わるようにしとこ(w
008277
02/04/10 02:25ID:???>ESCでも終わるようにしとこ(w
是非w
0083名前は開発中のものです。
02/04/10 07:14ID:???でも、人間が心地よいと思う動きは神様が創ったルールに即したものでは
ないと思うのだ
RigidBodyを見てなお心が揺れない想像力貧弱な自分は、転職でも考えようかな。
地球とは違う秩序ある法則に基づいた仮想ブツリ空間を作ったとして、
一体、そこで何をしよっかな。
こんな箱があったらいいなぁ、ではなく、これを入れたいからこんな箱を
作りたいなーくらいの気持ちがないと駄目かなぁ
次世代ハードとおんなじだね
実際、手にしても持て余しそう。
ま、持て余すおいらみたいな人間は、3Dオヤジで終わるか。
50歩100歩。2D爺3D爺。
負け組みは終了と
0084名前は開発中のものです。
02/04/10 09:18ID:lDfZ/TIk2行目以降読んでいないので何が言いたいのかわかりません。
1行で書いてください。
0085名前は開発中のものです。
02/04/10 10:29ID:???要するに何を見てももう何も感動しなくなってしまった。
もうゲーム作るのはやめるか。ってことじゃない?
0086名無しさん
02/04/10 13:10ID:???0087名前は開発中のものです。
02/04/10 13:10ID:???そして「格ゲーとか重力加速度を調整する」という意見も正しい。
しかし、ここは物理スレであって、そういう意見は意味がない。
どうでもいいけど、慣性モーメントは高校物理じゃなくて大学でやるものだよ。
0088ななし
02/04/10 16:45ID:FEP6Ot261.摩擦により動かない。
2.斜面を転がらずにすべる。
3.斜面を転がりおちる。
この3つの境界線ってどうやって求めますか?
また、加速度はどうやってもとめますか?
0089名前は開発中のものです。
02/04/10 17:16ID:???サイコロの重さから斜面に水平な力をだして最大摩擦力と比べる。
角度が45゚以下の時は最大摩擦力の方が小さければすべる。
そうでなければ動かない。
角度が45゚以上の時は最大摩擦力の方が小さければ転がる。
そうでなければすべる。
こんなところかな。あまり自信ないけど。
でもスゴロクのサイコロなら適当なサイコロの転がる
アニメーションを作って最後にどれだすか乱数で決めれば良いと思われ。
0090名前は開発中のものです。
02/04/10 17:17ID:???角度が45゚以上の時は最大摩擦力の方が小さければすべる。
そうでなければ転がる。
に訂正。
0091名前は開発中のものです。
02/04/10 17:59ID:???でも、加速度と摩擦の関係で速度が速ければサイコロは45度以下でも
転がるような・・・
0092名前は開発中のものです。
02/04/10 19:51ID:???0093名前は開発中のものです。
02/04/10 22:44ID:???同感だが速度は関係ないナリ
0094名前は開発中のものです。
02/04/11 00:50ID:???G=9.5m/s^2を使う人はまったくわかっていない厨房、死んだほうがましです。
0095名前は開発中のものです。
02/04/11 01:16ID:???0096名前は開発中のものです。
02/04/11 01:43ID:???0097名前は開発中のものです。
02/04/11 02:10ID:???0098名前は開発中のものです。
02/04/11 05:48ID:???G=9.2m/s^2を使う人はまったくわかっていない厨房、死んだほうがましです。
0099名前は開発中のものです。
02/04/11 06:13ID:???分かるんだけどさ、そうでない物体はどうやって求めるのさ?
例えばさ、車だとか。
全て質点が一様に詰まっていて、しかもプリミティブな形状だけが
慣性モーメントの式が与えらてるだけじゃさ、なにかと不自由だと
思うわけね。だってそんな物体、日常生活じゃ稀じゃん?
車にしてもね、中、スカスカだしーぜんぜん質点が詰まってないから
重心がどうとかって次元が別の話なのか?ってね
思うんだけどさ、良くHPや教科書なんかで紹介されている剛体力学じゃ
車を転がすことはできねーんじゃねーの?と邪推してみたけど、どうよ?
0100名前は開発中のものです。
02/04/11 06:48ID:???ネタですか?
0101名前は開発中のものです。
02/04/11 07:56ID:???その教科書は小学生用なのでちゃんとしたものを手に入れたほうが良いですよ。
0102名前は開発中のものです。
02/04/11 12:54ID:???点を詰める?んじゃなくて物体を点に置き換えるのでは?
現在ゲームで超リアル!といわれているものが納得いかないなら
有限要素法を使うことをお勧めします。ゲームになりませんが。
0103名前は開発中のものです。
02/04/11 13:01ID:???0104名前は開発中のものです。
02/04/11 14:42ID:???慣性モーメントの合成(ボソッ
0105名前は開発中のものです。
02/04/11 14:54ID:Ao5ZUcTMだから、どんな形のものも慣性モーメントを求めることは可能。
0107名前は開発中のものです。
02/04/11 19:04ID:???0108名前は開発中のものです。
02/04/11 19:30ID:???あのさー、慣性モーメントうんぬんは大した問題でもないし
リアルに再現することは比較的簡単だ
1dもある車体に数〜数十`程度の足回りを剛性が馬鹿でかいバネで繋いだり
タイヤと路面の複雑な摩擦状態をシミュレートしたり・・・
思うんだけどさ、良くこのスレや物凄い勢いスレなんかで罵倒されている厨房じゃ
車を転がすことはできねーんじゃねーの?と邪推してみたけど、どうよ?
0109名前は開発中のものです。
02/04/11 22:34ID:FH0jENaI↓
http://yasai.2ch.net/test/read.cgi/doujin/1016348976/187
おまえら、昨日はおおもり先生の絵に血文字書き込んでうれしそーにいろんな伝言板に晒したりしてたな。
うれしそーに。
しかも、1日たっても「そのくらいなんてこたねーよ」というような雰囲気。
非難する奴も誰ひとりとしていないとはな。
おい、こんな事が許されることだと思うなよ。
その後のおおもり先生の鬱はいった発言をコピペしてまた叩いてたが
おまえらな、自分が苦心してやっと描き上げた絵をアップした直後にあんなことされたらどう思うよ?
相当ショックだぞ?
ショックこらえて書き込んだ発言も、散々揚げ足取ってコピペして晒しまくりかよ。
しかもお前等ほとんどなにがしかの物創る仕事してるらしいな…。
テメェらの血の色は何色だ!?ふざけるな!いい加減にしろ!!
いますぐNHKみれ!
少なくともおおもり先生を語る資格はない。
…とんでもない。最低の奴らだ。
同人板、コミケ、オタク業界…いやもう日本から出て行け!
お前等みたいなクズ共と同じ世界にいると思うだけで反吐が出る。
韓国でもコミケのような大規模な即売会やってるらしいからそっちいけ。
おおもり先生もこんなクズ共に延々と張り付かれて…かわいそすぎ。
これで気が狂わない方がおかしい。
0110名前は開発中のものです。
02/04/12 00:59ID:???0111名前は開発中のものです。
02/04/12 01:28ID:???速すぎます。
9.7999999にしないとダメです。
0112名前は開発中のものです。
02/04/12 02:16ID:arFX6iCs空気抵抗を完全にシミュレートしてないからだよ、チミ。
0113名前は開発中のものです。
02/04/12 04:46ID:gIjeslsM>vec += G*dt;
>y += (int)vec;
重力加速度は加速度であって、1秒間に9.8m落ちるんじゃない。
落下位置はy = G * t * t /2で求めるんだよ。
0114名前は開発中のものです。
02/04/12 05:00ID:???0115名前は開発中のものです。
02/04/12 06:02ID:???オマエ3D系のスレにいつもいるな。
0116名前は開発中のものです。
02/04/12 06:55ID:???0117名前は開発中のものです。
02/04/12 10:12ID:???単位も含めて考えないと間違いますよ
日本語で言えば9.8メートル毎秒毎秒です
0118名前は開発中のものです。
02/04/12 11:34ID:???1フレームは16msという罠
0119ラジャ・ライオン
02/04/12 14:27ID:???>落下位置はy = G * t * t /2で求めるんだよ。
それじゃ、その公式でGを9.8として1秒単位で0〜5秒までの落下位置を求めてください。
0, 4.9, 19.6, 44.1, 78.4, 122.5
となります、この数列を移動ベクトルとして考えます(v = t - (t-1))
4.9 14.7 24.5 34.3 44.1
これで初項4.9、公差9.8の等差数列になりました。
0120名前は開発中のものです。
02/04/12 18:16ID:???0121名前は開発中のものです。
02/04/12 18:55ID:???不毛なのは、お前だという罠
0122名前は開発中のものです。
02/04/12 20:59ID:???0123名前は開発中のものです。 野望
02/04/12 21:16ID:???0124名前は開発中のものです。
02/04/12 22:30ID:???空気抵抗による終端速度はほとんど関係ないだろ。
0125名前は開発中のものです。
02/04/12 22:45ID:???ビルくらいの高さから落ちるだろう。
落ちる距離がなければその分軽いものが多いだろうし。
何落としてるかは知らないけど。
0126名前は開発中のものです。
02/04/14 05:42ID:???>だから、どんな形のものも慣性モーメントを求めることは可能。
んなことは、分かーてるよ。
けど、それをどうやってスキャンすんの?って話でわ?
0127名前は開発中のものです。
02/04/14 15:29ID:???行うときに、交点が三角形の中にあるかどうかだけ判断したのではエッジ近辺で
めり込みが起こってしまう。
めり込みを防ぐために球とエッジ+頂点の当たりを取ると、今度は三角形を
二つ合わせた平面の継ぎ目近辺でエッジに変な判定が発生してしまう。
大した問題ではなかったので今までは無視していたのですが、なにか良い
解決方法はないでしょうか?
そもそもゲーム向け力学計算といっても、面倒なのは力学そのものよりも
むしろ接触判定にあるような気が。
0128名前は開発中のものです。
02/04/14 15:40ID:J0CwLCtsあげ。
慣性モーメントは質力×半径(質点)だから、物体を細かく分けて考えればよい。
中心点から質点の距離(半径)は三平方の定理で求められるよね。
0129名前は開発中のものです。
02/04/14 15:52ID:J0CwLCts3角形と円の当たり判定は、3角形の3頂点と円の当たり判定(3平方の定理)
を判定して、当たってなかったら線分と円の当たり判定をすればよいと思う。
ちなみに線分と円の当たり判定は、円の中点Pにもっとも近い直線上の点H
を求めて、その2点を3平方の定理にぶち込めばOK。
もっと簡単な方法があるかもしれないから幾何に詳しい人補足プリーズ。
0130129
02/04/14 15:58ID:J0CwLCtsじゃあ、法線ベクトルを求めて、3角形と点の内外判定をすれば?
もちろん、3角形は円の半径分大きくしてね。
0131名前は開発中のものです。
02/04/14 16:59ID:???0132名前は開発中のものです。
02/04/14 17:51ID:YJV4FsYY禿同あげ
0133名前は開発中のものです。
02/04/14 18:54ID:???一流企業の就職筆記試験にでるのは、この3つだからね。
0134名前は開発中のものです。
02/04/14 19:15ID:???線と点の距離、面と点の距離で判定をするんじゃだめなの?
高校二年の教科書に載ってるよ。
0135名前は開発中のものです。
02/04/14 19:37ID:???if(面と球の中心の距離<=球の半径){
if(垂線の足が三角形に含まれる) return true;
}
for(i=0;i<3;i++){
if(辺と球の中心の距離<=球の半径){
if(垂線の足が線分に含まれる) return true;
}
}
for(i=0;i<3;i++){
if(頂点と球の中心の距離<=球の半径) return true;
}
return false;
その条件で、接触判定する(真偽を得る)だけならこれで良さげ
"変な判定"が何なのか謎
0136名前は開発中のものです。
02/04/14 19:40ID:???2ch初心者なの丸出しじゃん!
0137127
02/04/14 20:05ID:???ソースまで出してもらって感謝です。
こちらの実装も、処理の流れは>>135とほぼ同じです。
接触判定の真偽値自体には問題はないです。
問題なのは、その後の計算のために法線を取り出すのですが、辺と頂点に
当たったときには接触点から球の中心に向かうベクトルを法線としています。
三角形1枚ならそれで問題ないのですが、2枚以上並べたときの継ぎ目で
球がわずかでも面にめり込んでいるときには、もう1枚の三角形の辺に
斜めから当たったとみなされる場合があります。
三角形の継ぎ目を低速で転がって通過しようとしたときに稀に発生します。
計算の都合で面へのめり込みを許容しているので、このような場合の良い
回避方法が思いつかないです。
言葉足らずで失礼しました。
0138名前は開発中のものです。
02/04/14 20:24ID:???角と円と法線のことをもう一度よく考えてから発言してみてください。
つーかアホか?
0139135
02/04/14 21:06ID:???135のやり方は、球・三角形ともに停止していて、
その後の補正を考えない場合にしか使えません
球が移動しているなら、移動前の球→移動後の球をカバーするような
カプセルで考えないと破綻するはず
0140名前は開発中のものです。
02/04/14 21:16ID:???とりあえずなんでもいいから適当な図でも描いてくれれば
コメントしやすいと思うが。AAでもいいし、画像なら
その辺のあぷろだに うpしてリンク貼るとかさ。
0141名前は開発中のものです。
02/04/14 21:37ID:???線分と円の中心の距離が円の半径よりも小さくなったらそれは接触しているということだろ?
その法線は線分に直角な円の中心点を通る線だろ?
これ二次元ならば中学生の数学。
0142127
02/04/14 21:57ID:???>>139
単純に、めり込んだ量に比例して押しかえすやり方で跳ねかえりを計算してるので
そのような処理になっています。
>>138から判断すると、
球が辺に接触していると判断されたときにどの方向に跳ね返せば良いのか、
を間違っているか、そもそもめり込みを許容していること自体が問題である、
という事でしょうか?
複数のポリゴンに同時に当たった時に、逐次、見つかった順に計算しているのも
問題かもしれないですが。
剛体の計算自体は本を見ればいくらでも資料がありますが、接触判定のアルゴリズムに
なるといい資料が少なく、試行錯誤中です。
0143127
02/04/14 22:09ID:???>線分と円の中心の距離が円の半径よりも小さくなったらそれは接触しているということだろ?
>その法線は線分に直角な円の中心点を通る線だろ?
137の「接触点」という言い方がまずかったのかもしれませんが、
「接触点から球の中心に向かうベクトル」が線分と直行しているので
その点については間違っていないかと。
とりあえず、三角形1枚との当たりに関しては、問題なく動いています。
2枚が隣接していても、実用上問題ないレベルで、大抵の場合は上手く動いています。
ただ、もっと良いやり方があるなら知りたい、と。
0144名前は開発中のものです。
02/04/14 22:12ID:???物理の授業で一番最初にやるはねかえり使ってやった方が簡単だし確実。
0145名前は開発中のものです。
02/04/14 22:15ID:???もっと良いやり方→補正
0146名前は開発中のものです。
02/04/14 23:11ID:???どんな処理するために3角形使ってるかわからないんだけどさ。
3角形を隣接させるってどういうこと?
本当に3角形でいいの?本当は凸角形の当たり判定でいいんでなくて?
0147135
02/04/14 23:31ID:???平行移動・回転する任意形状の剛体が多数ぶつかり合うケースまで考えると、
すごく重いので、いまだに試行錯誤中って事になります(w
辺との判定をoffにしたら、その坂のポリゴンの継ぎ目で、
・すり抜けることがある→「交点が三角形に含まれるか否か」で判定ミス
・問題無い→誤差のせい
と予想
0148135
02/04/14 23:42ID:???0149名前は開発中のものです。
02/04/14 23:47ID:???なんでそれを思いつかないんだろうか?
0150名前は開発中のものです。
02/04/14 23:56ID:YJV4FsYY127は剛体とか言ってるので跳ね返りでやるといろいろ問題多いよ
単純にペナルティ法使ったほうが楽なこともある
0152名前は開発中のものです。
02/04/15 00:08ID:???サイコロを転がすならいいが
棒とか面につきさすような感じでぶつかって来たらどうする?
■ このスレッドは過去ログ倉庫に格納されています