InteractionTracker 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
ExpressionAnimations에서 대상으로 사용할 수 있는 입력 논리를 처리합니다. 일반적으로 입력에 따라 시각적 개체의 동작을 구동합니다.
public ref class InteractionTracker sealed : CompositionObject
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 196608)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class InteractionTracker final : CompositionObject
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 196608)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class InteractionTracker : CompositionObject
Public NotInheritable Class InteractionTracker
Inherits CompositionObject
- 상속
- 특성
Windows 요구 사항
디바이스 패밀리 |
Windows 10 Anniversary Edition (10.0.14393.0에서 도입되었습니다.)
|
API contract |
Windows.Foundation.UniversalApiContract (v3.0에서 도입되었습니다.)
|
예제
void SetupSimpleInteractionTracker(Visual viewportVisual, Visual contentVisual)
{
//
// Create the InteractionTracker and set its min/max position and scale. These could
// also be bound to expressions. Note: The scrollable area can be changed from either
// the min or the max position to facilitate content updates/virtualization.
//
_tracker = InteractionTracker.Create(_compositor);
_tracker.MaxPosition = new Vector3(
contentVisual.Size.X - viewportVisual.Size.X,
contentVisual.Size.Y - viewportVisual.Size.Y,
0.0f);
_tracker.MinScale = 0.5f;
_tracker.MaxScale = 4.0f;
//
// Configure the interaction source. Enable input with inertia on all axes.
//
var interactionSource = VisualInteractionSource.Create(viewportVisual);
interactionSource.PositionXSourceMode = InteractionSourceMode.EnabledWithInertia;
interactionSource.PositionYSourceMode = InteractionSourceMode.EnabledWithInertia;
interactionSource.ScaleSourceMode = InteractionSourceMode.EnabledWithInertia;
_tracker.InteractionSources.Add(interactionSource);
//
// Bind the InteractionTracker outputs to the contentVisual.
//
var positionExpression = _compositor.CreateExpressionAnimation("-tracker.Position");
positionExpression.SetReferenceParameter("tracker", _tracker);
contentVisual.StartAnimation("Offset", positionExpression);
var scaleExpression = _compositor.CreateExpressionAnimation("Vector3(tracker.Scale, tracker.Scale, 1.0)");
scaleExpression.SetReferenceParameter("tracker", _tracker);
contentVisual.StartAnimation("Scale", scaleExpression);
}
설명
InteractionTracker 는 활성 입력 또는 속성을 업데이트하거나 애니메이션 효과를 주는 명시적 호출을 통해 구동할 수 있는 상태 머신입니다. InteractionTracker 클래스는 사용자 지정 상호 작용 환경을 위해 CompositionAnimation을 구동하는 입력을 사용하도록 설정하기 위한 것입니다. 대화형 환경을 빌드하려면 하나 이상의 VisualInteractionSource를 InteractionTracker와 연결해야 합니다.
일반적인 시나리오
IneractionTracker는 다음 용도로 사용됩니다.
- 사용자 지정 살짝 밀기 동작 추가(예: ListView 항목 또는 다른 시각적 개체를 살짝 밀어 삭제/해제)
- 이동에 연결된 전환(예: "닫힌" 상태와 "열린" 상태 간 전환)
- 효과의 입력 기반 애니메이션(예: 이동으로 인해 화면이 흐리게 표시)
- 사용자 지정 컨트롤(예: 다양한 이동 속도 또는 프로그래밍 방식으로 제어할 수 있는 기능을 사용하여 ScrollViewer의 사용자 지정 구현 만들기)
InteractionTracker 상태 및 전환
InteractionTracker는 네 가지 상태가 있는 상태 컴퓨터입니다.
- 유휴 상태: InteractionTracker를 구동하는 활성 입력 또는 애니메이션이 없습니다.
- 상호 작용: 활성 사용자 입력이 InteractionTracker를 구동합니다.
- 관성: 활성 입력 또는 프로그래밍 속도의 결과인 활성 애니메이션이 InteractionTracker를 구동합니다.
- CustomAnimation: InteractionTracker의 속성이 직접 애니메이션 효과를 줍니다. 아래 다이어그램은 이러한 네 가지 상태와 유효한 상태 전환을 보여 줍니다.
사용자 작업(예: 조작 시작 또는 중지)이나 InteractionTracker의 메서드에 대한 명시적 호출로 인해 상태 전환이 발생할 수 있습니다. 이러한 명시적 호출 중 하나가 수행될 때마다 요청이 무시되는지 또는 상태 변경을 발생시키는지 추적하기 위해 requestID가 발급됩니다.
유의해야 할 중요한 점은 InteractionTracker가 사용 중인 애플리케이션과 다른 프로세스에서 실행되고 있다는 것입니다. 따라서 InteractionTracker 및 연결된 클래스의 모든 메서드 호출은 IInteractionTrackerOwner 인터페이스를 통해 발급된 콜백과 마찬가지로 비동기적입니다.
다음은 각 상태 변경이 발생하는 트리거에 대해 설명합니다.
시작 상태 | 종료 상태 | 가능한 트리거 |
---|---|---|
유휴 상태 | 상호 작용 중 | 이 상태 전환은 InteractionTracker와 연결된 VisualInteractionSource와 일치하는 사용자 조작이 수행되는 경우에만 발생합니다. |
유휴 상태 | 관성 | 이 상태 전환은 InteractionTracker가 유휴 상태이고 TryUpdatePositionWithVelocity 또는 TryUpdateScaleWithVelocity가 호출된 경우에만 발생합니다. |
유휴 상태 | CustomAnimation | 이 상태 전환은 InteractionTracker가 유휴 상태이고 TryUpdatePositionWithAnimation 또는 TryUpdateScaleWithAnimation이 호출되면 발생합니다. |
상호 작용 중 | 관성 | 이 상태 전환은 InteractionTracker로 전송된 사용자 조작이 완료된 경우에만 발생합니다. 활성 입력이 종료되면 InteractionTracker가 관성 상태로 들어가고 손가락의 릴리스 속도 및 InertiaDecayRate와 같은 정보가 관성 상태 중 동작을 결정합니다. |
관성 | 유휴 상태 | 이 상태 전환은 위치 및/또는 배율을 업데이트하는 데 사용되는 함수가 더 이상 변경되지 않을 때 발생합니다. 즉, 위치 및 배율 속도가 모두 0으로 조정되었습니다. 이 상태 전환은 애니메이션 또는 속도 없이 위치 또는 배율을 명시적으로 업데이트하도록 호출하는 경우에도 발생할 수 있습니다. 이러한 호출은 관성 종료되고 업데이트된 속성 값을 사용하여 유휴 상태로 전환됩니다. |
관성 | 관성 | 이 상태 전환은 이미 관성 상태일 때 TryUpdatePositionWithVelocity 또는 TryUpdateScaleWithVelocity가 호출될 때 발생합니다. 관성을 다시 입력하면 모든 InertiaStateEntered 속성이 다시 평가됩니다. |
관성 | CustomAnimation | 이 상태 전환은 관성 sate에 있는 동안 TryUpdatePositionWithAnimation 또는 TryUpdateScaleWithAnimation을 호출할 때 발생합니다. |
관성 | 상호 작용 중 | 이 상태 전환은 Inertia가 완료되기 전에 VisualInteractionSource에 대한 적중 테스트를 하는 사용자의 활성 입력이 들어올 때 발생합니다. |
CustomAnimation | 유휴 상태 | 이 상태 전환은 InteractionTracker의 위치 및 배율 속성에 설정된 모든 애니메이션이 완료된 경우에 발생합니다. |
CustomAnimation | CustomAnimation | 이 상태 전환은 이미 CustomAnimation 상태에 있는 동안 TryUpdatePositionWithAnimation 또는 TryUpdateScaleWithAnimation을 호출할 때 발생합니다. |
CustomAnimation | 관성 | 이 상태 전환은 CustomAnimation 상태일 때 TryUpdatePositionWithVelocity 또는 TryUpdateScaleWithVelocity를 호출할 때 발생합니다. |
CustomAnimation | 상호 작용 중 | 이 상태 전환은 InteractionTracker와 연결된 VisualInteractionSource에 대한 적중 테스트를 수행하는 사용자 조작이 수행될 때 발생합니다. |
InteractionTracker에서 수행한 모든 상태 전환은 상태 변경을 발생시킨 요청에 대한 requestID뿐만 아니라 해당 상태와 관련된 정보를 포함하는 인수가 있는 새 상태를 나타내는 콜백을 생성합니다. 사용자의 활성 조작으로 인해 requestID가 0이 됩니다. Try* 호출은 상태 변경을 발생시킨 Try* 호출을 추적하는 데 사용할 수 있는 requestID를 실행합니다. 애플리케이션의 수명 동안 첫 번째 requestID는 1이 되고 각 후속 호출은 requestID를 증가합니다. 즉, 각각이 고유합니다.
InteractionTracker 위치 및 크기 조정
InteractionTracker의 가장 일반적으로 사용되는 두 가지 속성은 위치 및 배율입니다. 이러한 속성 중 하나 또는 둘 다를 변경할 때마다 ValuesChanged 콜백은 현재 값에 대한 정보와 함께 전송됩니다. InteractionTracker의 비동기 특성으로 인해 InteractionTracker 콜백을 통해 받은 값은 InteractionTracker 및 해당 속성의 현재 상태 및 값에 대한 애플리케이션 논리를 업데이트하는 가장 좋은 방법입니다.
InteractionTracker의 중요한 차이점은 위치와 소수 자릿수가 특정 시각적 개체의 좌표 공간과 연결되지 않는다는 것입니다. InteractionTracker를 만들 때 해당 위치에는 벡터의 x, y 및 z 하위 채널이 0으로 설정되고 크기가 1로 설정됩니다. 활성 입력 또는 Try* 호출만 이러한 값을 변경할 수 있습니다. 각 속성의 최소값과 최대값은 값이 변동될 수 있는 범위를 결정합니다. 한 가지 예외는 "overpan" 또는 "overzoom"의 개념입니다. 여기서 활성 조작으로 인해 상호 작용 상태 동안 값이 최소 또는 최대값을 약간 초과할 수 있습니다. 그러나 조작이 완료되면 값은 항상 집합 범위 내에서 저장됩니다. CustomAnimations는 항상 위치 및 배율에 대해 설정된 범위 내에서 고정됩니다.
InteractionTracker 좌표 공간 개념은 위/왼쪽 동작이 위치 값을 증가시키고 아래쪽/오른쪽 동작이 위치 값을 감소한다는 측면에서 화면 좌표의 개념과 일치합니다. 따라서 Visual의 Offset에 연결할 때 위치 속성을 부정하는 것이 매우 일반적입니다.
기본적으로 최소 및 최대 위치 채널은 모두 0이고 최소 및 최대 배율 값은 1입니다. 두 속성에 대해 원하는 동작이 이러한 시작 값 외부에서 변경되도록 허용하는 경우 최소/최대값을 업데이트해야 합니다.
InteractionTracker 및 ExpressionAnimations
InteractionTracker는 ExpressionAnimation의 컨텍스트에서 CompositionObject 의 애니메이션 가능 속성에 대한 업데이트를 구동하는 데 사용할 수 있는 다양한 속성을 노출합니다. InteractionTracker의 비동기 특성으로 인해 이러한 속성을 직접 쿼리하지 않는 것이 좋습니다. 대신 애플리케이션 논리를 구동하기 위해 콜백에 제공된 속성을 사용하고 애니메이션 가능 속성을 업데이트하기 위해 ExpressionAnimation 의 값을 참조해야 합니다.
위에서 설명한 것처럼 InteractionTracker의 가장 일반적으로 사용되는 두 가지 속성은 Position 및 Scale 속성입니다. 사용자 입력 및 Try* 호출에 대한 응답으로 업데이트되는 속성입니다. ExpressionAnimations 내에서 이러한 속성을 사용하면 CompositionObjects의 애니메이션 가능 속성이 응답으로 업데이트됩니다. 예를 들어 InteractionTracker.position 속성은 시각적 개체의 Offset에 연결될 수 있습니다. 또한 이러한 속성을 사용하여 진행률을 추적하는 CompositionPropertySet을 채우는 것이 일반적이며, 이로 인해 일련의 조정된 애니메이션을 구동할 수 있습니다.
InteractionTracker에 입력 전달
구성한 후에도 InteractionTracker는 터치 입력을 실제로 수신하고 응답하는 마지막 단계가 필요합니다. VisualInteractionSource에 대한 설명서를 참조하세요. InteractionTracker로 흐르도록 들어오는 입력을 구성하는 방법에 대한 자세한 내용은 TryRedirectForManipulation 입니다.
버전 기록
Windows 버전 | SDK 버전 | 추가된 값 |
---|---|---|
1703 | 15063 | ConfigureCenterPointXInertiaModifiers |
1703 | 15063 | ConfigureCenterPointYInertiaModifiers |
1709 | 16299 | ConfigureVector2PositionInertiaModifiers |
1809 | 17763 | IsInertiaFromImpulse |
1809 | 17763 | TryUpdatePosition(Vector3,InteractionTrackerClampingOption) |
1809 | 17763 | TryUpdatePositionBy(Vector3,InteractionTrackerClampingOption) |
1903 | 18362 | GetBindingMode |
1903 | 18362 | SetBindingMode |
2004 | 19041 | TryUpdatePosition(Vector3,InteractionTrackerClampingOption,InteractionTrackerPositionUpdateOption) |
속성
Comment |
CompositionObject와 연결할 문자열입니다. (다음에서 상속됨 CompositionObject) |
Compositor |
이 CompositionObject를 만드는 데 사용되는 Compositor입니다. (다음에서 상속됨 CompositionObject) |
Dispatcher |
CompositionObject의 디스패처입니다. (다음에서 상속됨 CompositionObject) |
DispatcherQueue |
CompostionObject에 대한 DispatcherQueue 를 가져옵니다. (다음에서 상속됨 CompositionObject) |
ImplicitAnimations |
이 개체에 연결된 암시적 애니메이션의 컬렉션입니다. (다음에서 상속됨 CompositionObject) |
InteractionSources |
상호 작용을 생성하는 개체의 컬렉션입니다. |
IsInertiaFromImpulse |
관성은 임펄스의 결과인지 여부를 나타내는 값을 가져옵니다. |
IsPositionRoundingSuggested |
현재 위치 반올림이 제안되는지 여부를 나타내는 부울 값입니다. |
MaxPosition |
InteractionTracker에 허용되는 최대 위치입니다. |
MaxScale |
InteractionTracker의 최대 크기입니다. |
MinPosition |
InteractionTracker에 허용되는 최소 위치입니다. |
MinScale |
InteractionTracker의 최소 크기입니다. |
NaturalRestingPosition |
InteractionTracker의 자연 휴식 위치입니다. NaturalRestingPosition 속성은 InteractionTracker 가 경계 또는 관성 한정자를 고려하지 않고 에서 중지될 계산된 위치입니다. 이 속성은 InteractionTracker 가 중지될 위치를 알고 있는 것이 중요한 스크롤 환경의 가상화와 같은 작업에 유용한 경우가 많습니다. NaturalRestingPosition 속성을 사용하기 위한 두 가지 기본 사용 사례가 있습니다. InertiaStateEntered 이벤트 인수에서 현재 값을 검색하거나 관성 한정자와 같은 항목을 만들 때 ExpressionAnimation에서 이 속성을 참조합니다. |
NaturalRestingScale |
InteractionTracker에 대한 자연 휴식 크기 조정입니다. NaturalRestingScale 속성은 InteractionTracker 가 경계 또는 관성 한정자를 고려하지 않고 중지될 계산된 배율 위치입니다. 이 속성은 InteractionTracker 가 중지될 위치를 알고 있는 것이 중요한 스크롤 환경의 가상화와 같은 작업에 유용한 경우가 많습니다. NaturalRestingScale 속성을 사용하는 두 가지 기본 사용 사례가 있습니다. InertiaStateEntered 이벤트 인수에서 현재 값을 검색하거나 관성 한정자와 같은 항목을 만들 때 ExpressionAnimation에서 이 속성을 참조합니다. |
Owner |
InteractionTracker와 연결된 IInteractionTrackerOwner입니다. |
Position |
InteractionTracker에서 계산한 출력 위치입니다. 현재 위치는 상대 값입니다. 유휴 상태와 CustomAnimation 상태 중에는 항상 MinPosition 및 MaxPosition 속성에 지정된 값 사이에 있습니다. InteractionTracker의 위치 속성은 경계에서 바운스 또는 저항을 표시하기 위해 상호 작용 및 관성 상태 중에 이 범위를 벗어날 수 있습니다. InteractionTracker의 position 속성은 X, Y 및 Z 축의 위치를 나타내는 Vector3입니다. X 및 Y 채널은 이 시점에서 InteractionTracker에 의해 업데이트되는 유일한 구성 요소입니다. MinPosition 및 MaxPosition이 설정되지 않은 경우 이 Vector3의 채널은 0(기본값) 외부에서 변동되지 않습니다. |
PositionInertiaDecayRate |
위치의 관성 감소율입니다. 범위는 0에서 1까지입니다. PositionInertiaDecayRate 속성은 InteractionTracker 가 관성으로 진입하고 위치가 변경될 때 일시 중지 속도가 느려지는 속도를 정의합니다. 1에 가까울수록 InteractionTracker 는 중지 속도가 느려지고 그 반대의 경우도 마찬가지입니다. Vector3로 정의된 각 구성 요소는 그에 따라 x, y, z에 대한 관성 감쇠 속도를 나타냅니다. |
PositionVelocityInPixelsPerSecond |
현재 위치에 적용되는 속도입니다. PositionVelocityInPixelsPerSecond 속성은 관성에서 InteractionTracker 의 현재 위치 속도를 나타냅니다. 이 속성에는 두 가지 기본 사용 사례가 있습니다. 상호 작용이 발생한 직후 InteractionTracker의 위치 속도를 검색하거나 ExpressionAnimation에서 InteractionTracker의 최신 속도를 참조합니다. |
Properties |
CompositionObject와 연결된 속성의 컬렉션입니다. (다음에서 상속됨 CompositionObject) |
Scale |
InteractionTracker에서 계산한 출력 배율입니다. 현재 눈금은 MinScale 및 MaxScale 속성에 지정된 값에 따라 달라지는 상대 값 입니다 . InteractionTracker의 scale 속성은 InteractionTracker의 좌표 공간에서 배율을 나타내는 float입니다. 이 값은 1에서 시작되며 활성 입력 또는 속성을 업데이트하거나 애니메이션하는 직접 호출에 따라 증가하거나 감소합니다. InteractionTracker가 유휴 상태이거나 CustomAnimation 상태인 경우 크기 조정 속성은 기본값인 MinScale 및 MaxScale 속성이 모두 1 로 업데이트되지 않는 한 1에서 변경되지 않습니다. InteractionTracker 경계에서 바운스 또는 저항을 표시하기 위해 상호 작용 및 관성 상태 중에 눈금이 이 범위를 약간 벗어날 수 있습니다. |
ScaleInertiaDecayRate |
규모에 대한 관성 감쇠율입니다. 범위는 0에서 1까지입니다. ScaleInertiaDecayRate 속성은 InteractionTracker 가 관성으로 들어갔을 때 속도가 느려지고 크기가 변경되는 속도를 정의합니다. 1에 가까울수록 InteractionTracker 는 중지 속도가 느려지고 그 반대의 경우도 마찬가지입니다. Vector3으로 정의된 PositionInertiaDecayRate 와 달리 ScaleInertiaDecayRate는 단일 float로 정의됩니다. |
ScaleVelocityInPercentPerSecond |
크기 조정에 대한 변경 속도입니다. ScaleVelocityInPercentPerSecond 속성은 관성에서 InteractionTracker 의 현재 눈금 속도를 나타냅니다. Interaction이 발생한 직후 InteractionTracker의 위치 속도를 가져오거나 ExpressionAnimation에서 InteractionTracker의 최신 속도를 참조합니다. |
메서드
AdjustPositionXIfGreaterThanThreshold(Single, Single) |
지정된 임계값보다 큰 경우 위치 x 좌표를 조정합니다. |
AdjustPositionYIfGreaterThanThreshold(Single, Single) |
지정된 임계값보다 큰 경우 위치 y 좌표를 조정합니다. |
Close() |
CompositionObject를 닫고 시스템 리소스를 해제합니다. (다음에서 상속됨 CompositionObject) |
ConfigureCenterPointXInertiaModifiers(IIterable<CompositionConditionalValue>) |
CompositionConditionalValue의 순서가 지정된 목록을 사용합니다. 프레임에서 추적기가 관성인 동안 첫 번째 CompositionConditionalValue에는 "가 있습니다. Condition"은 true로 평가되며 추적기에서 사용하는 확대/축소 CenterPointX 값을 "로 바꿉니다. 값"입니다. true로 평가되는 항목이 없으면 CenterPointX가 해당 프레임으로 대체되지 않습니다. |
ConfigureCenterPointYInertiaModifiers(IIterable<CompositionConditionalValue>) |
CompositionConditionalValue의 순서가 지정된 목록을 사용합니다. 프레임에서 추적기가 관성인 동안 첫 번째 CompositionConditionalValue에는 "가 있습니다. Condition"은 true로 평가되며 추적기에서 사용하는 확대/축소 CenterPointY 값을 "로 바꿉니다. 값"입니다. true로 평가되는 항목이 없으면 CenterPointY가 해당 프레임으로 대체되지 않습니다. |
ConfigurePositionXInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>) |
InteractionTrackerInertiaModifier 개체의 컬렉션을 InteractionTracker의 x 관성으로 적용합니다. ConfigurePositionXInertiaModifiers 메서드는 InteractionTracker의 x 구성 요소에 InteractionTrackerInertiaModifier의 개별 또는 컬렉션을 적용합니다. 시스템은 InteractionTracker에 추가된 순서대로 각 X 한정자의 조건 속성을 평가합니다. 따라서 InteractionTrackerInertiaModifier 가 컬렉션에 있는 순서는 시스템이 평가할 순서와 동일합니다. |
ConfigurePositionYInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>) |
InteractionTrackerInertiaModifier 개체의 컬렉션을 InteractionTracker의 y 관성으로 적용합니다. ConfigurePositionYInertiaModifiers 메서드는 InteractionTrackerInerInertiaModifier의 개별 또는 컬렉션을 InteractionTracker의 y 구성 요소에 적용합니다. 시스템은 InteractionTracker에 추가된 순서대로 각 Y 한정자의 조건 속성을 평가합니다. 따라서 InteractionTrackerInertiaModifier 가 컬렉션에 있는 순서는 시스템이 평가할 순서와 동일합니다. |
ConfigureScaleInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>) |
InteractionTrackerInertiaModifier 개체의 컬렉션을 InteractionTracker의 배율에 적용합니다. ConfigureScaleInertiaModifiers 메서드는 InteractionTracker의 크기 조정 구성 요소에 InteractionTrackerInerTiaModifier의 개별 또는 컬렉션을 적용합니다. 시스템은 InteractionTracker에 추가된 순서대로 각 Scale 한정자의 조건 속성을 평가합니다. 따라서 InteractionTrackerInertiaModifier 가 컬렉션에 있는 순서는 시스템이 평가할 순서와 동일합니다. |
ConfigureVector2PositionInertiaModifiers(IIterable<InteractionTrackerVector2InertiaModifier>) |
InteractionTrackerInertiaModifier 개체의 컬렉션을 InteractionTracker의 위치에 적용합니다. |
ConnectAnimation(String, CompositionAnimation) |
연결 및 애니메이션. (다음에서 상속됨 CompositionObject) |
Create(Compositor) |
InteractionTracker의 instance 만듭니다. 이 Create 메서드는 InteractionTracker를 인스턴스화합니다. InteractionTracker 설정 속성을 만들고, VisualInteractionSource를 연결하고, ExpressionAnimation에서 위치 또는 배율을 참조하면 활성 입력이 ExpressionAnimation을 구동할 수 있습니다. |
CreateWithOwner(Compositor, IInteractionTrackerOwner) |
지정된 소유자를 사용하여 InteractionTracker의 instance 만듭니다. 이 Create 메서드는 콜백 등록을 위해 소유자와 InteractionTracker 를 인스턴스화합니다. InteractionTracker 설정 속성을 만들고, VisualInteractionSource를 연결하고, ExpressionAnimation에서 위치 또는 배율을 참조하면 활성 입력이 ExpressionAnimation을 구동할 수 있습니다. 소유자를 사용하여 InteractionTracker 를 만드는 것은 애플리케이션이 InteractionTracker의 상태 및 값에 대한 콜백을 수신해야 하는 경우에만 필요합니다. |
DisconnectAnimation(String) |
애니메이션의 연결을 끊습니다. (다음에서 상속됨 CompositionObject) |
Dispose() |
관리되지 않는 리소스의 확보, 해제 또는 다시 설정과 관련된 애플리케이션 정의 작업을 수행합니다. (다음에서 상속됨 CompositionObject) |
GetBindingMode(InteractionTracker, InteractionTracker) |
두 상호 작용 추적기 간의 바인딩 축 모드를 검색합니다. |
PopulatePropertyInfo(String, AnimationPropertyInfo) |
애니메이션 효과를 적용할 수 있는 속성을 정의합니다. (다음에서 상속됨 CompositionObject) |
SetBindingMode(InteractionTracker, InteractionTracker, InteractionBindingAxisModes) |
두 상호 작용 추적기 간의 바인딩 축 모드를 설정합니다. |
StartAnimation(String, CompositionAnimation) |
개체의 지정된 속성과 애니메이션을 연결하고 애니메이션을 시작합니다. (다음에서 상속됨 CompositionObject) |
StartAnimation(String, CompositionAnimation, AnimationController) |
개체의 지정된 속성과 애니메이션을 연결하고 애니메이션을 시작합니다. (다음에서 상속됨 CompositionObject) |
StartAnimationGroup(ICompositionAnimationBase) |
애니메이션 그룹을 시작합니다. CompositionObject의 StartAnimationGroup 메서드를 사용하면 CompositionAnimationGroup을 시작할 수 있습니다. 그룹의 모든 애니메이션은 개체에서 동시에 시작됩니다. (다음에서 상속됨 CompositionObject) |
StopAnimation(String) |
지정된 속성에서 애니메이션의 연결을 끊고 애니메이션을 중지합니다. (다음에서 상속됨 CompositionObject) |
StopAnimationGroup(ICompositionAnimationBase) |
애니메이션 그룹을 중지합니다. (다음에서 상속됨 CompositionObject) |
TryGetAnimationController(String) |
지정된 속성에서 실행되는 애니메이션에 대한 AnimationController를 반환합니다. (다음에서 상속됨 CompositionObject) |
TryUpdatePosition(Vector3) |
InteractionTracker의 위치를 업데이트하려고 합니다. TryUpdatePosition 메서드는 InteractionTracker 의 위치를 매개 변수로 지정된 Vector3 위치로 업데이트합니다. TryUpdatePosition은 특정 시점(시작 시, 일부 상태 입력 이벤트 등)에서 InteractionTracker 의 위치를 선언적으로 정의하는 데 사용됩니다. TryUpdatePosition은 유휴 상태, CustomAnimation 또는 관성 상태에서 호출할 수 있습니다. 이렇게 하면 InteractionTracker 의 위치가 정의된 위치로 이동하고 유휴 상태가 됩니다. |
TryUpdatePosition(Vector3, InteractionTrackerClampingOption) |
지정된 클램핑 옵션을 사용하여 InteractionTracker 의 위치를 업데이트하려고 합니다. |
TryUpdatePosition(Vector3, InteractionTrackerClampingOption, InteractionTrackerPositionUpdateOption) |
지정된 클램핑 옵션을 사용하여 InteractionTracker 의 위치를 업데이트하려고 합니다. |
TryUpdatePositionBy(Vector3) |
InteractionTracker의 위치를 지정된 양만큼 조정하려고 시도합니다. TryUpdatePositionBy 메서드는 매개 변수로 지정된 Vector3 델타에 의해 InteractionTracker 의 현재 위치를 업데이트합니다. TryUpdatePosition과 마찬가지로 TryUpdatePositionBy는 애니메이션이나 관성 없이 정의된 델타로 InteractionTracker를 선언적으로 이동하는 데 사용됩니다. TryUpdatePositionBy는 유휴 상태, CustomAnimation 또는 관성 상태에서 호출할 수 있습니다. 이렇게 하면 InteractionTracker 의 위치가 정의된 델타로 이동하고 유휴 상태가 됩니다. |
TryUpdatePositionBy(Vector3, InteractionTrackerClampingOption) |
지정된 클램핑 옵션을 사용하여 InteractionTracker 의 위치를 지정된 양만큼 조정하려고 시도합니다. |
TryUpdatePositionWithAdditionalVelocity(Vector3) |
속도를 추가하여 InteractionTracker의 위치를 업데이트하려고 합니다. TryUpdatePositionWithAdditionalVelocity 메서드는 InteractionTracker의 현재 속도에 추가 속도를 나타내는 입력 Vector3을 추가합니다. 따라서 InteractionTracker 의 속도가 변경되었으므로 이제 InteractionTracker 의 대상 rest 위치가 변경됩니다. TryUpdatePositionWithAdditionalVelocity는 유휴 상태, 관성 또는 CustomAnimation 상태에서 호출할 수 있습니다. 이렇게 하면 InteractionTracker 의 속도를 추가하거나 업데이트하고 관성 상태를 입력합니다. |
TryUpdatePositionWithAnimation(CompositionAnimation) |
애니메이션을 적용하여 InteractionTracker의 위치를 업데이트하려고 합니다. TryUpdatePositionWithAnimation 메서드는 CompositionAnimation 입력을 매개 변수로 기반으로 InteractionTracker의 위치를 업데이트합니다. 이 메서드는 InteractionTracker 의 동작을 기존 관성 환경 대신 특정 애니메이션으로 정의해야 하는 상황에서 사용됩니다. TryUpdatePositionWithAnimation은 유휴 또는 관성 상태에서 호출할 수 있습니다. 이렇게 하면 InteractionTracker 의 위치가 정의된 애니메이션에 의해 구동되고 CustomAnimation 상태가 됩니다. |
TryUpdateScale(Single, Vector3) |
배율을 지정된 값으로 업데이트하려고 시도합니다. TryUpdateScale 메서드는 InteractionTracker 의 배율 위치를 매개 변수로 지정된 배율 위치 및 중심점으로 업데이트합니다. TryUpdateScale은 특정 시점(시작 시, 일부 상태 입력 이벤트 등)에서 InteractionTracker 의 규모를 선언적으로 정의하는 데 사용됩니다. TryUpdateScale은 유휴 상태, CustomAnimation 또는 관성 상태에서 호출할 수 있습니다. 이렇게 하면 InteractionTracker 의 배율 위치가 정의된 위치로 이동하고 유휴 상태가 됩니다. |
TryUpdateScaleWithAdditionalVelocity(Single, Vector3) |
지정된 속도를 추가하여 배율을 업데이트하려고 시도합니다. TryUpdateScaleWithAdditionalVelocity 메서드는 InteractionTracker 의 현재 속도에 추가 속도를 나타내는 입력된 스칼라를 추가하고 중심점을 입력된 Vector3으로 이동합니다. 따라서 InteractionTracker 의 속도가 변경되었으므로 이제 InteractionTracker 의 대상 Rest Scale 위치가 변경됩니다. TryUpdateScaleWithAdditionalVelocity는 유휴 상태, 관성 또는 CustomAnimation 상태에서 호출할 수 있습니다. 이렇게 하면 InteractionTracker의 속도를 추가하거나 업데이트하고 관성 상태를 입력합니다. |
TryUpdateScaleWithAnimation(CompositionAnimation, Vector3) |
지정된 애니메이션으로 배율을 업데이트하려고 시도합니다. TryUpdateScaleWithAnimation 메서드는 매개 변수로 입력된 CompositionAnimation을 기반으로 InteractionTracker의 배율 위치를 업데이트합니다. 이 메서드는 InteractionTracker 의 동작을 기존 관성 환경 대신 특정 애니메이션으로 정의해야 하는 상황에서 사용됩니다. TryUpdateScaleWithAnimation은 유휴 또는 관성 상태에서 호출할 수 있습니다. 이렇게 하면 InteractionTracker 의 위치가 정의된 애니메이션에 의해 구동되고 CustomAnimation 상태가 됩니다. |