本文整理汇总了C++中USkeletalMeshComponent::GetAnimInstance方法的典型用法代码示例。如果您正苦于以下问题:C++ USkeletalMeshComponent::GetAnimInstance方法的具体用法?C++ USkeletalMeshComponent::GetAnimInstance怎么用?C++ USkeletalMeshComponent::GetAnimInstance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类USkeletalMeshComponent
的用法示例。
在下文中一共展示了USkeletalMeshComponent::GetAnimInstance方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: RefreshInstance
void FMovieSceneSkeletalAnimationTrackInstance::RefreshInstance( const TArray<TWeakObjectPtr<UObject>>& RuntimeObjects, IMovieScenePlayer& Player, FMovieSceneSequenceInstance& SequenceInstance )
{
UpdateRefreshBones(RuntimeObjects);
// When not in preview playback we need to stop any running animations to prevent the animations from being advanced a frame when
// they are ticked by the engine.
for ( TWeakObjectPtr<UObject> RuntimeObjectPtr : RuntimeObjects )
{
if ( ShouldUsePreviewPlayback( Player, RuntimeObjectPtr.Get() ) == false )
{
USkeletalMeshComponent* SkeletalMeshComponent = GetSkeletalMeshComponentFromRuntimeObjectPtr( RuntimeObjectPtr );
if ( SkeletalMeshComponent != nullptr )
{
UAnimInstance* AnimInstance = SkeletalMeshComponent->GetAnimInstance();
if ( AnimInstance )
{
UAnimSingleNodeInstance * SingleNodeInstance = SkeletalMeshComponent->GetSingleNodeInstance();
if ( SingleNodeInstance )
{
SingleNodeInstance->SetPlaying( false );
}
// TODO: Anim montage?
}
}
}
}
}
示例2: InitFromActor
void FGameplayAbilityActorInfo::InitFromActor(AActor *InOwnerActor, AActor *InAvatarActor, UAbilitySystemComponent* InAbilitySystemComponent)
{
check(InOwnerActor);
check(InAbilitySystemComponent);
OwnerActor = InOwnerActor;
AvatarActor = InAvatarActor;
AbilitySystemComponent = InAbilitySystemComponent;
// Look for a player controller or pawn in the owner chain.
AActor *TestActor = InOwnerActor;
while (TestActor)
{
if (APlayerController * CastPC = Cast<APlayerController>(TestActor))
{
PlayerController = CastPC;
break;
}
if (APawn * Pawn = Cast<APawn>(TestActor))
{
PlayerController = Cast<APlayerController>(Pawn->GetController());
break;
}
TestActor = TestActor->GetOwner();
}
if (AvatarActor.Get())
{
// Grab Components that we care about
USkeletalMeshComponent * SkelMeshComponent = AvatarActor->FindComponentByClass<USkeletalMeshComponent>();
if (SkelMeshComponent)
{
this->AnimInstance = SkelMeshComponent->GetAnimInstance();
}
MovementComponent = AvatarActor->FindComponentByClass<UMovementComponent>();
}
else
{
MovementComponent = NULL;
AnimInstance = NULL;
}
}
示例3: PyErr_Format
PyObject *py_ue_get_anim_instance(ue_PyUObject *self, PyObject * args)
{
ue_py_check(self);
if (!self->ue_object->IsA<USkeletalMeshComponent>())
return PyErr_Format(PyExc_Exception, "uobject is not a USkeletalMeshComponent");
USkeletalMeshComponent *skeletal = (USkeletalMeshComponent *)self->ue_object;
UAnimInstance *anim = skeletal->GetAnimInstance();
if (!anim)
{
Py_INCREF(Py_None);
return Py_None;
}
Py_RETURN_UOBJECT((UObject *)anim);
}