안기훈_자료_보존용_계정 MYPI

안기훈_자료_보존용_계정
접속 : 2875   Lv. 49

Category

Profile

Counter

  • 오늘 : 343 명
  • 전체 : 243055 명
  • Mypi Ver. 0.3.1 β
[Unreal 게시판] 1회성 animation을 항상 처음부터 재생하는 방법 (0) 2014/04/23 AM 12:26
Question>

unreal engine 4에서
아래와 같이 skeletal mesh compoennt를 설정했음.

abc.h:
(중략)
static UAnimSequence* g_FireAni;
TSubobjectPtr m_canonMesh;

void Fire();
(중략)

abc.cpp:
(중략)
UAnimSequence* ATowerBase::g_FireAni = NULL;

ConstructorHelpers::FObjectFinder lCanonMesh2( TEXT( "SkeletalMesh'/Game/Tower/Canon/m_t_po2.m_t_po2'" ) );

m_canonMesh = PCIP.CreateDefaultSubobject(this, TEXT("CanonMesh"));
m_canonMesh->AttachTo(Mesh, TEXT("CanonPoint"));
m_canonMesh->SetSkeletalMesh(lCanonMesh2.Object);
(중략)

그리고, 아래와 같은 함수로 총을 쏘는 동작을 재생하려고 함.

void ATowerBase::Fire()
{
m_canonMesh->PlayAnimation( g_FireAni, FALSE );
}

Fire() 호출 할 때마다, 총을 쏘는 동작을 보고 싶은데,
(반복 animation이 아니라 1회성 animation)
Fire()를 한번 호출 하고나면, 그 다음부터는 animaiton 적용이 안됨.-_-;;;;
이 문제를 어떻게 해결해야 하는가?

-------------------------------------------------------------

Answer>

1회성 animation을 재생한 뒤에
시간이 animation의 마지막 부분으로 설정이 되어서,
다음 번의 재생을 방해를 하고 있습니다.^^;;;;;;

따라서,
위 함수에 아래와 같이 추가 부분을 넣으시기 바랍니다.

void ATowerBase::Fire()
{
//추가 부분-s
m_canonMesh->S e t P o s i t i o n( 0.0f );
//추가 부분-e

m_canonMesh->PlayAnimation( g_FireAni, FALSE );
}

S e t P o s i t i o n()으로
animation의 시작 시간을 0.0f로 설정해 주시면, 간단히 해결됩니다.^^







Tag:
안기훈, Kee Hoon Ahn, Unreal, UDK, iPhone, iPad, app, 앱, iOS

신고

 
X