How to make a character bounce off a wall?

So as simply as possible to avoid instant downvotes:

My Zero-G character STOPS suddenly when the head collider touches any wall etc. I simply want it to act as Physics would dictate, to bounce off a bit if at near ~90° oblique angle or to glide to a stop if hitting wall at an ~170° obtuse angle. Here is my Blueprint: https://www.sendspace.com/file/9d5tj5

More (ancillary) info for people who either simply care about others OR don’t think the written word is a personal ATTACK and downvote for making them read:

I have been on forums with this ONE GAME KILLING QUESTION for 2 months. I got vague clues and hints. I have spent real $, or found trial access to blueprint tutorials from Lynda, and Digital Tutors, and a general Udemy Tut., I bought a $50 book called: ‘Blueprints: Visual Scripting in Unreal Engine’ SO: Now I know how to do pickups, Toggle lights, change materials and turn damage from Pain Zones into declining heath. ALL THE THINGS I HAD ALREADY LEARNED FOR FREE!
But NOTHING about how to make a character bounce off a wall, or even any real clues, that level of diagnostics takes YEARS of working with the engine. The tutorials are vague, non-specific overviews. If I need to figure out EVERYHING THERE IS TO KNOW ABOUT PHYSICS IN UNREAL so I can fix one small problem, I would be better off shelving the game I spent 6 months working on in VR Editor to make a complex giant world, and do something different.

I’m sure all of you learned the tool instantly and never needed help.

I am trying to get off disability, and rebuild my graphic art career by working on unique VR games and adventures, . I am going without groceries because I wasted money on BASIC tutorials. I already wish to hell I hadn’t survived the **** cancer. Fought so hard for 3 years of vomiting and dry heaving 16 hours a day from one failed chemo after another. Until my stomach muscles wouldn’t let me sit up. (I know no one cares, but I hope the ugly, broken hate filled **** world is a little nicer to you, after you (statistically) go through the same thing (and I would say ‘hopefully’ survive, but surviving is the real curse in today’s world…) I have made it 95% of the way by myself, can’t anyone have enough human (or Fellow Game Dev) compassion to help me get over the final hump?

I can offer game credit, game Profit Participation (but is our first game) or any of $30000-$60,000 of Hollywood level assets collected over 25 years working in films in L.A.
I’ve worked on everything from Interstate '76 in '97 to ‘Life of Pi’ in '12. I have 3D Models from Film, TV and games/ I have 10,000 Motion Capture files, Pretty much EVERY Pay 3D Model collection, $10,000 of Kontakt Sound-Libraries, Endless stuff and endless Unreal Assets too. Surely you could use some assets.

Thank you for your time, anyone who read this far. Robert.

1 Like

Hey I’m unsure where the issue is, if you set Simulate Physics to true it should bounce off any surface it acts upon. but I been looking at your BP and have some ideas.

in your bp you got a physics root that has no collision? maybe I’m just missing the model. question is if you want your pawn to have physics or not, but since you checked to simulate physics I assume so. all I did was adding a capsule collision to the pawn and enabled simulate physics and set the collision to block all. if I now take it and smash it against a wall he bounces off it like it should be.

but there could be other variables which do not allow that.

Hello,
Thank you for replying. I worked in CGI for 25 years 3D Studio (3ds Max) since release 1 for DOS!, , and Unity for a few years, but am very new to Unreal, especially blueprints. I left Unity because I could not understand the Physics System ironically) I have been battling this one problem for almost 2 months, nearly 100 hours, changing to Add force, add Set Physics, Add impulse,. I spent nealy $200 on tutorials, books, videos and have learned a lot, but never the specific thing I need, not even close. If I am missing a collision as you say. I don’t know where and it would take another 2 months of comparing blueprints and going nuts.
I have no preference how it happens, I just want the character to NOT STOP the second it hits a wall,. Is there anything I can offer you to make the required change to my blueprint? I really will give you credit for ‘Additional Game Scripting’ or whatever you think is fair, and/or trade assets… the limit of advice I have recieved, in 2 months, is stuff kike, 'Turn off Sweep, that will fix it," . I turned off every sweep i could find, but it did nothing and the people didn’t follow up when I asked further questions.

