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"

Collision not working when standing still?

For a couple of days now, I've been trying to make a simple door. You open and close it with a simple button press. Everything works fine except for one thing. When the player character stands still while interacting with the door, it passes right through as if collision wasn't even enabled (which it is of course). But when moving around, collision works just fine and the door pushes the player along with it as it should.

I made 2 GIFs to make it easier to understand.

Standing still while opening/closing the door. Passes right through.

GIF 1

Holding down the W key (walking forward) while opening the door. I'm pushed along with it, as intended. GIF 2

I'm using a blueprint with a timeline to open/close the door, and I'm using the first-person blueprint called "PlayerCharacter" from the "ContentExamples" as my pawn. I've tried, what feels like, every possible combination of collision settings on both the door and player character. I can't for the life of me figure this one out...

Product Version: Not Selected
Tags:
more ▼

asked May 27 '14 at 04:15 PM in Using UE4

avatar image

LEMMiNO
77 7 11 15

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

5 answers: sort voted first

Hey guys,

Sorry for the delay. There is some development being looked into to make this unnecessary but there is currently no timeline for a change. This is a simple workaround that can certainly be cleaned up, but it should help you get going. There's a few pictures so it'll take a couple comments to post it all.

The first step is to create a function in your Character Blueprint that will update the character's position when called. It includes a Vector Input. Really very basic:

alt text

Next, we need to add a component to the Door Blueprint. On the edge of the door opposite its hinges, add a box component. I called mine DoorEdge. We're going to update the door opening part of the Blueprint to set a Vector Variable with the DoorEdge's location at the beginning of the timeline.

alt text

more ▼

answered Jun 11 '14 at 10:38 PM

avatar image Ben Halliday STAFF Jun 11 '14 at 10:48 PM

After the door is rotated, we do a quick check to see if the door is touching the character. I have already set up the IsTouchingCharacter bool variable:

alt text

If the door has reached the character and they are now touching, we Cast to the Character Blueprint's push function. We do a simple subtraction of the beginning position of the Door Edge component from the current position, and pass it to the function.

alt text

So every tick of the Timeline, it gets the Door Edge's location, and if it's touching the character it will tell the character to move by the distance the Door Edge moves. There are some issues that can be cleaned up (such as doing a check to see if the character is being pushed into another mesh, maybe halting the door if that happens, etc), but this basically works.

Again, I know this isn't ideal and I believe the developers are looking into making this unnecessary, but this should help in the meantime. You can apply this to anything that needs to move a character with the CharacterMovement component when it is standing still.

Anyway, hope that helps! Let me know if you have any questions.

Ben Halliday

dooristouching.png (55.6 kB)
doorpushchar.png (87.0 kB)
avatar image LEMMiNO Jun 14 '14 at 10:08 AM

Thank you! This works perfectly!

avatar image cossacksman Oct 19 '15 at 08:05 PM

Is this still necessary? I'm experiencing this to date using animation timelines and this is not intuitive at all, I imagine people will spend at least 30 - 45 minutes of their time believing it's their fault haha.

(Edit: Alternatively, I'd recommend people to produce doors that swing away from you depending on which side you activate it from.)

avatar image Inviter42 Feb 07 '16 at 06:49 PM

Probably someone will be interested - following to your suggestion I've created blueprint for a door, which could be opened in both directions, depending on side where player's trying to open it. pic1 I will do quick explanation about what's going on here. So when player pressed 'F' key we're checking is he inside one of our trigger boxes, so he's able to interact with the door. If it's so - pass control to a CompareFloat function, which checks if our door is closed or opened(and if so - in what direction). If the door spin > 0 - pass control to a FlipFlop function and further to the Timeline, which responsible for the positive(0deg-90deg) sector animation. The same thing for the door spin < 0 - pass control to the FlipFlop and to another Timeline, which do animation for our door in the negative sector(-90deg-0deg). If the door spin is 0(literally the door is closed) we ask - in what direction we wanna push our door, depending on where a player is(in what trigger box). If in 1st - pass control to FlipFlop and positive sector timeline, if in 2nd - to negative sector timeline.

pic2

98cvmes[1].jpg (170.7 kB)
1sgcicq[1].jpg (169.2 kB)
avatar image Nolan the Fox Sep 03 '18 at 11:57 PM

That add pin node, The one thats connected to the Get Actor Location, how did you make that?

avatar image CKong Sep 04 '18 at 03:34 AM

From the Get actor location node, drag out the return value, then release left mouse, blueprint list pop up, either press + on keyboard or look for it under Math category, there are several case of add pin node, either as vector3 + vector3 or vector 3 + float.

Another note is that you shouldn't comment/ ask on old topic/ question, especially if it doesn't relate to the origin question. It is way better to create new question, you may get help faster, it is easier to gasp what you want to ask, and another reason is each time someone comment/ answer on a question, everyone that have comment/ answer/ ask will get a notify email, so if too many people do this, it get messy quicky.

avatar image AlexeyLM Apr 12 '19 at 10:36 AM

Based on the above, I added an overlap box to the door. In the character I check the intersection with the door, if this is true, then I add a minimal movement (0.001) in the direction of the look (but during the overlap, the character will move a little). Maybe this option will help someone find the right way out of the problem. In fact, it does not matter which way the character moves, the main thing is to make the collision work every tick)alt text

