時間と数時間の研究の後、私は2つのアニメーションカーブを線形補間できません。アニメーションカーブのMathf.lerpのようなものが必要です。アニメーションカーブのキーフレームでinTangentとOutTangentを試しましたが、値、私は何かを逃している? ガイダンスが必要な場合、これは私のプロジェクトで多くの助けになります。ありがとうございます。ユニティ3Dでアニメーションカーブを線形補間する方法は?
0
A
答えて
1
あなたは "morph"を別のものにアニメーションカーブにしているようです。これはあなたのユースケースに依存します。
両方の曲線が[0.0,1.0]の間に定義されていると仮定して、私は両方の曲線の値を計算し、両方の結果を同じ時間に直線補間します。
あなたは異なるアプローチを使用して、両方のAnimationCurve
間を補間することを望むかもしれない
/*
* Evaluates two AnimationCurve objects, and interpolates linearly
* between the results, effectively "morphing" from curve A to curve
* B in a linear fashion.
* Both curves must be defined between 0.0 and 1.0, and t must be
* within the same 0.0-1.0 range too.
*/
public float EvaluateLerpTwoCurves(AnimationCurve a, AnimationCurve b, float t) {
float valueA = a.Evaluate (t);
float valueB = b.Evaluate (t);
float result = Mathf.Lerp(valueA, valueB, t);
return result;
}
(ない直線Mathf.Lerp
のように行います)、あなたも両方の曲線の間をモーフィングする方法を定義する第三AnimationCurveを使用することができます。
上記の推奨コードでは、両方のカーブを0.0〜1.0の間で定義する必要があり、tも同じ0.0〜1.0の範囲内になければなりません。
+0
感謝の男はそれを試して、それは動作します! @jjmontes –
関連する問題
- 1. 3D三角形内の線形補間
- 2. 線形補間 - Python
- 3. のCUDA線形補間は
- 4. MathHelper.Lerp C#(線形補間)
- 5. 2d双線形補間R
- 6. SSE双線形補間
- 7. 双線形補間カラースキーム
- 8. Excelの線形補間VBA
- 9. Androidビットマップ線形補間ブレンド
- 10. クワッド上の法線の双線形補間を行う方法は?
- 11. pycuda(lerp)を使った線形補間
- 12. phpを使った線形補間ライブラリ
- 13. 線形補間パンダ時系列
- 14. Coldfusion、線形補間式/関数?
- 15. ルックアップテーブルに基づくSQL線形補間
- 16. Matlabを使用して双線形補間を実行する方法
- 17. 双線形補間アルゴリズムの問題点は何ですか?
- 18. ユニティ3Dでダイナミックモデルを作成する方法は?
- 19. LibGDXの2点間の線を3Dで描画する方法
- 20. Pythonでの3Dカーブの形状保持3次補間
- 21. 1D 3次立方体と線形補間のパイソン
- 22. 時間単位で線形補間を使用してデータフレームを再サンプリングする方法
- 23. 3D空間でのラグランジュ補間
- 24. Scipy map_coordinates双線形補間とinterpおよびIDL補間との比較
- 25. 線形補間を使ってx切片を見つける
- 26. 計算シェーダで3線形補間を行う
- 27. 線形時間でバイナリ配列をソートする方法は?
- 28. シンプルなR 3d補間/サーフェスプロット
- 29. 3Dスプライン補間のMatlab
- 30. 2つの数字の間のobj-c線形補間
ユースケースを明確にしてください。その2つのアニメーションカーブは何ですか?また、何を達成しようとしていますか?私は 'AnimationCurve'を使って様々な目的で[' AnimationCurve.Evaluate'](https://docs.unity3d.com/ScriptReference/AnimationCurve.Evaluate.html)を使って補間するカーブを定義しますが、あなたの質問には明確化が必要です。 – jjmontes
もちろん、Mathf.lerp(float a、float b、float time)のように、最も単純な方法で説明することができます。AnimationCurve.Lerp(animationCurve a、アニメーション曲線b、浮動時間) –