ゲームにショットガンを実装する方法は?


14

ピストルと機関銃は簡単です-弾丸を特定の方向に飛ばすことができるので、すでに実装しています。一方、ショットガンは、特定のエリア内のコーンのようなものにダメージを与えます。どうすれば実装できますか?ここにいくつかの提案がありますが、いくつかのアドバイスを使用できます。

  • 弾丸を複数の小さな弾丸に分割します。小さな弾丸は、それ自体によるダメージは小さくなりますが、同じ方向に飛んでいきます(敵に近づくほど、攻撃される可能性が高くなります)
  • 弾丸を使用しない-ショットガンショットのパーティクルエフェクトを設定し、位置/方向などに基づいて敵が受けるダメージを計算します。
  • 物にダメージを与える大きな目に見えない弾丸(たとえば立方体)と、実際にはショットガンショットのように見えるパーティクルエフェクトがあります。

前もって感謝します!


これらのオプションはすべて有効であり(最初のオプションではなく、なぜ複数の箇条書きから始めないのですか?)、決定はゲームデザインに基づきます。
コンガスボン

関連:精度と距離の式および「火の円錐」は、これに適した検索語です。
マイケルハウス

回答:


21

ほとんどのゲームは、ショットガンを複数の発射体を一度に発射する武器として実装していますが、それぞれが俳優から離れる角度の特定のランダム化を備えています。ほとんどの現代の一人称射手では、ほとんどすべての武器は、射撃するたびに少なくともある程度の広がりがあり、長距離での精度が低下するため、同じ実装をショットガンに使用できます。

簡単な実装: 10°の広がりを望み、プレイヤーが0°の垂直方向と50°の水平方向を見ると、発射体は-5°から+ 5°の角度と45°から55°の角度になります。

実装の改善:発射物を長方形ではなく、プレイヤーの十字線の周りの円形領域に広げます。

発射体の拡散により、遠距離で効率が低下していると認識されているため、遠くの小さな標的がそれらのすべてに衝突することはありません。ショットガンを純粋な短距離武器にするためにこれをさらに強調したい場合は、移動するゲームロジックフレームごとに各発射体のダメージを減らすこともできます。

トップダウンまたはサイドスクロールシューティングでは、プレイエリアが小さすぎて意味をなさないため、すべての武器に広がることはあまりありませんが、ショットガンのような武器が必要な場合はこれは別の問題であり、同じですテクニックを使用できますが、3次元を気にする必要はありません。あるいは、-6°、-4°、-2°、0°、2°、4°、6°などの固定角度で発射物を発射することもできます。2Dコンテキストでは、3Dコンテキストのように人工的に見えず、チャレンジゲーマーはそれを好むでしょう。なぜなら、チャンスを減らすからです。


より良い実装は同じくらい簡単です。第1のアプローチは、として秒(軸外[0、+ 5℃]と軸[0、360°]に沿って回転)し、2つのランダムな角度(水平および垂直)が必要
MSalters

@MSaltersこれは、発射物を円の中に均一に分布させません。代わりに、軸の周りにそれらを集中させます。これは、目的の効果である場合とそうでない場合があります。円内で均一なランダム分布を取得するには、この回答を参照してください。
ダニエルAA Pelsmaeker

@Virtlink:正しい。ただし、円の中の均一な確率密度は私が求めるものではない。正規分布は、このような物理的なものに最適な傾向があり、特に簡単に実行できます。1D正規分布でϑ値を広げ、同じ正規分布でφ値をbyでスケーリングするだけです。二重極座標に移動する必要はありません。
左辺り

ショットガンスプレッドについて説明しているページをご覧ください。
AJMansfield
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.