2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

ゲームプログラミングをやってる高卒なんだけどキャラ移動の物理に疑問がある

1 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:30:13.392 ID:KzahED9W0.net
2DゲームでX座標とY座標があるとするじゃん?
右に移動する時は1ピクセル動けるとして
上に移動する時も1ピクセル動けるとすると
右上にナナメに移動する場合右に1ピクセル、上に1ピクセル動かしたら加速するよね?

2 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:30:34.136 ID:bWF/pV430.net
はい

3 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:31:14.496 ID:knErHQNAM.net
あかんマジレスしかけたわ

4 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:32:22.161 ID:seP9Daj30.net
さんかくかんすうって知っていますか?

5 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:32:25.205 ID:KzahED9W0.net
>>2
だよな!

6 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:33:24.623 ID:e91flFgj0.net
みんな大好きルート2問題

7 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:33:25.949 ID:KzahED9W0.net
つまり右が押されたらプラス1じゃダメという事だよな?

8 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:33:45.990 ID:eGzKMRn+a.net
移動速度1/√2 にすればいいじゃん

9 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:33:52.957 ID:4PHa7jMa0.net
円で考えればどのくらい移動するのが正しいのかわかりそうなもんだが

10 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:36:47.302 ID:4zCB1SmY0.net
実際大昔のゲームみたいに座標を1ブロック単位とかの整数値で管理してると√2動かすわけにいかんし2周期に1回動かすとかしてもまた当たり判定とかの処理に問題が発生したりでうまくいかなかったりするんだよな

11 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:38:22.007 ID:8BAWstBVM.net
>>10
なんで実数で管理しないの?

12 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:38:44.292 ID:KzahED9W0.net
キャラの移動速度をhogeとして
右を押されたら
x = コサイン0度×hogeだけ動くが正解ということ?

13 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:39:10.649 ID:zmNel56S0.net
>>9
パソコンにコンパスさせっていうの?

14 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:39:52.232 ID:KzahED9W0.net
>>10
それなんだよ!
座標が1ピクセルずつだから小数点が使えない
つまり1フレーム目は動かない、2フレーム目は動くみたいな感じになるんだけどいいのかな?

15 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:40:39.200 ID:Y0ihg5e6M.net
>>14
120fpsにしたら解決やん!

16 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:41:49.395 ID:4zCB1SmY0.net
>>11
昔のポケモンとかどんなにボタン短く押しても人一人分の距離動くじゃん?
別に実装で実装すりゃいいんだけどRPGとかのパーツって20x20とかサイズ決まっててでかいからパーツ1個分動かしたほうが見栄えもいいし実装が楽

17 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:43:45.777 ID:ClN7kJfNa.net
むしろ意識して独自の物理法則にしないと気持ちいい操作性にならないよね

18 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:44:42.253 ID:KzahED9W0.net
パソコンってドットの世界だから小数点表示は無理だよね?
つまり3Dゲームとかも1フレーム目と2フレーム目で移動速度が違っている感じになるのが普通って事なのかな?

19 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:45:48.993 ID:LvMISIkL0.net
1フレーム止まると見栄え悪いから縦横2倍にしちゃうとか

20 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:46:40.689 ID:KzahED9W0.net
もっと言うと右に移動する場合は加速度になるの?
毎回1ピクセルではなく
1111、222、33、4みたいな?

21 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:47:09.823 ID:Y0ihg5e6M.net
>>18
1フレレベルのちょい押しならともかく連続的に動かすならばれんやろ

22 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:48:20.322 ID:KzahED9W0.net
>>19
え、でもそれって画面は同じだから必ずフレームごとに速度がかわるよね?
0.1ドットだけ表示出来るなら出来るんだろうけど

23 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:49:41.334 ID:+FjGkUZ00.net
1操作で10ピクセルくらい動くようにしたらいいんちゃうの?

24 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:50:21.630 ID:KzahED9W0.net
>>21
60FPSの場合
0.016秒と0.032秒の違いは人間には判断できない?
これってディスプレイが0.1ドット表示とかわけわからないことしてくれない限り
3DCGも同じって事だよね?

25 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:53:27.457 ID:KzahED9W0.net
>>23
なるほど45度の場合0.7ピクセルになるから
10倍したら7ピクセルになって誤差が少なくなると

26 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 04:56:25.653 ID:KzahED9W0.net
十字キーだと45度ずつだけど
ジョイスティックはもっと細かい角度で移動できるって感じなのかな?

27 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 05:07:00.333 ID:KzahED9W0.net
てか思ったけど十字キーのみなら常に45度しかないよね?
つまりクソ単純に
x=速度×0.7
y=速度×0.7
でいいのか?

