[過去ログ] 【軽量】godot engine【無料】 part3 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
45: 名前は開発中のものです。 [] 2024/02/28(水) 11:10:36.60 ID:Dy7hE2G/(2/4) AAS
>>4444(1): 名前は開発中のものです。 [sage] 2024/02/28(水) 10:41:06.33 ID:iBFNXgc5(1/3) AAS
テンプレートは自動化されたコピペ、自動なら手間要らずで忘れる事もない
contact_monitorに関しては処理が重いから初期値がオフなので
そこを意識しないと別な問題を誘発する
予測軌道を描くには点や線の座標が必要になる
RigidBodyを使って座標取得はできなくはないが手間が掛かる
RigidBodyを使う場合はどうすればできるか考えてみて欲しい
その手間を無くす為に自前で座標を計算する
ありがとう
チャレンジしてみます
確かにrigidbodyを使う場合、物理エンジンの中?に触らないといけないイメージ
46(1): 名前は開発中のものです。 [sage] 2024/02/28(水) 11:21:17.38 ID:iBFNXgc5(2/3) AAS
物理エンジン内は触れないから
状態を保存し必要な所まで時間を進めて座標を取得し状態を戻す手順になる
文章にすると一行だが状態の保存と復元は処理コストがとても高い
ゲーム物理はなんちゃってで十分なので本格的演算は不要
初速と重力加速度だけでそれっぽく動く
47: 名前は開発中のものです。 [] 2024/02/28(水) 12:31:35.28 ID:Dy7hE2G/(3/4) AAS
外部リンク:karanokan.info
>>46
これはあえて、rigidbodyを使ってやってるんでしょうか?
48: 名前は開発中のものです。 [sage] 2024/02/28(水) 13:06:22.58 ID:iBFNXgc5(3/3) AAS
そのスクリプトは黒で予測軌道を描く部分だけでRigidBodyを使った計算はしていない
19行目が初速
vel = new Vector3(initVel * Mathf.Cos(angle), initVel * Mathf.Sin(angle), 0);
33行目が重力加速
y = vel.y * time - 0.5f * gravity * time * time;
時間毎に線分を描いている
実行結果はRigidBodyを使って線分通りに動くかの確認
RigidBodyと全く同じにしようすると計算が若干複雑になる
y = vel.y * time - 0.5f * gravity * (time * time + time * Time.fixedDeltaTime);
適当に見繕った参考ページでUnityの例なのでRigidBodyの挙動は異なる可能性がある
RigidBodyを模倣するより座標を自前計算する方が楽
49: 名前は開発中のものです。 [] 2024/02/28(水) 15:11:50.00 ID:Dy7hE2G/(4/4) AAS
ありがとう
一定間隔で座標を取る感じですね
50: 名前は開発中のものです。 [] 2024/02/29(木) 12:21:24.56 ID:DIGOgAn2(1/8) AAS
characterbodyでボールの挙動をする場合、バウンドやフリクションの設定も自分で作る感じでしょうか?
move_and_collideで初速と重力は出来ました
51: 名前は開発中のものです。 [sage] 2024/02/29(木) 12:53:46.44 ID:HPBXgIgC(1/6) AAS
反射や摩擦も反映して予測軌道として表示したければそうなる
実現は可能だが要素を足せば足すほどコードも複雑になる
全ての物理現象に対して予測線は必要なのか動作停止まで予測線を描くのか?
何をしたいかによるが自分なら射出方向と最初のヒットまで表示できていれば十分とする
ゲームでそこまで処理している例が思いつかないが何か知っている物はあるかい?
投擲武器で反射後まで予測してるのはあった気はするが実装としてはコスト高
大抵は最初の接触点までで最後まで反射させるのは直線移動の物だと思う
52(1): 名前は開発中のものです。 [sage] 2024/02/29(木) 13:09:07.90 ID:HPBXgIgC(2/6) AAS
反射や摩擦を含んだ挙動が必要ならRigidBodyを使うと良い
予測線処理に自前演算を勧めたが最初の接触までの予測はそれで行い
実際の挙動はRigidBodyに任せるという方法も取れる
自前演算と標準の演算で結果に差がでるかもしれないが誤差で許容する
どれくらいの精度が必要か開発コストは見合っているかの判断が要求される
53: 名前は開発中のものです。 [] 2024/02/29(木) 13:10:48.11 ID:DIGOgAn2(2/8) AAS
ありがとうございます
反射後の予測軌道ではなくて、単にブロック崩しのような壁バウンドを作りたかったです(重力あり)
説明が悪かったです
frictionの記事は見つかりました
バウンドは単純にノーマルを逆にすればいいんですね コードでやるのは初めてなので
54: 名前は開発中のものです。 [] 2024/02/29(木) 13:14:39.43 ID:DIGOgAn2(3/8) AAS
>>52
そっちのほうがスマートかもしれないですね
55: 名前は開発中のものです。 [sage] 2024/02/29(木) 13:18:05.73 ID:HPBXgIgC(3/6) AAS
ブロック崩しで良いなら
反射は反転で良いし壁に角度があってもそれほど処理は複雑にならない
摩擦も壁に当たったら適当に減速で良い
厳密な物理シミュレーションする必要がなければ自分で作った物理法則で問題ない
予測軌道で最初の方向性を示すだけで良いならRigidBodyに任せるのが楽
56: 名前は開発中のものです。 [] 2024/02/29(木) 14:26:27.07 ID:DIGOgAn2(4/8) AAS
動画リンク[YouTube]
こんな感じの物理ありのものですね
玉の動きを見ると物理っぽくない感じです
57: 名前は開発中のものです。 [] 2024/02/29(木) 14:26:37.93 ID:DIGOgAn2(5/8) AAS
peglinというゲームです
58: 名前は開発中のものです。 [sage] 2024/02/29(木) 15:14:10.01 ID:HPBXgIgC(4/6) AAS
放物線を描いてるから重力はある物理演算だね
予測軌道は初回ヒットまででヒット後は軌跡を描いて跳ね返り表現
単純だから自前でやっても良いしRigidBodyでやっても良い
RigidBodyの方が物理パラメータ色々弄るの楽だからRigidBodyを勧めるかな
今までの知識を纏められたら同じ物は作れるんじゃない?
59: 名前は開発中のものです。 [] 2024/02/29(木) 17:11:25.31 ID:DIGOgAn2(6/8) AAS
どうもです
じゃあ勉強がてらコードでやってみます
60: 名前は開発中のものです。 [] 2024/02/29(木) 17:16:30.98 ID:DIGOgAn2(7/8) AAS
まよったらエンジンに頼らない方向で作成してみる
難しすぎて出来ないことならともかく
61: 名前は開発中のものです。 [] 2024/02/29(木) 20:06:33.97 ID:DIGOgAn2(8/8) AAS
何度もごめんなさい
動画リンク[YouTube]
よくあるブロック崩しはこの動きですが、スクリプトだと勢いが徐々に減算していく動きっていうのは難しいんでしょうか。
62(2): 名前は開発中のものです。 [sage] 2024/02/29(木) 20:28:47.87 ID:HPBXgIgC(5/6) AAS
衝突時や毎フレーム速度を減少する
空気抵抗的に徐々に速度を落とすなら毎フレーム減速すれば良い
コードで実現するのは難しいと思い込んでいる様に思われるが少し違う
再現したい事象はどういう式で成り立っているかの数学的知識が求められている
演算式をコード化するのは機械的作業でしかない
63(1): 名前は開発中のものです。 [sage] 2024/02/29(木) 20:34:52.28 ID:QQLqWhwV(1) AAS
ていうか張り付けた動画に>>62の言ってる衝突時の減衰のヒントあるよね、ちゃんとコード読もう
64: 名前は開発中のものです。 [sage] 2024/02/29(木) 20:51:41.92 ID:HPBXgIgC(6/6) AAS
リンク再生して等速運動しかしてないなって思ってたが時間指定付いてたの気が付いてなかったわ
確かに動画内で説明してるな
今は英語判らなくても自動翻訳で日本語字幕付けられるから上手く使う癖は付けた方が良いな
とは言え自分も先日どうしても判らない処理の解説が動画しかなかったので翻訳も付けて見てみたが
やっぱり判らなかったので苦手意識があると内容が理解し難くなるってのはあるかもね
65: 名前は開発中のものです。 [] 2024/03/01(金) 12:37:24.64 ID:NSS/yx2e(1/5) AAS
>>62
>>63
ありがとうございます
多少の数学の知識が必要になるんですかね
公式など探してみます
66: 名前は開発中のものです。 [] 2024/03/01(金) 13:22:36.85 ID:NSS/yx2e(2/5) AAS
物理エンジンもこのようにコードで制御しているのでしょうか
より複雑でしょうけども
67(1): 名前は開発中のものです。 [sage] 2024/03/01(金) 16:40:07.75 ID:7q9U3fNz(1/5) AAS
ゲームエンジンも物理エンジンもプログラム
昔は全部自分で作っていたものがライブラリ化されエンジンとなった
既にある同じ目的のコードを自前で書くのは無駄なのでエンジンが使われる
既にある物を自前で作るのは「車輪の再発明」と言われ忌避される事が多い
しかしながら原理を知らずに使っていると様々な弊害もあるので
同じ物を作れなくともある程度の理解はあると良い
エンジンが望み通りに動かないなら自分で対処する事になる
数学や物理学に対して開発者はどうあるべきかは以下の「まえがき」を読んでみて欲しい
外部リンク:codezine.jp
68: 名前は開発中のものです。 [] 2024/03/01(金) 17:18:58.23 ID:NSS/yx2e(3/5) AAS
>>67
上のpeglinくらいんものはコードでやってみます(*´ω`*)
69(4): 名前は開発中のものです。 [sage] 2024/03/01(金) 17:44:41.28 ID:WaedCGGn(1) AAS
軌道予測はgodotの物理だと予測用のオブジェクト用意した上で実際に動かして軌跡保存してみたいな手法はあるみたい?
外部リンク:github.com
上下前次1-新書関写板覧索設栞歴
あと 933 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.014s