본문 바로가기

애님 블루프린트2

[UE4]애님노티파이를 이용시 발생했던 버그(루프 애니메이션이 아닌 경우) 애니메이션 공격동작의 특정 부분에 AttackEnd라는 노티파이를 추가하여 스테이트를 IDLE로 전환하는 작업을 진행 중이었다. 처음에는 IDLE 스테이트로 잘 돌아왔지만 두번째 공격 애니메이션 재생시 IDLE로 전환되지 않고 애니메이션이 끝난 채로 캐릭터가 멈춰버렸다. 코드 상의 문제인가 싶어 이리저리 살펴봤지만 그냥 하루만 날렸다. 알고 보니 공격 애니메이션은 루프 애니메이션이 아니였고 한번 재생이 된 후, 처음으로 되돌아가지 않아 노티파이 역시 동작하지 않고 있었다. 애님 블루프린트이 스테이트 머신에서 해당 스테이트를 클릭하고, 디테일에서 Always Reset on Entry를 체크해주자. 2018. 12. 5.
[UE4]Anim 블루프린트 Threadsafe 경고 해결 애니메이션 블루프린트에서 트랜지션룰을 셋하고 있다. GetCurStateType은 enum값을 가져오는 함수로 meta = (BlueprintThreadSafe)가 UFUNCTION 내에 선언되어 있다. 그런데도 자꾸 저런 경고가 뜬다. 블루프린트 함수를 뒤져보니 GetPlayerCharacter와 형변환은 meta가 NotBlueprintThreadSafe로 되어 있었다. 이 문제를 해결하는 방법은 두가지가 있었다. 1. 클래스 세팅에서 Multithread 옵션을 끈다.2. 해당 값을 블루프린트 내의 변수에 저장해서 쓴다. 2번을 이용하여 해결했다. Curstate라는 변수에 저장하여 해당 변수를 이용하여 트랜지션룰을 만들었더니 해결되었다. 2018. 12. 5.