トップページgamedev
1001コメント329KB

C/C++ゲーム製作総合スレッド Part5

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2014/01/16(木) 00:00:31.27ID:w6WW3hAo
ゲーム製作におけるC/C++全般に関するスレです。

元スレ
DXライブラリ 総合スレッド その17
http://toro.2ch.net/test/read.cgi/gamedev/1383795645/

前スレ
C/C++ゲーム製作総合スレッド Part1
http://toro.2ch.net/test/read.cgi/gamedev/1337516528/
C/C++ゲーム製作総合スレッド Part2
http://toro.2ch.net/test/read.cgi/gamedev/1351015269/
C/C++ゲーム製作総合スレッド Part3
http://toro.2ch.net/test/read.cgi/gamedev/1357899040/
C/C++ゲーム製作総合スレッド Part4
http://toro.2ch.net/test/read.cgi/gamedev/1376262450/
0280名前は開発中のものです。2014/03/07(金) 21:28:42.22ID:EnJ3GPFi
>>279
見た目はそうだけど、例えば 当たり判定があるなら、見えない部分でも計算処理がなされる。
0281名前は開発中のものです。2014/03/07(金) 21:44:38.99ID:Gh0ocgNA
だから、それに何か意味があるのか?
フレーム飛ぶだろ。
0282名前は開発中のものです。2014/03/07(金) 21:54:40.27ID:5nTupHrf
裸の王様的当たり判定
0283名前は開発中のものです。2014/03/07(金) 22:08:10.09ID:7HkmM3vq
>>281
あくまで精度を高めるための処理であって、フレーム飛ぶとかは関係なくね?

よくあるネタとして、毎フレーム32ドットで飛んでいく弾丸は、
大きさ30ドットの敵キャラをすり抜けちゃうとか、そういうやつ。
0284名前は開発中のものです。2014/03/07(金) 22:42:09.70ID:fjndePR8
そういうやつで、あんなやつで、いいかんじに、そんなかんじみたいな?
0285名前は開発中のものです。2014/03/07(金) 22:50:16.12ID:fjndePR8
画面は秒間60回、ロジックは秒間100回更新するより時間差分を使うほうが
一般的じゃないかな。アニメーションなんかでは。

ちなみにマウスを使ったお絵描きソフトをつくると60FPSでは
線が途切れてしまうわけだけど、こちらでは更新回数を増やすのではなく
前回の座標と今回の座標の差分から埋め合わせを計算するのが普通。
0286名前は開発中のものです。2014/03/07(金) 22:53:06.64ID:EnJ3GPFi
マルチスレッドが有効利用できる部分と、利用できない部分がある。
効率的にマルチスレッド化出来る事が限られている。

そして、CPUが4コアであっても 決して4倍には成らない。
0287名前は開発中のものです。2014/03/07(金) 22:55:14.98ID:RMnLXnbR
「目に見えなくて意味がない部分を省略する」メリットよりも
「あらゆる状況に対応できる」メリットを優先するってだけの話じゃ。
0288名前は開発中のものです。2014/03/07(金) 22:56:53.08ID:Gh0ocgNA
さっぱり言ってることが分からんわ
単にCPUに余裕があるって話なら分かるけど。
それと1000FPSになんの関係があるんだ?

