いつ外挿するか、いつ内挿するかを理解するのに苦労しています。彼はゲームのガファーで、補間するように言ったが、別の記事ではプレーヤーを推定することを推奨した。だから私の質問は、いつ外挿する方が良いのか、いつ補間する方が良いのかということです。
いつ外挿するか、いつ内挿するかを理解するのに苦労しています。彼はゲームのガファーで、補間するように言ったが、別の記事ではプレーヤーを推定することを推奨した。だから私の質問は、いつ外挿する方が良いのか、いつ補間する方が良いのかということです。
回答:
「前」と「後」の値がわかっているときに補間します。
たとえば、ポイントアンドクリックゲームでは、プレーヤーは現在位置Xにあり、インターフェイスからスポットYをクリックします。2つの値がわかっているため、XとYの間の変位を補間する必要があります。
既に知っていることに基づいて、将来の価値がどうなるかを推測するときに外挿します。
例えば:一人称シューティングゲームで、プレイヤーは位置Xにあり、彼は最後の秒のための彼のキーボードのUP矢印を押すとされています、あなたは可能としているが、基本的なので、彼は次の秒のために再びこれをやっているだろうとゲームで最も頻繁に発生する動作。彼が次のフレームになる位置を推定します。サーバーはそれを他のゲームクライアントに送信します。これは、サーバーからプレーヤーへの送信の遅延を考慮します。
外挿は、主に動きの予測に使用されます。これはゲームサーバーには必要ありませんが、ゲームクライアントは、プレイヤーにスムーズな視覚体験を提供するために、ゲームの状態のやや現実的で現在のビジョンを表示する必要があります。
可能な場合は常に補間します。
内挿するのに十分な情報がない場合、外挿する必要があります。
これは本当に簡単なことです。考えすぎないでください:)
もう少し説明するには:
一般に、補間は常に正しいため、補間の方が優れています。外挿するには、推測する必要があります。次に、間違って推測したときに何が起こるかを処理する必要があります。これにより、ラバーバンディングまたはポップが発生し、あらゆる種類のシステムがそのすべてを処理して偽装します。
バットの位置を推定し、それを正しい場所に移動してボールをバウンドさせ、その後、自分が間違っていてボールをバウンスしなかったことに気付くとどうなりますか?そのシナリオを処理する良い方法はありません。
既知の値の間の状態を見つけるために補間し、将来の状態を見つけるために外挿します。
位置や速度などの状態変数の観点から問題を考えてください。すべての最良のシナリオでは、状態を操作する必要があるすべてのコンピューターは、作業する時間の状態データにアクセスできます。たとえば、レーザーライフルショットXがプレイヤーAの頭を挟むかどうかを確認するための衝突アルゴリズムは、すべての場合において、レーザーが発射されたときのすべてのオブジェクトの正確な位置をアルゴリズムが知っている場合です。
現実の世界では、私たちはいつもそれほど幸運ではありません。時々、私たちが受け取る真実の情報はもっとまばらです。たとえば、プレーヤーAが別のコンピューターのリモートプレーヤーである場合、レーザーを発射してショットを計算する必要があるときに、彼らがどこに向かっているのかを正確に知ることはできません。この場合、通常は内挿または外挿を使用して、Aの位置の推定器を作成する必要があります。
2つの違いは、データが両側に限定されているか、片側のみに限定されているかです。プレーヤーAが、t = 0およびt = 1の真実の位置をすでに発表しているとします。プレイヤーBはt = 0.5でレーザーを発射します。多くの場合、プレーヤーBがトリガーを引く前に、プレーヤーAのt = 1での位置のアナウンスが発生する可能性があります。どうして?多くのゲームでは、コントロールの応答性は完全に瞬時ではありません。レースシミュレーションでは、プレイヤーの位置の大部分は、移動中の乗り物の物理によって制限されます。短期間ではそれほど多くのことを操縦できないので、「将来のポジション」を発表することもできます。将来情報がある場合は、2つの値の間を補間できます。
at = 1の値を持つほど幸運でない場合はどうなりますか?プレーヤーAが将来の位置をアナウンスする立場になく、t = 0の情報のみでヒットまたはミスしたかどうかを判断できない場合はどうなりますか?この場合、外挿する必要があります。外挿では、モーションについて知っていることを使用して、持っているデータを超えて拡張します。プレイヤーAには一定の速度があることをご存知かもしれません。そのため、時間にそれを掛けると、毎回位置を取得できると仮定します。
違いは動作にあります。内挿では、上限と下限が必要ですが、常に上限があるわけではありません。ただし、ほぼすべての状況で、外挿よりもはるかに優れた結果が得られます。外挿は、非現実的な動きを簡単に引き起こす可能性があります。進行中に射撃されるのを避けるために、左右に脇道を歩いているプレーヤーの場合を考えてください。任意の時点で、速度は対角線に沿っているため、外挿すると、実際には決して横にならないのに、プレーヤーが横に逃げるように見える場合があります。補間のみを行う場合、値は現実的な値の外側に迷うことはありません。
補間と外挿は、フィルタリングの世界における2つの極端です。このようなデータを処理するために、補間と外挿の間でプロパティを混合および一致させる多くの多くの多くの多くのフィルターがあります。したがって、明らかに補間または明らかに外挿されていないアルゴリズムを目にしても驚かないでください。これら2つは氷山の一角にすぎません。
補間は、既知のデータを使用して、データセットの境界内のデータを計算します(「内部」プレフィックスである)。補外法は、既存のデータの境界外のデータムを計算します(「外」接頭辞です)。どちらも追加データを合成するために使用され、生成されるデータの予想される信頼性を定義する正確な計算方法を使用します。
または、非常に単純な図に入れるには:
A - - - - - B - - - - - C - - - - - D
データポイントを考えるA
とC
、あなたは補間することができますB
し、外挿するD
。
内挿または外挿の精度は、計算のすべての変数をどの程度適切に説明できるかに完全に依存します。すべての変数を知っていて、それらすべてを説明する方程式がある場合は、簡単に補間または外挿できます。
ゲームメカニクスの場合、制限要因は、プレーヤーまたは何らかのランダム要素または擬似ランダム要素のいずれかによって、変数が予測不可能な方法で影響を受けるポイントになります。
たとえば、ブレイクアウト(最も単純な形式)でのボールの動きは、プレーヤーのパドルと相互作用する可能性がある点まで推定できます。その時点までのすべての変数を考慮することができるため、ボールの動作を正確にモデル化できます。プレイヤーとの対話が可能なポイントに達すると、多くの可能な結果があり、実際に発生するまでそれらのどれがケースになるかを正確にモデル化する方法はありません。これは、ゲーム物理モデルの予測限界です。
ゲームの補間は、既知のポイントで作業しており、条件が変わるかどうかを気にする必要がないため、より簡単です。さらに、関連する変数を完全に制御でき、定義したルールを使用してオブジェクトのパスを決定できます。ルールが複雑になるほど、補間が難しくなります。
重力のない再生スペース(ブレイクアウトやポンなど)での単純な衝突を伴うオブジェクトの動きの場合、パス上の線に沿った補間のメカニズムはポイントの単純な線形補間であり、同じ計算を使用して線を外挿することができます将来の衝突をテストします。衝突が検出されると、関連するオブジェクトに対するその衝突の影響を推定できます。