Unreal
[Unreal] 4월 24일 수업정리
k-codestudy
2025. 4. 24. 14:19
애디티브에 대한수업을 들었다
기본 설정
- init 호출
- BP_ThirdPersonCharacter 캐스팅 (형변환) / object는 try Get pawn Owner
- BP_ThirdPersonCharacter 변수 승격 ( 백업 )
- Character Movement 호출 후 변수 승격 ( 백업 )
- Update에 시퀀스 연결
- Character Movement의 velocity 호출
- Velocity에서 Vector Length XY 호출 후 변수 승격 ( m-Speed )
- > 연산자를 이용하여 0.3 초과라는 조건 지정 후 변수 승격 ( m-is Move )
- state Machine을 호출 ( Ground Loco )
- 에셋 브라우저에서 MM_Idle, BS_MF_Unarmed_WalkRun 드래그 앤 드롭 후 연결
- MM_Idle 무한 루프 설정
- BS_MF_Unarmed_WalkRun에 m-Speed 연결
- 조건으로 m-is Move가 true, false 설정
애디티브
기존의 애니메이션과 재생하는 애니메이션의 차이를 통해 애니메이션을 만드는 것
- base : 기본 베이스
- Additive :섞을 애니메이션

- 테스트를 진행해 보면 가만히 있거나 움직일 때 MM_Land의 애니메이션이 같이 섞여서 나오게 된다.
- Alpha값을 건드려서 비율을 줄이게 되면 덜 섞이게 된다



- 보이지 않는 선을 그어주는 느낌으로 디테일 패널에 스테이트 에일리어스 아래 체크를 하게 되면 그 체크된 매개로 부터 시작할 수 있음
- Ground Loco를 클릭했으니 들어갈 수 있다.

- Character Movement의 is Falling 호출 후 변수 승격 (m-is Falling )
- Velocity 변수 승격 ( m-Velocity )

- Velocity 핀 분할 후 Z값이 100 초과 && m-is Falling 이라는 조건 추가
- 문제점 발생 : 점프, 떨어질 때 2개다 연결하게 되면 어떤 식으로 조건을 달아야 하는지
- 해결 방법 : 조건을 클릭해 보면 디테일 판 우측 상단에 우선권 순서가 존재, 우선권이 높은 순서대로 실행이 된다
- MM_Jump는 우선권 1, MM_Fall_Loop는 우선권 2로 설정
- To Falling -> MM_Fall_Loop 조건 : is Moving이라면
- state machine Land를 만들고 에일리어스 (To Land) 생성 후 연결
- 조건은 Not is-Falling일 때

- C-ground, MM_Land, Apply Additive 호출
- base : c-ground, Additive : MM_Land 연결

- Land -> Ground Loco 조건 : automatic Rule Based.. On

- 중요 포인트 : Always Reset on Entry
- 리셋을 하지 않게 되면 잔량을 실행해야하기에 모션이 섞여 버그가 일어남
- 원하는 State 클릭 후 디테일 패널에 고급을 보면 On, Off 가능 ( 적절히 설정 하면 됨 )

- 디테일적인 부분 : Land에서 조건문 하나 더 추가 ( 선을 한번 더 그으면 조건이 추가됨 )
- is Move라는 조건을 추가 하게되면 좀 더 부드러운 동작이 나오게 됨