5.4 게임애니메이션샘플 5-3 [FIX Traversed]

  


필요하다 판단되는 부분들만 골라서 만든것도 원인일수 있고.

에픽프로젝트 노드를 나름 분석 하고 이해 하면서 따라 하다 보니, 부주의 함에서 잘못 만들어진 부분도 있다.


이유 모를 부분도 있어서 이런 부분은 다른 방식으로 결과만 일단 도출 하도록 했다.

아직 시험버전이라 나도 모르고 누구도 모르는 버그가 있지 않나 하는 자위도 약간은 해 본다.


Traversal PSD 스키마 디폴트네? 아마 여기서 출력되는 애님 시퀀스는 트래비스가 끝나고 나와서 그런가보다.그래서 구분지었나...

아무튼 하나씩 수정을 해 보도록 한다.


Fix note


1.LevelBlock Traversable 

증상 

캐스팅 까지 문제 없음, 함수 호출 문제 없음.

캐릭터BP에서 Traversal 구조체 체크에 동기화가 안됨.

시퀀스 노드를 타지 않음. 첫번째 노드만 진행됨.


원인.

모름....

passbyreference 체크를 안 해줌.


해결

함수를 두개로 나눔.

캐릭터BP에서 구조체 전체를 받아오는 방식으로 노드를 바꿈.


2.위의 문제가 해결 되었음에도 Back_Ledge를 찾지 못하는 문제


원인

내가 병신, Back_Ledge 말고 Back_floor를 사용함.

해결 

반성하면서 두 변수를 바꿔줌.


3.Back_floor 문제 TryTraversalAction 스텝3-6,ActionType

증상

항상 true


원인

충돌을 추적하는 과정에 문제가 있음, 이 이야기는 내가 뭔가 잘못 했다는 얘기?




맨 아래노드를 보면 액션타입 None으로 확인되어 함수를 빠져 나오고 있다.

이부분을 체크해서 수정 해야 한다

내가 레벨에 배치한 장애물은 긴건 Mantle이고 짧은건 hurdle이다. 두개의 타입이 

정상 출력 되어야 한다.


모두 정상인데 BackLedgeHeight가 0.12가 나온다.


Has room Check front ledge location 벡터를 잘못 만들었다.

븅신이다..여기서부터 잘못된거다.

Has room Check front ledge location 여기서 노멀값이 잘못된건가? 

Ledge location과 같은곳에서 충돌이 일어난다.  찾았다.

노멀값이 문제 이다.


에픽선생님들은 Z를 위로 하는 스플라인을 만들었다

그래서 업벡터로 방향을 만든다.

난 그냥 안돌리고 뒀다.

그래서 포워드로 방향을 만들어야 한다.

 

이게 문제였다. 이제 모든게 정상적으로 나와야 한다.

해보자. 안되네

다른 문제를 찾았다. has room 벡터의 위치가 




붉은 sphere 인데 나는 ledge 바로위에 나온다. 잘못되었단 얘기지..


다시 LevelBlock 문제, 노멀 방향 체크할때 4면을 다 보지 않았는데 하필 본거 하나만 방향이 달랐다.

전부 라이트벡터로 바꿔주니 정상 출력됨.

ActionType 문제 해결.



up / forward/ right 뭐든 일관된 방향성인지 확인 하고 셋팅에 맞게 노멀을 만들어 줘야 한다.




4.BPI casting

증상

BPI Interaction Transform 캐스팅에 문제가 있다. (cast failed)


원인

애님BP를 통해 캐스팅 하는데 해당 부분 작업을 안해줬다.

해당 부분 작업을 해 주고 나면

해결


5.cast failed AnimMontage




선택기에서는 몽타주를 가져오지만 모션매칭 함수에서 가지고 오지 못한다.

아마 노티파이 문제겠지 싶은데,


노티파이 추가.

Pose Search Motion Match Branch In

추가 해 준다.

디테일 패널에서 Database를 추가해준다 PSD_Traversal 만든 몽타주가 모두 들어있다.



몽타주를 가져온다.








저렇게 컨버팅을 해 주면 위에서 추가 해 줬던 노티파이Pose Search Motion Match Branch In 가 자동으로 추가됨.




모션워핑 모디파이를 추가 해주고  warp point anim bone name을 attach 대신 만들었던 VB으로 해주면 위와 같은 결과가 나온다.

방법이 없을까 한번 이것저것 살펴봐야 겠다.



포인트를 본이 아니라 스테틱으로 하면 위와 같다.

근데 블럭의 높이를 조금만 높혀도 올라가지 못한다. 해결 방법은 아닌거 같다.



어태치본이 필요해!!!

방식을 스케일로 하니 제법 그럴듯하다.


이제 블랜드 아웃을 만들어 줘야 한다.

지금은 나가는 타이밍을 몰라 저렇게 끝까지 달린다. 

BP_NotifyState_MontageBlendOut

노티파이 스테이츠 클래스다. 적당한 곳에 만들어주자.

E_TraversalBlendOutCondition  도 만들어 준다.

캐릭터의 현재 상태에 따른 블랜드 아웃을 하기 위해서다.

별내용 없어 기록하지 않는다.



요롷게






댓글