QuaternionKeyFrameAnimation クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
1 つ以上のキー フレームを持つ Orientation プロパティを対象とする時間ベースのアニメーション。
QuaternionKeyFrameAnimation クラスは、Visual のOrientation プロパティをアニメーション化するために使用される、サポートされている種類の KeyFrameAnimationの 1 つです。 四元数は、回転について考えるのに便利で、時には簡単な方法です。四元数は角度間の最短パスを取り、回転角度/軸と回転行列が実行されるジンバル ロックのような問題を回避します。 四元数は、スカラー部分とベクトル部分の 2 つのコンポーネントで構成されます。
public ref class QuaternionKeyFrameAnimation sealed : KeyFrameAnimation
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 131072)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class QuaternionKeyFrameAnimation final : KeyFrameAnimation
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 131072)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class QuaternionKeyFrameAnimation : KeyFrameAnimation
Public NotInheritable Class QuaternionKeyFrameAnimation
Inherits KeyFrameAnimation
- 継承
-
Object Platform::Object IInspectable CompositionObject CompositionAnimation KeyFrameAnimation QuaternionKeyFrameAnimation
- 属性
Windows の要件
デバイス ファミリ |
Windows 10 (10.0.10586.0 で導入)
|
API contract |
Windows.Foundation.UniversalApiContract (v2.0 で導入)
|
例
void QuaternionAnimation(SpriteVisual visual)
{
// Create the QuaternionKeyFrameAnimation
var quaternionKFA = _compositor.CreateQuaternionKeyFrameAnimation();
// Create a Quaternion that represents a 45 degree rotation around X Axis
Quaternion quaternion = new Quaternion(0.380f, 0f, 0.0f, 0.92f);
// Insert the Quaternion into the KeyFrame
quaternionKFA.InsertKeyFrame(1.0f, quaternion);
quaternionKFA.Duration = TimeSpan.FromSeconds(1);
// Attach to the Orientation property of Visual
visual.StartAnimation("Orientation", quaternionKFA);
}
注釈
アニメーションは、 CompositionObject.StartAnimation を呼び出し、プロパティ名とアニメーションを指定することで、オブジェクトのプロパティに関連付けられます。 アニメーション化可能なプロパティの一覧については 、CompositionObject.StartAnimation の解説セクションを参照してください。
四元数は、ベクトルとスカラーコンポーネントの 2 つの区別可能な部分で構成されます。 KeyFrame アニメーションで を使用する場合、四元数は、4 floats または Vector3 とスカラーの System.Numerics の表記によって定義できます。 System.Numerics には、これらの表記のいずれかのコンストラクターが用意されています。
回転を四元数に変換する場合は、System.Numerics 四元数ヘルパー関数を使用して、軸/角度コンボ、回転行列、またはヨー/ピッチ/ロールから四元数を作成できます。 上の例では、次のヘルパーから同じ四元数を構築できます。
Quaternion quaternion = Quaternion.CreateFromAxisAngle(new Vector3(1.0f, 0.0f, 0.0f), 0.78f);