Announcement

Collapse
No announcement yet.

Zero-G hand-based movement, locomotion mechanics similar to Lone Echo/Echo VR (Updated 1/23/19)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Zero-G hand-based movement, locomotion mechanics similar to Lone Echo/Echo VR (Updated 1/23/19)

    This is my attempt at recreating a similar Zero-G VR locomotion system to the one found in the Lone Echo/Echo VR games.

    It allows you to grab onto walls, and push yourself off as if you were floating in 0g. There are also thrusters on your hands that activate with the B/Y buttons, and boost/air-brakes on the thumbstick clicks. The button layout is the same as the Echo VR games. I also included the object-grabbing/throwing ability from the original VR template.



    UPDATED 1/23/19:
    Finally got a head-bounce working, when the player bumps into a wall, they now gently bounce off it, in a somewhat realistic way, similar to EA.
    Disabled the smooth-turning I was using before, switched to a basic 45' snap/comfort turning mode, since a couple people asked.
    Also added the same boost/air-brake functionality from EA, although my speed settings for those are a little different than EA's.
    Oh, and I updated/loaded up the project into UE4.21.2 and everything seems to function great!

    Project Download Link:
    https://drive.google.com/open?id=1Tf...MU-TDMLEB9p5fj


    Original post, old version links:
    Earlier this year I tried the Mission ISS vr demo, and almost immediately I started working to recreate that VR movement method in my own UE4 projects.
    A little later, Echo Arena (and Lone Echo) came out, and the Zero-G movement they did for that felt even better, so over the summer I tried to match what Echo Arena's movement mechanics felt like.. The hardest part for me was getting the physics/math of the hand-thrusters and their speed-limits working properly. But now I think I've got it pretty darn close enough!

    Anyway, I like this movement mechanic a lot, and I'd love to see more VR projects/games using this kind of VR locomotion.. So I figured I'd share what I've learned/created! ;D

    I'm not that good at making templates, so forgive me if it's a little sloppy.. I've tried to make it as straight forward and simple as possible, but feel free to ask me questions if something is confusing. Basically, I started with the VR hands/teleporting template that comes with UE4, then I stripped out everything I didn't need, and modified the MotionControllerPawn to simulate 0g physics. The rest of the work is done by my Blueprint scripts, which I just added in with the existing MotionControllerPawn's BP.

    You can download the OLD project files here:
    https://drive.google.com/open?id=0B8...W80bnVTTm9XUGs
    (this old link may stop working if I need the gdrive space)

    Or if you just want the important Blueprint parts, that go into your pawn, I put it up here:
    https://blueprintue.com/blueprint/at-5l42i/
    (This is also outdated, might update it later if people need it.)
    If you make something with this, just gimme credit for it somewhere, and if you don't mind I'd love to know about it! I hope someone finds this useful! Let me know if you need help, I'll try to respond, tho it may take time sometimes.
    Last edited by NikoKun; 01-26-2019, 02:21 PM.

    #2
    Many thanks NikoKun I have downloaded the project and will check it out soon. Curious to see how it feels.

    In the meantime I would like to praise the fact that you have worked hard on it and that you have decided to share it with the community. Kudos!!!

    Cheers,
    Marco.
    CTO | Head of VR Development - Visit us at http://humanxr.com
    My UE4 Tutorials (mostly VR): https://goo.gl/GUvDyV

    Comment


      #3
      Cool, thanks! Let me know how it works for you, the controls should be basically the same as Echo Arena's, tho I didn't add a boost or airbrake, heh.

      Comment


        #4
        man the first time I played echo arena I was like man this game needs a gun mode. if I am successful merging your movement with a gun mechanics i'll definitely give you credit.

        Comment


          #5
          NikoKun I have tried your template and I really enjoyed the experience. Well done!

          Only two observations: 1) sometimes I found myself "sticking" to the walls or to two floor. Eventually I could get off them, but it took some tries. 2) The rotation with the thumbstick while moving is a particularly sickening movement. I would make it much much slower. You can still turn, but not at that high angular speed.

          Keep up with the good job! :-)
          CTO | Head of VR Development - Visit us at http://humanxr.com
          My UE4 Tutorials (mostly VR): https://goo.gl/GUvDyV

          Comment


            #6
            Originally posted by vr_marco View Post
            NikoKun I have tried your template and I really enjoyed the experience. Well done!

            Only two observations: 1) sometimes I found myself "sticking" to the walls or to two floor. Eventually I could get off them, but it took some tries. 2) The rotation with the thumbstick while moving is a particularly sickening movement. I would make it much much slower. You can still turn, but not at that high angular speed.

            Keep up with the good job! :-)
            Thanks. Glad it worked well enough.

            Yeah, I've been trying to come up with a way to simulate the player's head bouncing off surfaces like it does in EA, but so far detecting the collisions and the angles involved isn't working the way I'd expect, so I just sorta had it stop the player for now. :/ It shouldn't make you get stuck, but I haven't tested that aspect extensively.. lol
            And as for rotation, woops.. I left that set to a speed similar to what I use in EA, which I can tolerate for competitive purposes, but yeah, that's too fast for most people. heh It's easy enough to decrease that tho. I'll have to lower it when I do the next version with head bounce or something. lol
            Last edited by NikoKun; 10-06-2017, 11:25 AM.

            Comment


              #7
              NikoKun thanks for the demo project decided to use this movement into my game its awesome, thanks in advanced!
              My website: https://www.pijellypin.com
              Multiplayer Components: https://www.unrealengine.com/marketp...yer-components

              Comment


                #8
                Thanks for this, been trying to figure it out for a minute. Working with Windows MR ue4 version 17.2

                Comment


                  #9
                  That's really cool! Wow it opened in Unreal 4.19 looks like you finished it in 4.17, It is amazing, I decreased the size of the player collision cage, That helps a lot with hand placement, . How cool Very good job!
                  Last edited by NextWorldVR; 07-25-2018, 03:02 AM.

                  Comment


                    #10
                    Hello! NikoKun! You said it's ok to ask questions, but you have not answered for awhile, are you still, around?? I would sure appreciate your help. Our game is pretty much finished, can you mention maybe: How to let the body hit surfaces and either bounce off slightly or glide to a stop, -> instead of stopping right away, when the head object it touches any object, like in Echo Arena etc.. ...
                    PLEASE ANSWER, I AM PLANNING TO OFFER YOU REAL CREDIT ON OUR GAME

                    THANKS! .. P.S. IT'S SO FUN TO FLY LIKE THAT IN MY SCENES! it is changing my entire game! PLEAE RESPOND! That one change would make your locomotion perfect!
                    Last edited by NextWorldVR; 07-25-2018, 02:48 AM.

                    Comment


                      #11
                      Originally posted by NextWorldVR View Post
                      Hello! NikoKun! You said it's ok to ask questions, but you have not answered for awhile, are you still, around?? I would sure appreciate your help. Our game is pretty much finished, can you mention maybe: How to let the body hit surfaces and either bounce off slightly or glide to a stop, -> instead of stopping right away, when the head object it touches any object, like in Echo Arena etc.. ...
                      PLEASE ANSWER, I AM PLANNING TO OFFER YOU REAL CREDIT ON OUR GAME

                      THANKS! .. P.S. IT'S SO FUN TO FLY LIKE THAT IN MY SCENES! it is changing my entire game! PLEAE RESPOND! That one change would make your locomotion perfect!
                      OMG! I am really sorry. I totally forgot to check this post, I thought it would email me if there were replies. Sorry for leaving you all hanging for SOO long, I had a real rough start to the year, lost both my father and step-father a few months apart.. And hadn't been able to work on my UE4 projects much. I hope I'm not too late to reply to you.. If only this forum had sent me an email, I would have been happy to try to help more! I only just now realized that the UE Forum had turned Off all my email notifications by default.. So here I was waiting for notifications, thinking no one had replied any further. Really sorry about that!

                      In regard to having the player's head bounce off a surface naturally, it should certainly be possible, but I was having a lot of trouble getting it to work right back then.. which is why I decided to hold off on that and just release it as is.
                      I'm sure it can be done in math, by looking at current velocities and feeding it into an equation, but offhand I don't know the formula to calculate a bounce. (EDIT: I just saw your other posts on this topic, and I'll try to implement some of the suggestions other people posted, to see if I can get this working!)
                      You could also try putting a slightly larger secondary detection-zone around the players head, and when they get close to a wall, if their velocity is over a certain amount and is about to hit it, you could just cut their velocity down gradually instead of zeroing it like I did. (I need to refresh my memory on the specifics tho)

                      I'm currently trying to update my projects to UE4.20.3 and I'll do my best to keep track of this post better, email notifications SHOULD work for me now. I feel so terrible about not responding sooner!
                      Last edited by NikoKun; 09-28-2018, 06:41 PM.

                      Comment


                        #12
                        Hello! No it is great to hear from you. I am sorry about your losses,. I lost my 74 year old Brother in January so I understand it is a hard thing to deal with, that takes the time it takes.

                        I very much welcome any help!! had basically given up on getting the blueprint to a point where I can incorporate it but have always remained hopeful . My world and characters are there and waiting to reengage If I use add impulse or add force, I end up spinning in a 360 circle REALLY Fast I tried get Camera Look at and Get Actor Translate /rotation / position and combine that into a set physics velocity, I tried working with hits, sweeps, physics,.. Anything you can do to improve it i will definately credit you, I am willing to wait to have it in 4.20! (Though most blueprint changes you make in 4.20 I should be able to do in 4.19 too I think,.. I have built a very elaborate world and scenes. Yeah it it can't bounce (Though if I add 100 to the Y of Set Physics Linear Velocity, I get a perfect bounce 1/4 of the time... Could we have 6 'set physics linear velocity' and 'test' (or Get or Ask) what 'world normal' we are moving along, and if we hit something going on world normal x in a positive direction, t is routed to the set velocity that gives a X=100 bounce? I have tried so many things I was certain would work... Anyways, I am in a holding pattern any help would be very welcome and I would be happy to give you whatever credit is appropriate (Locomotion Systems or? ) There is another guy looking at it right now, in a different thread, I will forward any good suggestions he has,..
                        Last edited by NextWorldVR; 10-03-2018, 08:43 PM.

                        Comment


                          #13
                          How hard would it be to create an area within a level to have standard gravity? By the way thanks for this having a blast with it. Also the head bouncing thing is definitely something I would like to see too, even if it's not perfect stopping suddenly is sort of jarring and causes motion sickness easily. I know it's not much but I don't have a lot of money and could throw you $25 via paypal to get the body bouncing off objects working, I wouldn't be surprised if others could chip in for that feature too.
                          Last edited by crumbaker; 10-17-2018, 09:12 PM.

                          Comment


                            #14
                            Also why do custom objects not have collision? This one is throwing me for a loop.

                            Comment


                              #15
                              It's certainly been throwing me for a loop as well.. I think in some ways I'm running up against a limitation of the way UE4's physics engine interacts with VR stuff, and the complexity of blueprints.. I've been trying to tinker with this a bit more lately, also trying to re-work it from scratch, and so far I'm still running into the same odd quirks/bugs. :/
                              Not giving up tho, cause I should still be able to force the bouncing mechanic to work in math, but I'm also having weird collision/hit issues to figure out and so on.. A better coder than me might have more luck or would do this in actual code or something, but that's not my area. :/

                              EDIT: Oh, as for custom objects not having collisions, I'm not exactly sure what you mean. The collision system is not my strong area. lol I may have messed with a setting somewhere, and forgot to put it back, it shouldn't affect anything.. I think as long as objects send Overlap events to the player's head and hands, then all other collision stuff can be set however you need it. I think.
                              Last edited by NikoKun; 01-24-2019, 11:39 AM.

                              Comment

                              Working...
                              X