QuaternionKeyFrameAnimation 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
一个基于时间的动画,以具有一个或多个关键帧的 Orientation 属性为目标。
QuaternionKeyFrameAnimation 类是受支持的 KeyFrameAnimation类型之一,用于对视觉对象上的 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 的备注部分。
四元数由两个可区分部分组成:向量和标量分量。 与关键帧动画一起使用时,可以通过 4 个浮点的 System.Numerics 或 Vector3 和标量来定义四元数。 System.Numerics 为其中任一表示法提供构造函数。
将旋转转换为四元数时,可以利用 System.Numerics Quaternion 帮助器函数,使你能够从轴/角度组合、旋转矩阵或 Yaw/Pitch/Roll 中创建四元数。 在上面的示例中,可以从以下帮助程序构造相同的四元数:
Quaternion quaternion = Quaternion.CreateFromAxisAngle(new Vector3(1.0f, 0.0f, 0.0f), 0.78f);