언리얼4 무기 줍기
Intro
- 언리얼4 무기 줍기
무기 액터 제작
총기 스태틱메시와 캡슐컴포넌트 추가
이벤트 그래프
타임라인을 이용한 360도 회전효과를 주고 캡슐 트리거에 Begin Overlap
이벤트가 발생하면 블루프린트 인터페이스를 이용해 EquipWeapon 메시지전송후 액터 삭제
새로운 Collision 프리셋을 만들어 캐릭터만 Overlap 이벤트가 발생하도록함
변수 선언
Player.h
UPROPERTY(VisibleAnywhere, BlueprintReadWrite)
bool CheckWeapon;
Player.cpp
CheckWeapon = false;
캐릭터 클래스에 무기를 들고있는지 체크하는 bool 변수 선언후 초기값을 false로 둠
Equip Weapon 이벤트
트리거에서 받은 이벤트 발생시 Hand소켓에 무기 부착후 CheckWeapon 변수를 True로 바꿔준다.
애니메이션
CheckWeapon
을 리턴해주는 함수 선언
Player.h
bool GetWeaponState();
Player.cpp
bool AFPSPlayer::GetWeaponState()
{
return CheckWeapon;
}
AnimInstance
에서 받아오도록함
AnimInstance.h
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Pawn, Meta = (AllowPrivateAccess = true))
bool WeaponState;
AnimInstace.cpp
auto Character = Cast<AFPSPlayer>(Pawn);
if (Character)
{
IsInAir = Character->GetMovementComponent()->IsFalling();
CurrentWalkSpeed = Character->GetMovementComponent()->GetMaxSpeed();
WeaponState = Character->GetWeaponState();
}
받아온 변수를 이용해 무기를 든상태의 애니메이션과 블렌딩
댓글남기기