bp-character.jpg (97.2 kB)
(comments are locked)
10|2000 characters needed characters left
Viewable by all users

Hey Lemmino,

Is your door a Physics Actor? In the MyCharacter Blueprint Components, check the Collision on the [ROOT] Capsule Component. The Capsule Component is what is used to detect collision with the world in general, rather than the Mesh. Expand the Collision Presets section. If you are using the Pawn Collision Preset, which the MyCharacter Blueprint uses by default, then the Collision Enabled will be set to No Physics Collision. Switch the Presets to Custom, and then switch the Collision Enabled to Collision Enabled.

Hope that solves your issue. Please let me know if it does not and we'll look into how you're moving your door.

Ben Halliday

more ▼

answered May 27 '14 at 06:44 PM

avatar image LEMMiNO May 27 '14 at 07:21 PM

Hi, thanks for the reply.

I remember trying what you suggested before (with the door as a Physics Actor) and I gave it another try just in case I missed something. Unfortunately that wasn't it.

I have the collisions set up like this right now:

The player: alt text

The door: alt text

I've also tried using an "OnComponentBeginOverlap" in blueprint, but it doesn't even fire when I stand still.

avatar image Ben Halliday STAFF May 27 '14 at 09:55 PM

How are you moving your door? Via Matinee or Blueprint? Would you mind letting me see the Event Graph for the door movement, if it is via Blueprint? Thanks!

avatar image LEMMiNO May 27 '14 at 10:45 PM

I'm actually moving the door using a timeline in blueprint. Here's a screencap:

alt text

avatar image AttemptD May 28 '14 at 04:51 AM

i'm struggling with something similar. I I have enemies approaching me at all times...I'f I'"m moving the collision is fine...If i' standing still they go through me.

anyone have any idea? is it a collision issue?? I feel like I've tried everything.

avatar image LEMMiNO May 28 '14 at 09:37 AM

Good to know I'm not the only one with this extremely annoying problem at least.

Are you using Timeline nodes when the issue occurs AttemptD?

It's almost as if the player character is considered a static mesh while standing still. Thus when the actor moved by the Timeline (the door in my case) collides with the player, it's ignored because a static mesh can't be moved.

That's my best guess so far. I really don't know what else I can try...

avatar image Ben Halliday STAFF May 28 '14 at 11:59 PM

Hey guys,

I've looked into this further and the problem is that Simulate Physics is turned off on Pawns. Turning it on, unfortunately, isn't an option because that will cause a conflict with the Character Movement component.

So if you're looking to have a moving mesh displace a character, you'll need to actually apply velocity to the character based on an overlap event. I will look into doing this via Blueprints tomorrow and see if I can find a simple solution using this method.

This will of course be tricky to get right and isn't an ideal solution. I will also talk to the developers and see if they have any plans to make this more accessible.

avatar image legendary games May 08 '15 at 10:05 PM

Hey ben will this ever work?, what is the status of the fix you talked about.

avatar image Ben Halliday STAFF May 11 '15 at 06:45 PM

There hasn't been any change yet. For now, your best bet is to implement something similar to what was described above.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

Add blocking volume around your mesh which you want to be player pushed by. Attach this volume to mesh which you animate via matinee. In character BP, in capsule component, set trace complex on move to true. Then player will be moved by blocking volume. I tested it on 4.6 and it works.

more ▼

answered Feb 07 '15 at 12:39 AM

avatar image

hamsterPL
277 17 23 34

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

I have come across lot of people complaining about this, and i Had the same problem with a mobile game im trying to make, I wanted to have lots of various traps that would be able to push the character, and i couldnt figure out how to do it well as when ever character is still, traps just went trough it

my solution? make the character move ! if the character is moving collision works so on tick, i move my character 0.001 to left, then 0.001 to right, the move amount is small enough not to be visible, and it makes the character be pushed by moving objects :)

https://i.gyazo.com/8d36d3bb2683ab296fccaff1a4a0aa37.png

may not be perfect but it works, hope this helps someone out there

more ▼

answered May 30 '19 at 09:01 PM

avatar image

Sarr
31 1 3 4

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

Here is my decision. It looks like the previous one, but it’s not the player himself who moves, but the box created in it.alt text

1.jpg (426.5 kB)
more ▼

answered Jul 01 '19 at 04:46 PM

avatar image

Miko_Marchelloty
1

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
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