タグ付けされた質問 「projectile-physics」

投げられた野球から戦艦の大砲、落下する岩まで、空中を航行する物体の運動物理学。

15
ビデオゲームで弾丸はどのようにシミュレートされますか?
私は最近MW2のようなゲームをプレイしていますが、プログラマーとして、ゲームをどのように没入型にするのかを自問する傾向があります。たとえば、弾丸の速度をシミュレートする方法。 NPCが銃から銃弾を発射すると、銃弾は実際に銃から指定されたターゲットに移動しますか、それともこの部分を完全に無視してターゲットに銃弾の穴を開けますか? 弾丸が実際に銃からターゲットまで移動している場合、実際にどの速度で移動していますか?


4
2Dタワーディフェンス-敵への弾丸
敵に弾丸を打つための良い解決策を見つけようとしています。ゲームは2Dタワーディフェンスです。タワーは弾丸を撃ち、保証された敵を攻撃することになっています。 私はこの解決策を試しました-http://blog.wolfire.com/2009/07/linear-algebra-for-game-developers-part-1/ 弾丸の起源と敵を同様に差し引くために言及されたリンク(ベクトル減算)。私はそれを試してみましたが、敵の周りに弾丸がついてきます。 float diffX = enemy.position.x - position.x; float diffY = enemy.position.y - position.y; velocity.x = diffX; velocity.y = diffY; position.add(velocity.x * deltaTime, velocity.y * deltaTime); 私はベクトルに精通していますが、このソリューションを機能させるためにどのステップ(ベクトル演算)を行うべきかはわかりません。

5
ミサイルへのターンヘディングを計算する方法は?
船から斜めに発射されたミサイルがあり、ミサイルは与えられた回転半径で弧を描いてターゲットに向かって回転します。ミサイルが目標に向かって直進するように、旋回を開始する必要があるときに、アーク上のポイントを決定するにはどうすればよいですか? 編集 ミサイルを発射する前に必要なことは、飛行経路を計算して描画することです。したがって、添付の例では、打ち上げロケットの方向は90度であり、ターゲットはその後ろにあります。両方のミサイルは、打上げ機の方位に対して-45度または+ 45度の相対方位で発射されます。ミサイルは最初、既知の旋回半径でターゲットに向かって旋回します。私は、ターゲットを直接攻撃するために、ターンがミサイルを見出しに向ける地点を計算する必要があります。明らかに、ターゲットが45度または45度に近い場合、ミサイルはターゲットに対してまっすぐ進むだけで、最初の旋回はありません。 ミサイルが発射された後、地図には、飛行経路の指標として、このライン上にミサイルの追跡も表示されます。 私がやっていることは、運用ソフトウェアを模倣するシミュレータの開発です。そのため、ミサイルの発射を許可する前に、計算された飛行経路を描く必要があります。 この例では、ターゲットはロケットの背後にありますが、事前に計算されたパスが描かれています。

3
発射体の動き-矢印
2Dゲームでは、飛行中の矢印の軌跡を描きたいだけです。以下のコードでは、軌道(放物線)は正しく見えますが、角度(または回転)または矢印は正しくありません。 float g = -9.8f; float x = (launchVelocity * time); float y = (launchVelocity * time) + (0.5f * g * (float)Math.Pow(time, 2)); float angle = (float)Math.Tanh(y / x); 私は何が欠けていますか?ありがとう。

2
どのようにすれば、攻撃者は攻撃者だけを攻撃し、攻撃者は攻撃者を攻撃するだけですか?
私のゲームには、さまざまなタイプの善人とさまざまなタイプの悪者がいます。それらはすべてお互いに発射体を発射しますが、どちらのアラインメントでも偶発的な付随的な損傷が発生することは望ましくありません。そのため、悪者は他の悪者を打ったりダメージを与えたりしてはならず、善人は他の善人を打ったりダメージを与えたりすべきではありません。 私がこれを解決することを考えている方法は、Unitインスタンス(これはjavascript、btw)がまたはのalignmentいずれかのプロパティを持つようにすることです。そして、衝突が起きるのは、goodbad class Attack boolean didAttackCollideWithTarget(target) return attack.source.alignment != target.alignment and collisionDetected(attack.source, target) もちろん、これは疑似コードです。 しかし、私がこの質問をしているのは、Unitクラスにさらに別のプロパティを追加する以外に、これを設計するはるかにエレガントな方法があるかもしれないという感覚を得ているからです。

