-
HUD Aim 방향으로 총알 발사Game Programming/언리얼 2023. 10. 5. 16:38
if (GEngine && GEngine->GameViewport) { GEngine->GameViewport->GetViewportSize(ViewportsSize); } FVector2D CrosshairLocation(ViewportsSize.X / 2.f, ViewportsSize.Y / 2.f); CrosshairLocation.Y -= 50.f; FVector CrosshairWorldPosition; FVector CrosshairWorldDirection; bool bScreenToWorld = UGameplayStatics::DeprojectScreenToWorld(UGameplayStatics::GetPlayerController(this, 0), CrosshairLocation, CrosshairWorldPosition, CrosshairWorldDirection);
뷰 포트를 얻어와, 월드의 위치와 방향으로 Deprojection했다.
FHitResult FireHit; FVector StartLineTrace = CrosshairWorldPosition; Start = SocketTransform.GetLocation(); const FVector End{ Start + CrosshairWorldDirection * 50'000.f };
그 뒤, 라인트레이스의 시작 점과 방향을 HUD Aim의 위치, 방향으로 설정했다.
이렇게 하니, 총알 이펙트가 스크린 시작점에서부터 시작 해, BarrelSocket에서 얻어온 위치만 총알 이펙트 시작 위치로 잡았다.
Start = SocketTransform.GetLocation();
'Game Programming > 언리얼' 카테고리의 다른 글
Gun Point Light 효과 (1) 2023.10.06 HUD Aim을 총알 시작점으로 했을 때 문제점 해결 (0) 2023.10.05 CrossHair HUD 추가 (1) 2023.10.05 GunLight 추가 (0) 2023.10.05 Socket offset (0) 2023.10.05