1. Queen 캐릭터 서버 애니 동기화
UFUNCTION( BlueprintCallable, Server, Reliable )
void ChangeAnimation_Server( EAnimType animType );
void ChangeAnimation_Server_Implementation( EAnimType animType );
// NetMulticast : 서버와 연결된 모든 클라이언트에서 실행
UFUNCTION( BlueprintCallable, NetMulticast, Reliable )
void ChangeAnimation_MultiCast( EAnimType animType );
void ChangeAnimation_MultiCast_Implementation( EAnimType animType );
cpp
애니 실행하는 함수를 서버에서 실행되도록 ChangeAnimation_Server()로 변경
void APlayerQueen::MoveAction ( const FInputActionValue& value )
{
..
ChangeAnimation_Server ( EAnimType::ANIMTYPE_WALK );
}
void APlayerQueen::MoveStopAction( const FInputActionValue& value )
{
ChangeAnimation_Server( EAnimType::ANIMTYPE_IDLE );
}
void APlayerQueen::ChangeAnimation_Server_Implementation( EAnimType animType )
{
ChangeAnimation_MultiCast( animType );
}
void APlayerQueen::ChangeAnimation_MultiCast_Implementation( EAnimType animType )
{
mAnim->SetAnimType( animType );
}
=> 플레이어 2개 띄우고 리슨서버로 실행하면 idle, walk 애니메이션이 정상적으로 동기화된다
2. 애니메이션 섞기 / 캐싱
ex) 애니메이션 섞어서 위 공격 위 이동 or 달려가며 공격 같은거 해봅시다
▶️ 애니메이션 캐싱
: 애니메이션 연산을 미리해서 메모리에 저장해놓음
ㄴ 장점 : CPU 연산이 줄어드는 효과
ㄴ 단점 : 메모리 사용량 증가
1) 애니메이션 캐싱 해보자 : BPA_AnimKnight 에디터 - 애님그래프 - Locomotion 떼서 - Cached Pose
2) 캐싱된 애니메이션 사용
=> 실행하고 확인하면 기존과 동일
3) output pose 링크 끊고
slot defaultSlot에서 New Save cached pose 추가 - UpperBody
4)
use cached pose ‘Locomotion’ 추가
use cached pose ‘UpperBody’ 추가
layerd blend per bone 추가
Base Pose에 Locomotion 연결
Blend Pose에 UpperBody 연결
5) Layerd blend per bone 설정하기
▶️ Layerd Blend Per Bone
뼈 구조를 기반으로 특정한 뼈를 기준으로 두개의 애니메이션을 blend 할 수 있다.
Base Pose : 기반포즈
Blend Pose : 섞을 포즈
Blend Weights : 블랜드 가중치 Weight 알파값 설정
-> 본이름 확인하기 : 해당 Skeleton 가서 본이름 확인 후 본이름 복사해서 붙여넣으면 된다
▶️ Layerd Blend Per Bone의 디테일패널
- 분기필터 - blend pose 의 개수만큼 index가 존재한다
▶️ 뎁스블랜드
- 경로 : 디테일 패널 - 레이어설정 - 인덱스 - 분기필터 - 인덱스 - 뎁스블랜드
뎁스블랜드 값
-1 : 해당 본은 블렌딩의 영향을 받지 않는다.
1 : 본인만
2 : 이상부터는 적용할 자식 레벨
▶️ Blend Poses by bool
블랜딩된 포즈가 bool값이 true일때만 나옴.
( 나는 잘되어서 Blend Poses by bool 부분 추가 안함 ) => 이동 없이 공격하면 하체가 애니가 안먹음. 다시 적용함.
https://velog.io/@dltmdrl1244/UE5-Layered-Blend-Per-Bone
이거대로 Spine_01뼈에만 블렌딩을 진행하니 뛰면서 공격하는 애니 잘 진행됨
=> 정상적으로 적용시, 실행하면 걸으면서 공격시 상체 공격 + 하체 이동 애니메이션이 실행된다.
'Unreal Engine5 > KDT 2024' 카테고리의 다른 글
[UE5 KDT2024] 24. 충돌 2 (0) | 2025.03.08 |
---|---|
[UE5 KDT2024] 23. 충돌 (0) | 2025.03.07 |
[UE5 KDT2024] 21. 애니메이션 블랜드 2 - 열거형 이용 (0) | 2025.03.05 |
[UE5 KDT2024] 20. 애니메이션 블랜드 - 열거형 이용 (0) | 2025.03.04 |
[UE5 KDT2024] 19. 에임오프셋 (0) | 2025.03.03 |
댓글