28 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 05:08:06.522 ID:KzahED9W0.net
右押された場合x += 速度
上押された場合y += 速度
右上押された場合
x=速度×0.7
y=速度×0.7
これでいいのか?

29 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 05:09:53.014 ID:KzahED9W0.net
0.707とかでもいいのか?

30 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 05:14:09.900 ID:KzahED9W0.net
反応がないただのしかばねのようだ・・・

31 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 05:27:18.934 ID:Mb/VKhtir.net
いいよ

32 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 05:27:29.415 ID:ylfE2BEs0.net
思索を重ねる>>1カッコいい

33 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 05:48:20.955 ID:iIiSxBvU0.net
格ゲーならジャンプはゆっくりの方がいいけどスクロールアクションなら早い方がスタイリッシュだし加速していいんじゃね?
プログラム知らんけど

34 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 05:50:50.843 ID:KzahED9W0.net
>>33
そういえば移動加速度とジャンプの加速度って物理的に絶対違うな

35 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 05:52:11.561 ID:1R6smQV60.net
車輪の再発明をしないようにググって答えを見つけられるようにならないとダメだぞ

36 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 06:13:59.684 ID:KzahED9W0.net
車輪の再発明が大好きなんだが・・・駄目なのかね?

37 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 06:19:58.786 ID:8w3KF7uPH.net
この時間内に入力してたら反応返すみたいな

38 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 06:23:46.287 ID:DMMIvvso0.net
>>28
基本的にはそれでいい
後は小数点をどう処理して整数にするかだな
切り上げ切り捨て四捨五入のどれにするか

>>36
業務だと車輪の再発明してたら馬鹿にされるけど趣味なら別に

39 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 06:27:22.549 ID:KzahED9W0.net
>>38
考えはあってるということだよね?
ディスプレイは1ドットずつだからフレーム毎に実数になり移動は変わる?
業務だから車輪の再開発するんじゃの?1から作れば自由度が高いと言うか

40 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 06:44:38.785 ID:UfFxQxKh0.net
車輪の再発明を馬鹿にするのは車輪を作り出せない連中だけ(´・ω・`)

41 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 06:44:49.290 ID:DMMIvvso0.net
>>39
考えはあってる

>ディスプレイは1ドットずつだからフレーム毎に実数になり移動は変わる?
これは何言ってるか分からん

業務だと基本的には既存のエンジンやらライブラリやらを使う
1から作れば自由度高いけどよっぽど金と人手がある会社しかそんなことはできない

42 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 06:50:18.463 ID:/esSehUd0.net
スーパーマリオは自然な挙動にする為に内部で小数を使ってる

43 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 07:14:33.440 ID:KzahED9W0.net
>>41
ドットってのは640×480のディスプレイなら
640粒のライトが横に並んでるじゃん?
キャラが0.5だけ横にズレた場合
ライト半分点灯させるなんて無理じゃん

44 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 07:19:13.553 ID:KzahED9W0.net
>>40
そうだよな!車輪の再開発は技術者には必要だろ

45 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 07:24:23.725 ID:cLGq2krS0.net
四聖なんたらってSTG作成講座にそんな話あった気がする

46 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 07:30:02.992 ID:DMMIvvso0.net
>>43
そういうときは数を丸めて0か1にする
内部では実数で実装されてても描画するときは整数に変換する

47 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 07:30:25.768 ID:XRkpjyipd.net
現実世界の物理をトレースすれば良ゲーになると思わないで
例えば横スクロールアクションのジャンプは現実世界だとジャンプの高さや距離ってジャンプした瞬間に決まるけど
ゲームだとジャンプした後にどのくらいジャンプボタンを押しっ放しにしているかとかで決まるから

48 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 07:33:27.162 ID:oATbcqh60.net
別に斜めの方が早くて良いじゃん
グラディウスみたいに斜め移動は得、スピードアップで2ドット移動

49 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 07:38:17.335 ID:KzahED9W0.net
>>45
マジ?ちゃんと読むべきなんだな

50 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 07:38:54.159 ID:KzahED9W0.net
>>46
だからそうすると
1フレーム目と2フレーム目で速度が変わるじゃん

51 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 07:44:28.641 ID:oATbcqh60.net
シレンで斜め進むのに2ターン掛かったら嫌じゃん

52 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 07:46:31.848 ID:wt2pY+ay0.net
>>50
近似してるからそんなには速くならないだろ

53 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 07:58:08.180 ID:KzahED9W0.net
>>52
2フレームだと
0.03秒で1ドットだからなぁ・・・

54 :以下、?ちゃんねるからVIPがお送りします:2019/06/23(日) 07:58:40.479 ID:DMMIvvso0.net
>>50
それは誤差として許容するのが一般的だな
どうしても許容できないなら斜め方向への移動を禁じるしかない

総レス数 54
13 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★