I am a character animator, (for 25 years) I plan to release this game then parlay its AAA characters and visuals etc, into helping me find a find a BP scripter to partner with.( I have learned health, damage, pickups, all the usual stuff, but physics seems very impossible for me to learn or control.)

I have uploaded the original simple working test scene with all the BP’s objects etc. without my giant world ading a Gig!

Maybe this will make it easier to diagnose (and maybe fix)? I know it is a simple physics fix, but after literally 100 frustrating hours, (I have kearned pretty much everything else…) I am not one tiny bit closer to understanding the multitude of layers of physics options, collisions, Sweeps, Hits, ugh… and endless check boxes,. I don’t even know which of 12 ‘physics enabled’ check boxes is THE ONE LOL… The Pawn Character alone is made of like 5 objects, An Actor, Collude, Camera, Pawn,. Plus… each with their own details panel, comprising no less than 10 physics enabled and collision enabled check boxes… I would be a solid YEAR doing random changes, before maybe hitting on the right combo of 500 interconnecting physics variables, before finding out what to do and why. I have already tried everything I thought would work.
. At one point I even got the exact bounce I wanted off a pillar, (Using Physics Set Velocity (x=10 y=10, z=10) and checking ‘add to’ velocity) I was so happy, for 3 seconds… BUT: then the second object, I Flew Right Into and got stuck in, lol. I have seen EVERY behaviour except what I need. (Flying out of the scene at 10 million MPH, Spinning 10,000 revolutions a second etc),. This is killing all my passion and interest in Unreal, in VR, in Developing, Heck, even in Breathing or being awake… I have never been this frustrated except in a hospital bed for 3 years fighting cancer. If there is any way to convince you, to please just help me with the actual BP, I would be so grateful AND LEARN from it… Maybe just tell me what the difference is so I can learn in reverse, and maybe where I can change the ‘friction’ or scale, so I can bounce ‘less’ or more overall…
With this one fix, I would be able to release Early Access in less than a week. I’ll give you a free copy! (Though I probably won’t charge for my first outing ;“) and use the look of the game, to find a BP oriented partner, so I can stop this dangerous levels of frustration, be who I am and do what I do, ( create worlds, write the story, animate characters and compose the orchestral score! ;”)

THANK YOU FOR YOUR TIME!,

Woody.

Hey, heads up man I know unreal can be very frustrating from time to time! do you have skype or discord? this would make it easier to communicate :P.

Two ways:

  • If it is a character, you can use a trigger with a component to get Z normal, then laucnher character in the normal location(normal point away from wall)
  • If you are using physics, you can projectile component and check the “should bounce” option. This is doable, but you may have to change a lot of settings on the fly if using character.

HI, That mostly sounds like Greek to me still. Thats why I mentioned I need Actual Help not clues and suggestions, no offense! It’s too kate for that, uf it was 2 montgs ago when I started asking, it would be different… But thanks!
I have bought a $50 Unreal Physics book, (and 2 otger $50 Unreal books…) but it is terrible, it defines block with the word block. Overlap, with the word overlap… I was starting to ‘get’ some of this Projectile thing, but now that you say ‘If I’m using a character’?? I’m back to two months ago and completely lost again, just like that., Character? What??? Isn’t all this the point of making a character. (Or I thought it was called ‘actor’ ??. )
After 8 months of building I am going to have to shelve, I have asked about this problem for two months and all I get are vague clues that do not help a beginner. As I said, 25 year Character Animator, I haveno intention of doing Blueprints, Ivwill oartner up. But to be this close to release and be stopped, anyone should be able to understand that I just need a few minutes of actual help. ONE SILLY LITTLE THING IS KILLING MY FIRST GAME. With what should be the DEFAULT BEHAVIOUR that things bounce off each other, not just suddenly freeze in place,… Nothing in the real world works like that! Sorry I’m very frustrated. Almost suicidal. For 2 solid months, 12-16 hours a day, tesying and scrioting and buying books and expensive videos, nothing ever works, i’m YEWRS away from the understanding I need. So everything else i do, my work, my art, all becomes USELESS because of one little issue EVEN THOUGH THERE ARE MUTIPLE HELP COMMUNITIES!
. i’m insane now, no longer even Human!

