const FHitResult UGrabber::GetFirstPhysicsBodyInReach() { // Line trace FHitResult HitResult; FCollisionQueryParams TraceParms(FName(TEXT("")), false, GetOwner()); GetWorld()->LineTraceSingleByObjectType(OUT HitResult, GetReachLineStart(), GetReachLineEnd(), FCollisionObjectQueryParams(ECollisionChannel::ECC_PhysicsBody), TraceParms); return HitResult; }
/// Return hit for first physics body in reach const FHitResult UGrabber::GetFirstPhysicsBodyInReach(){ FVector PlayerViewPointLocation; /// Set up query parameters FCollisionQueryParams TraceParameters(FName(TEXT("")), false, GetOwner()); /// Line-trace (AKA ray-cast) out to reach distance FHitResult HitResult; GetWorld()->LineTraceSingleByObjectType( OUT HitResult, GetReachLineStart(), GetReachLineEnd(), FCollisionObjectQueryParams(ECC_PhysicsBody), TraceParameters ); return HitResult; }
const FHitResult UGrabber::GetFirstPysicsBodyInReach() { // Ray-cast to reach distance FHitResult LineTraceHitResult; FCollisionQueryParams CollisionQueryParams(FName(TEXT("")), false, GetOwner()); GetWorld()->LineTraceSingleByObjectType(OUT LineTraceHitResult, GetReachLineStart(), GetReachLineEnd(), FCollisionObjectQueryParams( ECC_PhysicsBody), CollisionQueryParams); // See what we hit auto ActorHit = LineTraceHitResult.GetActor(); if (ActorHit) { UE_LOG(LogTemp, Warning, TEXT("Hit %s"), *(ActorHit->GetName())); } return LineTraceHitResult; }
const FHitResult UGrabber::GetFirstPhysicsBodyInReach() { /// Setup query parameters FCollisionQueryParams TraceParameters(FName(TEXT("")), false, GetOwner()); FHitResult HitResult; /// Line-trace (Aka Ray-cast) out to reach distance GetWorld()->LineTraceSingleByObjectType( OUT HitResult, GetReachLineStart(), GetReachLineEnd(), FCollisionObjectQueryParams(ECollisionChannel::ECC_PhysicsBody), TraceParameters ); /// See what we hit AActor* ActorHit = HitResult.GetActor(); if (ActorHit) { UE_LOG(LogTemp, Warning, TEXT("Line trace hit: %s"), *(ActorHit->GetName())) } return HitResult; }
const FHitResult UGrabber::GetFirstPhysicsBodyInReach() { FHitResult LineTraceHit; ///Setup query parameters FCollisionQueryParams TraceParameters(FName(TEXT("")), false, GetOwner()); GetWorld()->LineTraceSingleByObjectType( OUT LineTraceHit, GetReachLineStart(), GetReachLineEnd(), FCollisionObjectQueryParams(ECollisionChannel::ECC_PhysicsBody), TraceParameters ); AActor* actorHit = LineTraceHit.GetActor(); if (actorHit) { UE_LOG(LogTemp, Warning, TEXT("Line trace hit: %s"), *(actorHit->GetName())); } return LineTraceHit; }