問題タブ [lerp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Lerp は、車の動きに対して一貫してスムーズではない
time4 列のデータ、id、xおよびzid を持つ車が特定の時間idに位置する道路網を走行する車をシミュレートしています。サンプルは次のとおりです。x,0,zt
現時点では、車をスポーンし、時間の経過とデータに従って位置を更新することができます。車がポイントからポイントへ飛び出すのではなく、車の動きをよりリアルにシミュレートする方法にこだわっています。
私は使用していますVector.Lerpが、一貫したスムーズな動きなしでジャンプします:
毎秒、上記のデータをチェックして、現在の秒における車の座標を見つけます。これらの座標はnextPosition上記のLerp関数にそのまま渡されます。これは、車が毎秒ポイントからポイントへ「Lerping」していることを意味します。
動きをスムーズにするにはどうしたらいいですか?位置の更新は毎秒行われるため、車は 1 秒以内に次の位置に到達する必要があります。
c# - 速度ではなく持続時間で MoveTowards を使用する
ゲームオブジェクトを位置 A から BVector3.MoveTowardsに x 秒以内に、コルーチン関数で移動したいと考えています。これを行う方法は知っていますが、両方の関数の動作が異なるため、Vector3.Lerp今回は で行うことをお勧めします。Vector3.MoveTowards
では、これVector3.Lerpは次のように行われます。
で同じことをしようとしましたが、Vector3.MoveTowards正しく動作しません。問題は、移動が x 時間または期間の前に終了することです。また、スムーズに動かない。位置 B の最後ではなく、両方の位置の中間にジャンプします。
Vector3.MoveTowardsこれは、上記の問題で使用する関数です。
Vector3.MoveTowardsx秒以内にコルーチン関数でゲームオブジェクトを位置AからBに移動するにはどうすればよいですか?
Vector3.Lerpそれは私が使いたいものではないので、提案しないでください。
編集:
交換する
と
動作しますが、フォーカスが Unity から別のアプリケーションに移動すると問題が発生します。動きが終わらない原因になります。タイマーを開始する前に、1 回ではなくフレームごとに計算する方が合理的です。
MatrixTai の回答により、両方の問題が解決されました。
ios - SKConstraint を介して LERP を使用して SKCameraNode を移動する
SKConstraints を使用してプレーヤー ノードを追跡しているときに、SKCameraNode に線形補間効果を実装する方法があるかどうか疑問に思っていました。現在、Apple の Demo Bots チュートリアルで使用されている制約と同じ制約を使用しています。代替手段は、アクションを使用して遅延/時間でカメラの位置を変更するか、更新メソッドで直接遅延して位置を変更することです。Demo Bot のように、プレイヤーまでの距離の制約が一定の 0.0 に設定されている間、カメラのスクロールはぎくしゃくしているように見えます。あなたの考えを教えてください。すべてのフィードバックをお待ちしております。