時間と数時間の研究の後、私は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. SASでアレイを線形補間する方法は?
- 3. 線形補間 - Python
- 4. のCUDA線形補間は
- 5. SSE双線形補間
- 6. Androidビットマップ線形補間ブレンド
- 7. MathHelper.Lerp C#(線形補間)
- 8. 双線形補間 - OSRM Rastersource
- 9. Excelの線形補間VBA
- 10. 双線形補間カラースキーム
- 11. 2d双線形補間R
- 12. クワッド上の法線の双線形補間を行う方法は?
- 13. 2次元線形補間でR
- 14. SmoothBivariateSplineによる区分線形補間
- 15. phpを使った線形補間ライブラリ
- 16. pycuda(lerp)を使った線形補間
- 17. Pythonの時系列線形補間
- 18. 線形補間パンダ時系列
- 19. Coldfusion、線形補間式/関数?
- 20. ルックアップテーブルに基づくSQL線形補間
- 21. Matlabを使用して双線形補間を実行する方法
- 22. 双線形補間アルゴリズムの問題点は何ですか?
- 23. LibGDXの2点間の線を3Dで描画する方法
- 24. ユニティ3Dでダイナミックモデルを作成する方法は?
- 25. Pythonでの3Dカーブの形状保持3次補間
- 26. 1D 3次立方体と線形補間のパイソン
- 27. 時間単位で線形補間を使用してデータフレームを再サンプリングする方法
- 28. 3D空間でのラグランジュ補間
- 29. VLOOKUPを行う簡単な方法は、Excelで「線形補間」を組み合わせることですか?
- 30. 3D空間の三角形の光線を反射する
ユースケースを明確にしてください。その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、浮動時間) –