3
起動角度以外のすべてを与えられた場合、ターゲットでGameObjectを起動するにはどうすればよいですか?
位置、目標位置、発射速度、重力を考慮して、目標で物体を発射しようとしています。私はウィキペディアからこの式に従っています: θ = a r c t a n (v2±v4− g(gバツ2+ 2 Yv2)−−−−−−−−−−−−−−−√gバツ)θ=arctaん(v2±v4−g(gバツ2+2yv2)gバツ) \theta = arctan \bigg( \frac{v^2 \pm \sqrt{v^4-g(gx^2 + 2yv^2)}}{gx} \bigg) 私はできる限りコードを簡略化しましたが、それでも目標を達成することができません。計算式の+-の選択肢から利用できる2つのうち、より長い軌道のみを考慮しています。 誰かが私が間違っていることを知っていますか? using UnityEngine; public class Launcher : MonoBehaviour { public float speed = 10.0f; void Start() { Launch(GameObject.Find("Target").transform); } public void Launch(Transform target) { float angle …

4
射撃前の軌道周りのミサイル軌道の計算
Unity3Dでゲームを構築しています。それは重力戦争のクローンです。プレイヤーとAIの両方のタレットは、ミサイルを互いに撃ち(角度とパワー変数を与える)、惑星のミサイルを衝突させないようにします。しかし、これが私の質問です:AIにミサイルを発射する前に、惑星の重力も考慮して、パワーと角度をどのように計算させるのですか?

1
ゴルフボールの軌道方程式に空気抵抗を追加する
VB.NET 2005で2Dゴルフゲームを開発していますが、ボールに影響を与えるはずの空気または風の抗力を実装する方法に行き詰まっています。 すでに私は発射物のためのこれらの方程式を持っています: v0v0v_0は、ヒットまたは発射されたときのゴルフボールの初速度 垂直成分と水平成分、ゴルフボールの速度: vバツvy= v0c o s (θ )= v0s i n (θ )− gt ∗vx=v0cos(θ)vy=v0sin(θ)−gt∗ \begin{align} v_x &= v_0 cos(\theta) \\ v_y &= v_0 sin(\theta) - gt* \end{align} ゴルフボールの垂直および水平距離: バツy= v0c o s (θ )t= v0s i n (θ )t − (0.5 )gt2x=v0cos(θ)ty=v0sin(θ)t−(0.5)gt2 \begin{align} x &= v_0cos(\theta)t …

4
ミサイルとビットマップ地形の交点を見つける最も効率的な方法は何ですか?
2Dビットマップ地形の傾斜を見つけることに関する私の以前の質問に続いて、ミサイルが命中した2D地形上の点を見つける最良の方法を知る必要があります。明らかに、ミサイルの下のピクセルが地形と交差するかどうかはわかりますが、地形のかなり奥に移動したと言えます。 最初に衝突した場所を見つけるために後退する最良の方法は何ですか?一度にXピクセル前にミサイルの前の位置に移動できますが、Xの適切な値はどれですか。そしてもっと賢い方法はありますか?たぶん半分の距離を移動し、次にクォーターなどを移動しますか?

2
一定時間の誘導ミサイル
プレイヤーとミサイルでゲームを構築しています。 P1からP2までミサイルを発射したい。ミサイルがP2に到達するには、常に正確に5秒かかる必要があります。ミサイルもP2を追跡する必要があります。P2がさらに離れると、ミサイルはタイミング制約を満たすために速度を上げる必要があります。P2が左に移動する場合、ミサイルは左に移動する必要があります(速度も変更します)。P2がP1に近づくと、ミサイルは減速する必要があります。 これは可能ですか?これを達成するための最良の方法は何ですか? 私は現在Vector2Dクラスを持っていません(これは実際にはゲームではありませんが、類推はうまくいきます)。したがって、可能であれば、それを必要としないソリューションが欲しいです。 編集:これは実際にはミサイルでもありません。:) ありがとう!

2
発射体の発射角度を見つけるにはどうすればよいですか?
ユニットがお互いに矢を発射する2Dゲームを作成しています。私は射手と標的の位置と発射体の初速度を知っています。投射物がターゲットに着地するために必要な角度を知りたいです。ターゲットは射手とは異なる高さにある可能性があります。 要約すると、v0、R、gがわかっているので、角度(または高さ)を見つける必要があります。 http://en.wikipedia.org/wiki/Projectile_motionを読みましたが、必要なものに関連するものが見つかりません。

4
時間の経過に伴う曲線に沿ったオブジェクトの位置の特定
ゲーム内に「投げられた」オブジェクトがいくつかあります。現時点では、これらのオブジェクトに放物線を描くようにして実装しようとしています。オブジェクトの始点、終点、頂点、速度を知っています。 任意の時間またはフレームで、x座標とy座標を特定するにはどうすればよいですか? 放物線は正しい曲線でもありますか?

1
3Dワールド空間の特定の位置に矢を着陸させる方法
私のゲームでは、どこかの地形をマウスでクリックすると、プレーヤーが放物線状にその位置に矢印を発射したいと思います。 矢印には、すべて3Dベクトルを使用した位置、加速度、速度があります。私が見発射の軌道ウィキペディアの記事、私はそれが2D数学を説明しているように私の状況でそれを適用する方法がわかりません。3Dベクトルの解決策があるかどうか疑問に思っていましたか?3Dの状況に関連するリソースはありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.