x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Overlap event issue

Code snippet:

 Constructor
 {
 BoxTrigger = CreateDefaultSubobject<UBoxComponent>(FName("DoorTriggerArea"));
     BoxTrigger->InitBoxExtent(TriggerScale);
     BoxTrigger->SetCollisionResponseToAllChannels(ECollisionResponse::ECR_Ignore);
     BoxTrigger->SetCollisionResponseToChannel(ECollisionChannel::ECC_PhysicsBody, ECollisionResponse::ECR_Overlap);
     BoxTrigger->SetCollisionResponseToChannel(ECollisionChannel::ECC_Pawn, ECollisionResponse::ECR_Overlap);
     BoxTrigger->bGenerateOverlapEvents = true;
     BoxTrigger->SetSimulatePhysics(true);
     BoxTrigger->SetEnableGravity(false);
     BoxTrigger->SetCollisionEnabled(ECollisionEnabled::QueryAndPhysics);
     BoxTrigger->OnComponentBeginOverlap.AddDynamic(this, &UDoorTriggerComponent::OnBoxBeginOverlap);
     BoxTrigger->OnComponentEndOverlap.AddDynamic(this, &UDoorTriggerComponent::OnBoxEndOverlap);
 }

 void UDoorTriggerComponent::OnBoxBeginOverlap(UPrimitiveComponent* OverlappedComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult)
 {
     UE_LOG(LogTemp, Warning, TEXT("%f"), SweepResult.GetComponent()->GetMass());
 }

The OtherComp, OverlappedComp, SweepResult.GetComponent() all point to the trigger box, not the colliding object. The events are fired normally, when i enter the collision area the even is fired but for some reason the parameters get messed up. Could anyone help me?

Product Version: UE 4.19
Tags:
more ▼

asked Mar 29 '18 at 07:10 PM in C++ Programming

avatar image

LTheodor
3 1 1 2

avatar image LTheodor Mar 29 '18 at 07:21 PM

It seems that GetOverlappingActors works fine but i still dont understand whats wrong with the parameters.

(comments are locked)
10|2000 characters needed characters left

1 answer: sort voted first

Actually just realised this. The only overlapping component is the boxtrigger itself as anything else will be an actor. Using OtherActor works fine. Marking as solved.

more ▼

answered Mar 29 '18 at 07:25 PM

avatar image

LTheodor
3 1 1 2

(comments are locked)
10|2000 characters needed characters left
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question