[언리얼 엔진] LaunchCharacter
언리얼의 LaunchCharacter 관련 내용을 정리하였습니다.
ACharacter::LaunchCharacter
- 캐릭터에 launch velocity를 설정해 둔다.
- velocity는 다음 CharacterMovementComponent tick에서 진행되며,
- 캐릭터의 상태가 Falling으로 설정된다.
- bXYOverride, bZOverride 는 true 값일 경우 캐릭터의 Velocity에 더해지지 않고 교체된다.
소스코드
// Copyright Epic Games, Inc. All Rights Reserved.
void ACharacter::LaunchCharacter(FVector LaunchVelocity, bool bXYOverride, bool bZOverride)
{
UE_LOG(LogCharacter, Verbose, TEXT("ACharacter::LaunchCharacter '%s' (%f,%f,%f)"), *GetName(), LaunchVelocity.X, LaunchVelocity.Y, LaunchVelocity.Z);
if (CharacterMovement)
{
FVector FinalVel = LaunchVelocity;
const FVector Velocity = GetVelocity();
if (!bXYOverride)
{
FinalVel.X += Velocity.X;
FinalVel.Y += Velocity.Y;
}
if (!bZOverride)
{
FinalVel.Z += Velocity.Z;
}
CharacterMovement->Launch(FinalVel);
OnLaunched(LaunchVelocity, bXYOverride, bZOverride);
}
}
UCharacterMovementComponent::Launch
- CharacterMovementComponent의 PendingLaunchVelocity 값을 LaunchVel(파라미터) 로 설정한다.
virtual void Launch
(
FVector const & LaunchVel
)
Leave a comment