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"

Character collision does not detect moving objects when the character is idle.

Hello everyone, straight to the point; I'm simply trying to make a moving wall (and actually any object for future implementations) pushes the character naturally to whatever direction the wall (or any object) moves. However, the character; if not standing ON the object, does not follow the wall movement and does not 'slide' as expected, but stand still inside the wall (ignoring the moving collision of the wall ).

While I saw some old related questions to this, none seems to solve my problem. Timelines, matinee, move component to, any kind of movement I try on the moving wall, the character collision still ignoring it. Staff, is this really working as intended?? If not, I really hope a fix to come soon, as it is a very recurrent need..

Thanks for the patience.

Product Version: UE 4.12
Tags:
more ▼

asked Jul 24 '16 at 03:31 AM in Blueprint Scripting

avatar image

HenriOsbourne
10 2 3 6

avatar image HenriOsbourne Jul 25 '16 at 11:08 PM

Still waiting for response, since it's a very bad limitation, it seems.

avatar image switchblade_77 Jul 26 '16 at 04:43 AM

https://answers.unrealengine.com/questions/227061/collision-unreliable-when-character-is-stationary.html It says here - the developers - that pushing characters with actors is currently unsupported. I am also facing problems with this as my character just keeps re-positioning itself in jerky intervals when any actor hits it while the character is idle. If you find any work around please let me know.

avatar image switchblade_77 Jul 26 '16 at 05:19 AM

https://answers.unrealengine.com/questions/48892/collision-not-working-when-standing-still.html

I found there to be a work around using this method of attaching a box component. I have still yet to try this out. May this help you out. Cheers

avatar image HenriOsbourne Jul 27 '16 at 01:42 AM

Hi, thanks for the response. I saw these questions but they're all quite old,it's been more than a year and yet pushing still not supported. There's no updates on that matter?

I tried a constant Z force but didn't worked for me. The character repositioning occurs in 'jerky intervals' just as you said.

I hope the devs can bring us some good news.

avatar image HenriOsbourne Jul 30 '16 at 08:06 PM

Can I get a response from the staff team about this issue?

avatar image Tonieh Sep 03 '16 at 04:24 AM

I have the same problem, the answer for the door problem was 2 years ago, im sure there is an easy mettod.

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

1 answer: sort voted first

I had the same problem, My problem was related with the door. I made a box component around the door (I guess you would do this for your wall) and surround it entirely. Then I made another box component that attaches to the opposite side of the door hinge at the bottom of the door (I guess this would be the center of your wall). Then I generated on overlap events for the first trigger box and in it I set the bool variable isTouchingPlayer to true and visa versa for on exit overlap event. In the tick function, I just push the player by the delta amount if the variable isTouchingPlayer is true.

 // MyCharacter.cpp
 // Pushes the player by a small delta amoount
 void AMyCharacter::Pushed(FVector delta)
 {
     FVector NewLocation = GetActorLocation() + delta;
     SetActorLocation(NewLocation);
 }

 // SingleDoor.cpp constructor
 ASingleDoor::ASingleDoor()
 {
     SM_Door = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Door"));
     DoorEdge = CreateDefaultSubobject<UBoxComponent>(TEXT("Door Edge"));
     
     //Required for hack
     DoorMeshTriggerBox = CreateDefaultSubobject<UBoxComponent>(TEXT("Door Mesh Trigger Box"));
     
     SM_Door->AttachToComponent(SM_DoorFrame, FAttachmentTransformRules::KeepRelativeTransform);
 
     DoorMeshTriggerBox->bGenerateOverlapEvents = true;
     DoorMeshTriggerBox->OnComponentBeginOverlap.AddDynamic(this, &ASingleDoor::BeginDoorCollision);
     DoorMeshTriggerBox->OnComponentEndOverlap.AddDynamic(this, &ASingleDoor::EndDoorCollision);
     
     DoorMeshTriggerBox->AttachToComponent(SM_Door, FAttachmentTransformRules::KeepRelativeTransform);
 
     DoorEdge->AttachToComponent(SM_Door, FAttachmentTransformRules::KeepRelativeTransform);
     //........
 }

 void ASingleDoor::DoorOpenTimeline(float val)
 {
     FVector DoorEdgeLocation;
     FVector DoorEdgeDelta = FVector(0.0f, 0.0f, 0.0f);
     FRotator DoorRotation = FRotator(0, val, 0);
 
     DoorEdgeLocation = DoorEdge->GetComponentLocation();
     SM_Door->SetRelativeRotation(DoorRotation);
 
     // Push the player if the door is touching the player
     if (GetIsDoorTouchingCharacter())
     {
         // Find by how much the player is to be moved
         DoorEdgeDelta = DoorEdge->GetComponentLocation() - DoorEdgeLocation;
         // Push the player by that amount
         PlayerController->Pushed(DoorEdgeDelta);
     }
 
         // ....
 }

I do not know how to do it without the door mesh trigger box, I've asked a question about it but have not got any reply

Hope this helps you out.

more ▼

answered Aug 08 '16 at 12:20 PM

avatar image

switchblade_77
48 5 8 20

(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