処理を1000回やるのと1000FPSは意味が違うだろ。
0289名前は開発中のものです。2014/03/07(金) 23:09:10.35ID:fjndePR8
アホの子はマルチスレッドを使うことが目的化しているなw
「マルチスレッドでCPU性能を限界まで引き出す(ドヤ」

これからはマルチスレッド・ボーイと名乗りなさい
0290名前は開発中のものです。2014/03/07(金) 23:21:09.90ID:ZsI9fYzN
マルチスレッドを勉強したいんだろうしそれが目的でいいんじゃねえの
0291名前は開発中のものです。2014/03/07(金) 23:31:09.17ID:7HkmM3vq
>>288
フレームという単位は、確かに元は映像や画像処理の世界の言葉だが、
ゲーム系では映像の出力の他にも、処理の単位(要はループ数)として使われることがある。
どっちの意味で言ってるかは文脈による。
0292名前は開発中のものです。2014/03/07(金) 23:40:19.37ID:Gh0ocgNA
本当にこいつの言う話は意味不明。
マルチスレッド?jは?何言ってるの?
0293名前は開発中のものです。2014/03/08(土) 00:03:16.81ID:C0+dE/Sc
はっはっはっはっは
教えて君の相手をしていても進歩がなさそうだ
0294名前は開発中のものです。2014/03/08(土) 00:06:45.46ID:GqQre2H1
単発で何やってるんだよ。
恥ずかしいやつだな。

こんな過疎スレで自演しても意味ないぞ
0295名前は開発中のものです。2014/03/08(土) 00:11:20.12ID:C0+dE/Sc
一体何が単発で何が自演しているというのだろう?
まず、>>275が振った話題にレスが続いてること理解してる?
0296名前は開発中のものです。2014/03/08(土) 00:14:00.22ID:GqQre2H1
図星だしたか?ID:fjndePR8君
0297名前は開発中のものです。2014/03/08(土) 00:15:32.48ID:C0+dE/Sc
日付が変わればIDは変わる。それはお前も同じことだが知らんのか?
わかったら、敗者は立ち去られよ
0298名前は開発中のものです。2014/03/08(土) 00:16:46.34ID:GqQre2H1
???本当に馬鹿だなお前w
0299名前は開発中のものです。2014/03/08(土) 00:20:10.92ID:9lZ7NGbh
本当に恥ずかしい流れになってきたw
0300名前は開発中のものです。2014/03/08(土) 00:21:58.27ID:C0+dE/Sc
レス番号と根拠を述べない限り、お前は意味不明なことをいってる糖質にしか見えないが?
追い詰められて苦し紛れに「バーカ」とか「アーホ」と一行レスで煽ってるだけじゃんw
0301名前は開発中のものです。2014/03/08(土) 00:24:33.75ID:GqQre2H1
つ鏡
0302名前は開発中のものです。2014/03/08(土) 00:28:32.27ID:C0+dE/Sc
ほら、何も反論できないだろ?突然「単発で自作自演をして、うんぬん」と人を批判するが
「どのレスがそうなんですか?」と聞き返されて「お前馬鹿だろw」「つ鏡」などと
意味不明な返答を繰り返す。

わかったら、敗者は立ち去られよ
0303名前は開発中のものです。2014/03/08(土) 00:31:28.03ID:X9SC3wUQ
皆何と戦っているのん・・・
0304名前は開発中のものです。2014/03/08(土) 01:44:30.85ID:Vx2VozQo
……単発で自演って日付またいだからID変わっただけだろうに……。
0305名前は開発中のものです。2014/03/08(土) 08:06:01.61ID:PSYFRGtR
結局275はどういうことなの
0306名前は開発中のものです。2014/03/08(土) 09:53:27.60ID:tPkg4yd1
★フレームレート(fps)の方法には幾つか種類がある

@固定fpsで、リミッターにより fpsの上限で固定してしまうもの。
AV-SYNCによって固定する、ゲーム機などであり確実に固定する。
B可変fpsにし、fps値が変化しても同じ速度で挙動するもの。

ゲームエンジンが 一般的にゲームループを形成しており、
ループの回転数(fps)を計測する。
PCの処理速度が不安定であり、状況により常に変動している。
ゲーム内では処理の負荷変動に関係なく処理速度を一定にしたい。
@固定fps方法、設定のfpsを越えないように上限値を決める方法、
単純な解決方法です。設定fpsを下回る場合は処理落ちになる。
AV-SYNC方法、これはリミッターと同じですが、
画面の同期にハード的に合わせてリミッター処理します、
ですから、設定fpsが常に安定している。しかし、
画面同期が変更されると困る。ゲーム機などに多い。
B可変fps方法、これはゲームループの回転速度に反比例して
ゲーム内の速度を制御します。よって、fpsが変化しても
ゲームの速度に影響がありません。こうすると
非力PCでもささやかに動き、高級PCでも豪華に動く。
また、以上の組合せの方法もあり、条件によって選択が違ってくる。
0307名前は開発中のものです。2014/03/08(土) 09:55:48.75ID:xv4QLBh4
ティアリングと絡めて
0308名前は開発中のものです。2014/03/08(土) 15:47:21.74ID:C0+dE/Sc
ガッシ、ボッカ、マルチスレッド・ボーイは逃走した(スイーツ)
0309名前は開発中のものです。2014/03/08(土) 16:31:15.28ID:cTFUFLMT
>>307
「ゲームプログラマーになる前に覚えておきたい技術」のページ127から140を読んでもらいたい
図書館にあると思う
0310名前は開発中のものです。2014/03/08(土) 19:20:22.65ID:vzxofO6Y
>275は、>279から推測すると
おそらく画面描画の単位としてのフレームと、処理の単位としてのフレームを混同してる
0311名前は開発中のものです。2014/03/08(土) 20:06:53.16ID:C0+dE/Sc
フハハハハハハハハ
0312名前は開発中のものです。2014/03/08(土) 20:50:35.38ID:YGGwUpNn
>>309
死ね
0313名前は開発中のものです。2014/03/08(土) 23:21:33.13ID:Sq36ONOT
格闘ゲームは60fpsじゃないと古参のファンに叩かれるそうな
0314名前は開発中のものです。2014/03/09(日) 00:09:52.59ID:IyeEnt/7
このスレは熱いな
0315名前は開発中のものです。2014/03/09(日) 00:18:56.78ID:zp5zMRCB
ゲ製にしては良い流れだ
0316名前は開発中のものです。2014/03/09(日) 00:35:14.60ID:UV7RBW8A
なんにせよゲーム内時間の指標となる数値は必要だよね?描画は別としてね

昔に作ったやつは特に深く考えることなく60FPS基準にしてて、
「このエフェクトは1秒間かけたいから設定値は60(フレーム)にしよう」
とかやってたけど、ゲーム内の時間と描画を切り離して考えてなかったから
倍速にしたいときにFPS120にして1フレごとフレームスキップするとか
トンチンカンなことやってたんだよね
(FPS設定値が描画回数と一緒にゲーム内の速度に影響してしまってた)

設定値は素直に、ゲーム時間としては「再生速度 * 秒数(ミリ)」で設定して
描画としてFPS(描画/秒)を使うべきだねぇ
0317名前は開発中のものです。2014/03/09(日) 10:22:07.75ID:zp5zMRCB
それ、具体的には、デルタタイム(前回更新からの時間差分)を使うのが
一般的だと思うぞ。

もっと原始的にやるなら、画面が50FPSだとキリがよくて、ロジック側もループ回数で
単純計算しやすいかなとは思うんだけど、その延長線上の考え方として
マルチスレッドで秒間100回更新するというのは止めたほうがよいね。
0318名前は開発中のものです。2014/03/09(日) 12:52:15.87ID:n5K2fLn8
普通のHDMIとかパネルの駆動が60Hz辺りなんだから
EU圏のゲーム機でもなきゃわざわざ50を選ぶ理由ないけど
ロジックを高速にするならゲームパッドのサンプリング周期も考慮した方がいいかもね
マウスも非常に速いのあるけど画面とは綺麗な整数倍にならないし
0319名前は開発中のものです。2014/03/09(日) 13:48:11.02ID:hgm9uEQE
シングルスレッドのかずき君は去ったようだ
0320名前は開発中のものです。2014/03/09(日) 15:16:30.96ID:a5thyH8B
います!
0321名前は開発中のものです。2014/03/09(日) 15:55:13.60ID:UV7RBW8A
>>317
ネトゲとかアクションじゃない限り、ゲーム内時間は現実のデルタタイムに
影響されないようにした方が混乱しないんじゃね?

Unityのチュートリアルなんかだと、「移動距離 = Δ * speed」みたいなやり方を見るんだが、
俺達みたいに自分でゲームループを制御する場合は、ゲーム内時間とリアル時間を結びつけるために
ループ内でSleep入れて、ゲーム内の「最小単位時間」は常に同一になるように調整した方がわかりやすいと思う
0322名前は開発中のものです。2014/03/09(日) 16:30:12.84ID:zp5zMRCB
ではその場合、画面が60FPSで更新されるとして、
常に17msの倍数でウェイトやアニメーションを行うことになるな。
別にそれはそれで単純でよいが、海外のゲームエンジンとかライブラリだと
デルタタイムでタイムライン処理するのがデファクトな印象ではある。
0323名前は開発中のものです。2014/03/09(日) 17:36:09.54ID:UDo1KJJD
ここ日本
0324名前は開発中のものです。2014/03/09(日) 18:05:51.13ID:zp5zMRCB
UnityとかFlashもタイムラインだし、デファクトに則るのが良いと思うが、
フレームワーク・ライブラリ整備されている前提でないと
むしろ手間かかるというのはあるな

SDLやDXライブラリでそのままでゴリゴリ書いちゃってるような状況なら
原始的な手法がいんじゃまいか
0325名前は開発中のものです。2014/03/09(日) 22:16:48.95ID:ai4yRe81
時間固定で動くゲームって今ほとんどないんじゃない?
3Dのゲームは大概処理落ちするとコマ送りになる気がするけど
0326名前は開発中のものです。2014/03/09(日) 22:24:11.30ID:7BkgnOpl
通信対戦なら時間基準しかない
0327名前は開発中のものです。2014/03/09(日) 22:29:21.55ID:YCVyyaL7
同人ならまだまだ普通にー、って感じじゃない?
0328名前は開発中のものです。2014/03/09(日) 22:49:06.01ID:LHzx02pP
自称プロの方ですか。
プロのくせに2chってキモイんで巣にお帰りください
0329名前は開発中のものです。2014/03/09(日) 23:27:17.89ID:YCVyyaL7
>>328
どこにプロ要素があったのか
0330名前は開発中のものです。2014/03/10(月) 01:04:03.22ID:eMnEQH7w
コミュ障の有段者かな?
0331名前は開発中のものです。2014/03/10(月) 18:57:16.49ID:u260dUyO
円や矩形の当たり判定を使わずに3Dのメッシュとメッシュの当たり判定をする方法ってある?
0332名前は開発中のものです。2014/03/10(月) 19:30:37.53ID:a4AxYrFN
>>331
もう少しくわしく

なぜその方法ではダメなの?
どのような目的の為にその他の方法が必要なの?
0333名前は開発中のものです。2014/03/10(月) 21:01:01.03ID:Y7tUpY4E
着地判定じゃね
0334名前は開発中のものです。2014/03/10(月) 21:12:38.72ID:gaJAPo5e
あるも何も三角形を総当たりで判定するだけでしょ。
いったい何が聞きたいのかさっぱり分からない。
0335名前は開発中のものです。2014/03/10(月) 23:29:14.20ID:Y7tUpY4E
単に効率的な手法が聞きたいんでしょ
何が聞きたいのかわからないってアスペかよ
0336名前は開発中のものです。2014/03/11(火) 03:02:43.10ID:IY9eaK2H
効率的な手法=点・円・矩形の当たり判定じゃまいか
バーカバーカ
0337名前は開発中のものです。2014/03/11(火) 03:58:39.95ID:UoOeSCjv
>>336
いや、色んな当たり判定の取り方有るよ。
それに円、球、円柱などの単純図形による近似判定って処理が軽いだけで、
厳密な当たり判定を取りたい時の手法としては効率的ではないし。

凸包を使う方法とか、xyzそれぞれのベクトルの射影を取る方法とか、調べてみると面白い。
0338名前は開発中のものです。2014/03/11(火) 12:42:21.97ID:IY9eaK2H
効率的な手法=処理が軽い
精度の高い手法=厳密な当たり判定
0339名前は開発中のものです。2014/03/11(火) 15:13:17.06ID:7WRcbbN4
効率的な手法で精度の高い手法 = 俺らの目標
0340名前は開発中のものです。2014/03/11(火) 15:17:28.37ID:0J+S+2q7
妄想の間違いでは
0341名前は開発中のものです。2014/03/11(火) 15:18:30.63ID:1Bb7Oz5Q
では、球と球の当たり判定の計算式を述べよ 
0342名前は開発中のものです。2014/03/11(火) 15:37:28.53ID:7aEkrhcX
b1{x, y, z, r}
b2{x, y, z, r}

diff.x = abs( b1.x - b2.x )
diff.y = abs( b1.y - b2.y )
diff.z = abs( b1.z - b2.z )
distance = sqrt( sqrt( diff.x^2 + diff.y^2 ) + diff.z^2 )

distance > b1.r + b2.r → no collision
distance = b1.r + b2.r → contact
distance < b1.r + b2.r → collision
0343名前は開発中のものです。2014/03/11(火) 15:55:58.02ID:AQe4Fl77
数学的に >>324 が正解です、
しかしながら、プログラミングとしての最適化されていない。

最適化された解を述べよ、 ( 処理速度向上させよ )
0344名前は開発中のものです。2014/03/11(火) 15:59:16.47ID:AQe4Fl77
訂正、 >>324 じゃなくて、>>342 です
0345名前は開発中のものです。2014/03/11(火) 17:31:22.65ID:7aEkrhcX
あー、どうせ2乗するなら abs() が不要か
平方根の最適化はコンパイラに任せるとして、

distance = sqrt( sqrt( diff.x * diff.x + diff.y * diff.y ) + diff.z * diff.z )

とかじゃダメ?
0346名前は開発中のものです。2014/03/11(火) 18:11:28.23ID:vsKfw8ZM
わからんけど、俺ならとりあえず diff.x > b1.r + b2.r の時点で弾くかな。
diff.y と diff.z も同様。
0347名前は開発中のものです。2014/03/11(火) 21:03:50.46ID:Xqo2QxT0
distanceはsqrt(diff.x^2+diff.y^2+diff.z^2)
sqrtは重いからsqrt使わずにdistance^2と(b1.r+b2.r
)^2を比較する
0348名前は開発中のものです。2014/03/11(火) 21:15:28.25ID:OqfIz8Zt
標準Cライブラリのmath.hってそんな重いの?
平方根くらいええやん
0349名前は開発中のものです。2014/03/11(火) 21:49:57.82ID:Xqo2QxT0
今はcpuに命令あるはずだからそれなりに高速だとは思うけど、四則演算と比べれば当然遅い
ちなみ平方根の計算自体は近似値求める計算だから結構でかいよ
0350名前は開発中のものです。2014/03/11(火) 22:49:56.48ID:Fzxm+mum
どの道その距離は後で衝突箇所(衝突時間)を求める時に必要になるから
計算して返すようにしておいた方がいいよ
0351名前は開発中のものです。2014/03/11(火) 23:13:25.82ID:P/1Z0pOf
平方根なんてほんとにCPU命令にあるのかと思って調べたら本当にあるんだな

http://www.intel.com/content/dam/doc/manual/64-ia-32-architectures-optimization-manual.pdf
http://topsecret.hpc.co.jp/wiki/index.php/%E5%89%B2%E3%82%8A%E7%AE%97%E3%81%AF%E9%81%85%E3%81%84

しかも割り算一回分レベルの速さ
割り算も遅いので遅いと言えば遅いんだろうけど、これならそれほど頑張って避けなくてもいい気もするね
0352名前は開発中のものです。2014/03/12(水) 10:35:51.84ID:DWahuZKR
int i;
double dSqrt, x, y, z;
long T, E;
x = y = z = 1.0;

T = clock();
for (i = 0; i<100000000; i++){
  dSqrt = sqrt(pow(x, 2.0) + pow(y, 2.0) + pow(z, 2.0));
}
E = clock() - T;
printf("√( x^2 + y^2 + z^2 ) = %1.5f [%1.5f] sec\n", (float)dSqrt, (float)E / CLOCKS_PER_SEC);

T = clock();
for (i = 0; i<100000000; i++){
  dSqrt = sqrt(sqrt(pow(x, 2.0) + pow(y, 2.0)) + pow(z, 2.0));
}
E = clock() - T;
printf("(√(√(x^2 + y^2) + z^2) = %1.5f [%1.5f] sec\n", (float)dSqrt, (float)E / CLOCKS_PER_SEC);

getchar();
return 0;

実行結果
√( x^2 + y^2 + z^2 ) = 1.73205 [0.60800] sec
(√(√(x^2 + y^2) + z^2) = 1.55377 [1.18600] sec

計算結果はゲームで使うなら誤差の範囲かな?
単純に sqrt 2回使えばほぼ 2倍の時間掛かるんで衝突判定するオブジェクトの数に拠りけり
秒間1億に近いから他の処理の重さと併せて考慮する感じだと思う
0353名前は開発中のものです。2014/03/12(水) 13:43:31.76ID:KEnJWCWv
誤差も何も√( x^2 + y^2 + z^2 )と√(√(x^2 + y^2) + z^2)じゃ違う答えになって当然だし・・・
0354名前は開発中のものです。2014/03/12(水) 13:49:15.02ID:DWahuZKR
うん、一応>>347に書かれてた事を試してみただけ
0355名前は開発中のものです。2014/03/12(水) 21:54:58.99ID:5WuRlcAH
>>347はdistanceの二乗使うからsqrtは使わんよ
0356名前は開発中のものです。2014/03/12(水) 21:59:51.24ID:5WuRlcAH
あと、ルート二つついてる方は単に式が間違ってるだけだと思う
0357名前は開発中のものです。2014/03/12(水) 22:11:11.81ID:MjuHudry
pow(x,2.0)て最適化でx*xになるっけ?一昔前のVCだと駄目だったけど
それにdoubleよりfloat使わない?
0358名前は開発中のものです。2014/03/13(木) 10:00:03.12ID:pSqzCZ7J
なるほど、342から間違ってたのね、失礼しました
0359名前は開発中のものです。2014/03/13(木) 11:21:45.95ID:pSqzCZ7J
>>357
一応検証の為に pow(x, 2.0) と x*x の比較したら最適化されないみたいです(VC++2013)

√( x^2 + y^2 + z^2 ) [4.25600] sec
√(x * x + y * y + z * z) [0.61000] sec


これまでのを総合すると、

float dist2 = x * x + y * y + z * z;
float rr = (r1 + r2) * (r1 + r2);

if (dist2 > rr) {
  // no collision
}
else {
  // touch or collision
  float dist = sqrt(dist2); // 衝突位置の計算用
}

みたいな感じかな?
参考になりました、ありがとうございます
0360名前は開発中のものです。2014/03/13(木) 20:12:09.07ID:U+Ob+Zph
doubleよりfloatが何故か遅いっていう噂があるね
0361名前は開発中のものです。2014/03/13(木) 20:37:28.97ID:gJhIi0KX
どうせ/fp:preciseのままだからだろ
0362名前は開発中のものです。2014/03/15(土) 02:04:37.56ID:lh5cPZ7H
とあるゲームのソースを見たところ
playMIDI
TextOut
ReleaseMIDI

など出てきたんですけどこれはygs2kで間違いないですかね?
ygs2kってゲ製では有名なんですか?
0363名前は開発中のものです。2014/03/15(土) 02:30:50.42ID:3y1QMR7E
そうです
0364名前は開発中のものです。2014/03/15(土) 09:20:59.03ID:9NF5k3Jb
わたしが
0365名前は開発中のものです。2014/03/15(土) 14:07:07.29ID:lh5cPZ7H
ヴェルタース
0366名前は開発中のものです。2014/03/15(土) 14:14:31.86ID:h6Za+Db1
>>362
言ってることが支離滅裂。

なぜ、その名前だけでそのライブラリに行きつくのか。
ついでに言えば全然有名じゃないし。なんでゲ製でなの?
0367名前は開発中のものです。2014/03/15(土) 14:58:29.14ID:FYDjzZLC
やねうらお氏は10年前に亡くなりました
0368名前は開発中のものです。2014/03/15(土) 16:20:04.97ID:PgHQYT7S
知ってる人は多そうだけど、使ってるひとってどれくらいいるんだろう?的な
0369名前は開発中のものです。2014/03/15(土) 17:08:57.60ID:h6Za+Db1
>>367
ああ、彼のライブラリなのか。
結局、3Dは出来なかったな。能力的にも年齢的にも無理があったのだろうが。
0370名前は開発中のものです。2014/03/15(土) 17:24:30.81ID:rzf5NJ5V
新聞でやねうら王の名前みて吹いた
0371名前は開発中のものです。2014/03/15(土) 19:43:09.80ID:DtHIrGu2
3Dはのんびり開発してるとバージョン変わって台無しだから不毛
0372名前は開発中のものです。2014/03/15(土) 20:00:10.92ID:fItnBM/L
3DというかMSがな
0373名前は開発中のものです。2014/03/15(土) 20:13:58.33ID:dxeJpeDA
今でも、DirectX7 使えるよ
0374名前は開発中のものです。2014/03/15(土) 20:44:18.33ID:7h3u1dFN
DirectX11は長生きするんじゃない?つっかえねーテッセレータと共に
0375名前は開発中のものです。2014/03/16(日) 02:00:01.53ID:/lXYe85Y
超長生きしたのって7と9だっけ?
0376名前は開発中のものです。2014/03/16(日) 12:04:58.86ID:45D5Boh6
プログラムというより物理の話で申し訳ないんだけど、レースゲームで壁とぶつかった時の速度の計算ってどうしてる?
0377名前は開発中のものです。2014/03/16(日) 12:46:48.57ID:9fplCkXk
速度x0.5
方向は壁の法線方向に対して対称(反射)

※リアルさを求めるなら壁から加わる力から加速度をもとめるべき
0378名前は開発中のものです。2014/03/16(日) 13:08:18.40ID:DbQzKXx2
壁にぶつかったら爆発→リトライ
0379名前は開発中のものです。2014/03/16(日) 14:37:04.76ID:e720CN4J
レースゲームなら>>377でいい気がするね

ただ、簡易スマートボール作ろうとしたときに>>377のやり方やってたら
曲面の壁に沿って滑らかに滑ってくれなくてエターなった思い出があるわ
■ このスレッドは過去ログ倉庫に格納されています