QuaternionKeyFrameAnimation 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
以時間為基礎的動畫,以一或多個主要畫面格為目標的 Orientation 屬性。
QuaternionKeyFrameAnimation 類別是其中一種支援的KeyFrameAnimation類型,用來以動畫顯示 Visual上的Orientation屬性。 四元數是一種實用且有時更簡單的方式來思考旋轉 – 四元數採用角度之間的最短路徑,並避免發生旋轉角度/軸和旋轉矩陣的 Gimbal Lock 之類的問題。 四元數是由兩個元件所組成:純量和向量部分。
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 的備註一節。
四元數是由兩個可辨別部分所組成:向量和純量元件。 搭配 KeyFrame 動畫使用時,四元數可以透過 4 個浮點數或 Vector3 和純量的 System.Numerics 標記法來定義。 System.Numerics 提供上述任一標記法的建構函式。
將旋轉轉譯成四元數時,您可以使用 System.Numerics Quaternion 協助程式函式,讓您從軸/角度組合、旋轉矩陣或 Yaw/Pitch/Roll 建立四元數。 在上述範例中,可以從下列協助程式建構相同的四元數:
Quaternion quaternion = Quaternion.CreateFromAxisAngle(new Vector3(1.0f, 0.0f, 0.0f), 0.78f);