thanks, (you seem like a nice person) but I am more depressed than I have ever been except while in hospital for three years dying of cancer. Unfortunately it lost.
I don’t do Discord, people instantly attack each other, I don’t have the fortitude to deal with that ever again. I’m way too shy to ever try Skype,. I don’t even talk on the phone, I don’t leave my house,. Like I said, I am a character animator, (a Good one…) I will find a BP partner, for now, I just need actual help with one tiny issue. Any way you could just take a look at the BP (full sample project: ) and add a collision and physics bounce on my head Collider. (Or whatever the fix is,…) I either have to shelve this (like a month ago…) and move on or do early release, I am 200% out of time. This one problem took the last 2 months I had. I have to move on and do other work 16 hours a day… I offered everything I have to offer. Thanks for your time, PLEASE JUST HELP IF YOU KNOW WHAT TO DO!

Any chance you would make the change in my BP for $$$ or Assets ( I have like $60,000 of 3D Models, Scenes, Sets, Interiors Exteriors, 10,000 motion capture files, endless assets, I would definitely offer a Credit in the game as Additional Locomotion Scripting or? PLEASE HELP< I am a Character Animator for 25 years, after 62 days of asking for help I am DESPERATE, all the suggestions sound like Greek, I do not plan to be a Scripter, I plan to find a partner but having a game out there to point to would make that a LOT easier! PLEASE PLEASE PLEASE just help me with this one script, just normal bounce of a wall or glide to a friction stop if at low angle Like normal physics (as you say above) I tried everything you said above as best i can,. I am getting no closer after two months of obsessive 16 hour days.

PLEASE. Thank you
Robert from @NextWorldVR

Hi NextworldVR

Sounds like you’ve ended up down a right old rabbit hole :slight_smile:

I’ll try to take a look when i get home later if no one else has sorted it, can’t promise a magic fix but I’ll have a go :slight_smile:

in theory if your character is floating about in zero g using physics, bouncing should be the default behaviour so possibly just a simple setup problem. Caboose’s post seemed to point to that so i’ll try what he advised and let you know.

regards

I sure would appreciate it,** a very nice guy** tried to help and got one wall to let me ‘slide’ but he has no VR device to test with,. he disconnected all my existing functionality then told me ‘just reconnect it’ but now everything I reconnect says ‘BP Error’. He is a nice guy though, but I don’ think this will be the right path (when I got one hand grabbing walls again, I would throw outward and get stuck in place in space! :slight_smile: So I’m going backwards at this point ,…

So I am well and truly lost. I will DEFINATELY give you game credit. To support the games market saturation, I have Thousands of Youtube Subs, 6,000+ Linked-In connections I worked as a Character Animator on real 3D Films like LIFE of PI, and at companies like Praxis Filmworks, Warner Bros, ACTIVISION, The games I make will get attention,… ALSO I have between $30 and $60,000 worth of 3D Hollywood Assets collected over 20 years. 3D Sets, Scens, Characters, 10,000 motion capture files, endless stuff to trade/gift for the help!

THANK YOU THANK YOU Please let me know if there is anything I can sent to help, screen grab videos of functionality etc. ?? I am very appreciative!
Robert

NextWorldVR (@) gmail.com

hhmm yeah…i had a look…wherever you got that code from I’d ask for your money back that’s horrific. It’s not really setup for bouncing or physics it would take rewriting the entire pawn actor, it’s setting the velocity rather than using physics to calculate the velocity. The settings are all wrong on the root component and head collision so they conflict with each other. The head component acts as an overlap object but it’s also blocking stuff aswell.

You need to add impulses rather than using ‘setphysicslinear’.

When you collide with objects its setting the velocity to 0 which is another reason it’s not bouncing.

Probably not what you want to hear but that will take someone with more time and willpower than me to sort out. I can send you a version where i’ve got it bouncing but the only way to get it to do that is by literally ripping out the entire Tick event and changing loads of settings on those two components so you’d have to redo whatever that horrific grabbing code is doing.

Sorry I couldn’t help more but…lifes to short mate :slight_smile:

Especially after asking the same question for 14 straight weeks, life is definitely way too short!

Every Single Person has said the same thing: ''Don’t use ‘Set Physics Linear Velocity’ but what about using a NON Zero entry in the Set Physics Linear Velocity? I have to say, putting 10-30 in the New Vel boxes gives a perfect little bounce! The only problem, not always ‘bouncing’ in the right ‘direction’. Seems like I just need to ask Unreal: ‘**what direction was I going before colliding, please continue in that direction after bouncing’ **(I have tried AddForce and AddImpulse in place of Set Physics Linear Velocity, but it never does anything good, I just fly into a sickening rotating frenzy a million miles an hour, OR get flung out of the scene… SO: If you know please tell me! :slight_smile: I have always suspected it was a simple answer of telling Unreal, BOUNCE HERE IN SAME DIRECTION, and I’m now nearly there with 80% of what I wanted, a simple bounce instead of a JARRING STOP!

Now I just need to tell Unreal, 'Don’t bounce backwards OR sideways, just in same forward ‘direction’ and with a bit less force… :slight_smile: How is it visual ‘scripting’ if it can’t do that simple thing? Do what it’s told,.? I could do this kind of thing in 3ds Max, (even 3D Studio for DOS from 23 years ago) in probably 10 different ways ***not even using physics! ***Siurely it is possible to tell Unreal to continues in a direction and use a little less force???

Here is the same BP with one tiny change that finally gave me little bounce instead of instantly stopping in pace, like it was before,. :slight_smile: So now I bounce, if I could simply control the direction I bounce (in the same ‘forward’ direction as incoming pre-collision angle ) I’d be all set!
(BP image attached)

Maybe my answer is stupid or maybe I didn’t complete understand what you need, i’m not English native speaker sorry about that… but…

if you’re a professional animator, why you’re not creating some realistic reaction animation when the actor/character bounce on a wall instead of using physics?

i’m not an animator and i arrange with physics and other marketplace animation, but for you will be very easy to create some nice animation for simulate this specific condition, no?

I appreciate it, but Unreal is a game engine not an animation package per se. There is a way of doing things and it’s not to ‘animate’ simple bounces,. That would be a whole new problem in itself, to use the software in that unusual way. This is a Photorealistic 3D 360° Zero G game where you are flinging yourself across large spaces, Grabbing the wall and flinging yourself away, the only time you bounce is if you neglect to grab something… there is really nothing to animate in terms of the character motion, that is all ‘procedural’ , and therefore interactive,. The weirdest thing I can imagine is stopping a fast pace game, to show a 'animated cut scene ’ of the character ‘bouncing’ off a wall, then back to the game ?? !! ;~) :slight_smile: (it is just not how the Engine works to ‘animate’ simple collisions and reactions Though I’m sure it’s possible like when in Lone Echo, they customize how the fingers 'wrap around poles or convex wall corners when you grab them, That too is probably partly procedural, but it definately ‘customization’ animation, I plan to have the hands do that later n, after I release early access, get ideas from the players,. :slight_smile: It is a single line of code I need to make this happen, I just need to find that code. More complexity is the last thing I need. :frowning:

When I animate, it is in tools like Autodesk 3ds Max, Motionbuilder, etc… there are very few modeling or animating tools in Unreal at any rate (still). Thanks for responding though,.

What I need is the SIMPLEST THING IMAGINABLE, Physics is not even required. I just need to like, **set velocity to the direction the character is facing, or perhaps the impact normal between that and the wall they’re pushing on, and multiply by a number that represents the strength of the push. Simply emulate physics by bouncing away from a wall. I can’t believe in 2 months no one has been able to help me make this happen. It’s embarASSing for this generation of people is what it is!!

thanks!!**

Simply emulate physics by bouncing away from a wall. I can’t believe in 2 months no one has been able to help me make this happen. It’s embarASSing for this generation of people is
[/QUOTE]

Keep in mind that no one here is obligated to help, if someone helps then they do it by sacrificing their own free time or development work time to** research stuff for you. **Talking down to them or the community in general is in no way a motivation for anyone to help you. If no one gives you an answer to your soluition that doesn’t neccessarily mean that you are getting ignored or mistreated, it most likely means that no one reading the forums has needed a solution for your problem before or that those who do know the solution either don’t read the forums or are too busy with their own projects.

For bounce physics, google has tons of results when you search for “3d math bounce vector normal”, this link helps alot understanding the basic physics behind bouncing
https://www.3dkingdoms.com/weekly/weekly.php?a=2

Ok, rant being done (i hope you didn’t take it too personally), lets try to help you : I’ve been trying to see what exactly you need, but many of your different posts desriptions/wordings of what you want is quite different, so it’s quite hard to grasp what exactly you need.

Lets take this one step at a time.

First basic bouncing:
Take a look or try out this stuff and report back what you need changed and what needs fixing/tweaks, i’ll try to help you as much as i can.

If you want your character to bounce off any wall, regardless of the angle, add a “Last Velocity” Vector variable to your object to save what velocity you had BEFORE you hit something and use this graph and you’ll bounce off anything that hits your characters capsule component
We’ll add stuff to it later to make it do exactly what you want.

later I’ll download your test project that you uploaded and check what i can do.

Agreed, the only problem I see is the OP’s attitude.

Or like this:

vid:

https://drive.google.com/file/d/1TAA…SLw2UbBfq/view

edit: @StefanHohnwald - does it work with ParentTick like that? Neat!

Hey, good idea with the tags, that way you can exclude surfaces from bouncing the player around.
I also didn’t know these other nodes like Mirror Vector by Normal, as you can see i did the math “manually”. :o

@Everynone : To get a “call parent” node you can rickt click on the function/event node and use “add call to parent”. It’s useful when you don’t want to plainly override a function from a class, but instead only add functionality to already existing behavior. So you call your parents function first to do whatever your parents function/parent class is doing in that function and then add your additional stuff. C+±wise, in this case it’s equivalent to using


Super::Tick(DeltaTime);

I understand inheritance and overriding, I even remember explaining parent calls to someone years ago on this very forum. :slight_smile: Somehow it never occurred to me it would work so nicely with this. I felt a bit awkward using the Delay with Tick like that. Works well. Thanks.

I had difficulty getting my character to bounce off of walls, but the posts from and gave me the perfect solution. Thanks you two.

I’m afraid it’s my fault that the OP has been left hanging looking for a solution for so long… This is something that I should have been working on months ago to improve my zero-g movement project… but I had a really rough first-half of the year. Plus for some reason the UE Forum had turned Off all my email notifications by default… So that really messed things up.

I can’t remember exactly why… But there was a BIG reason why my code had to do things in such a roundabout way… I tried several methods before arriving at my somewhat messy blueprint. If I remember right, add impulse didn’t work properly when applied to a VR pawn, while using the hands as a velocity reference, and I wasn’t able to get UE4’s built-in physics to do what I wanted… So I ended up having to do the physics interactions myself, all in math formulas… I know it looks horrible, but it was the best working method I could come up with at the time… Other methods simply didn’t work anywhere near as well.

Anyway, I’m really excited about all the good suggestions people have been giving NextWorldVR on this topic! So I’ll have to try implementing them into the Zero-G movement, to see what works. I was REALLY struggling with this last year, and eventually sorta gave up on any bounce. So this has been very helpful to read. Can’t wait to try getting it working again!

EDIT: BTW, Part of the problem is that for VR the player’s head isn’t something that the engine considers alterable, it’s more like a marker of where the head is, given to the engine by the VR drivers, not an object created by the engine. Attaching a physics object to the head doesn’t seem to work, because the head isn’t part of the engine, so it ignores collisions and any action that tries to move the head, such as bouncing into a wall. In order to bounce the player away from the wall, the forces have to be applied to the player’s pawn’s root-object which is entirely separate from the head. Hence my sloppy work-around method for accomplishing what I was able to get working so far…