다음을 통해 공유


InteractionTracker.PositionVelocityInPixelsPerSecond 속성

정의

현재 위치에 적용된 속도입니다.

PositionVelocityInPixelsPerSecond 속성은 관성에 있는 동안 InteractionTracker 의 현재 위치 속도를 나타냅니다. 이 속성에는 두 가지 기본 사용 사례가 있습니다. 상호 작용이 발생한 직후 InteractionTracker의 위치 속도를 검색하거나 ExpressionAnimation에서 InteractionTracker의 최신 속도를 참조합니다.

public:
 property float3 PositionVelocityInPixelsPerSecond { float3 get(); };
float3 PositionVelocityInPixelsPerSecond();
public Vector3 PositionVelocityInPixelsPerSecond { get; }
var vector3 = interactionTracker.positionVelocityInPixelsPerSecond;
Public ReadOnly Property PositionVelocityInPixelsPerSecond As Vector3

속성 값

Vector3 Vector3

float3

현재 위치에 적용된 속도입니다.

예제

// Listen for the InertiaStateEntered event, so we can grab PositionVelocityInPixelsPerSecond value.
public void InertiaStateEntered(InteractionTracker sender, InteractionTrackerInertiaStateEnteredArgs args)
{
  // Grab the current velocity of InteractionTracker after interaction occurs out of the args when the event is fired.
  Vector3 interactionVelocity = args.PositionVelocityInPixelsPerSecond;}
}

void CustomSpringMotion(float springCoefficient, float dampingCoefficient, float maxPosition)
{
  // Create the InertiaModifier that will be a custom motion emulating a spring
  InteractionTrackerInertiaMotion modifier = InteractionTrackerInertiaMotion.Create(_compositor);

  modifier.Condition = _compositor.CreateExpressionAnimation("this.Target.NaturalRestingPosition.X > maxPosition");
  modifier.Condition.SetScalarParameter("maxPosition", maxPosition);

  // Utilize the current Velocity of InteractionTracker in the Expression defining 	the custom spring motion
  modifier.Motion = _compositor.CreateExpressionAnimation("(-springStiffnessCoefficient * (this.Target.Position.X – maxPosition)) + (-dampingCoefficient * this.target.PositionVelocityInPixelsPerSecond.X");
  modifier.Motion.SetScalarParameter("springStiffnessCoefficient", 	springCoefficient);
  modifier.Motion.SetScalarParameter("dampingCoefficient", dampingCoefficient);
  modifier.Motion.SetScalarParameter("maxPosition", maxPosition); 
}

설명

InertiaStateEntered 이벤트에서 PositionVelocityInPixelsPerSecond 속성에 액세스할 때 상호 작용을 기반으로 계산된 속도의 스냅샷 검색합니다. 이 이벤트는 상호 작용이 발생한 후에 한 번만 발생합니다.

적용 대상