Announcement

Collapse
No announcement yet.

[FREE] VR Content Examples

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

    [FREE] VR Content Examples

    Click image for larger version  Name:	VRContentExamplesIcon.png Views:	0 Size:	50.5 KB ID:	1729037








    What is it?
    The VR Content Examples project is a collection of VR examples that can be used to get you started or learning how a certain feature/system could be built. The project is pretty much what the Unreal's Content Examples project is with some differences in the project structure and implementation of the single systems.

    What it ISN'T
    The VR Content Examples project IS NOT a template, framework or plug-and-play system. The examples in the project are fully functional but just examples and nothing more. The project does not attempt to replace any full template/framework that you can get from the marketplace or on the forums. If you are looking for a framework, there is a list of incredible ones out there both free and paid.

    Marketplace
    I attempted to release the project on the marketplace but failed. The project went through 2 stages of quality checking by the guys at Epic and it was all looking great until we hit the third stage. Apparently, (I didn't know) products on the marketplace cannot be uploaded and sold for free unless they are code plugins or the content that epic makes free for the month or permanently free. Even against this issue I still tried to publish it on the marketplace at the minimum possible price and was planning to add a link on the page to release it for free. During the third stage of the product review, however, the marketplace team got a concern with my description of the product and when I explained my intentions the product got declined. The reason why I really wanted this to be on the marketplace was for maximum visibility since I assume that there will be a ton of people missing out on this.

    Why FREE?
    This is a collection of mechanics/systems/features that over the years I had to code for personal or work projects. I had a ton of projects sitting in my library each containing one of these examples and, for the longest time, I have been thinking about putting all this into a single project to use as a reference. When I finally decided to actually do it I thought that it would have been good to actually share this with the community. Since these are just examples and not a product it makes sense that the project is just free, plus I love the idea of sharing this.

    Project structure
    As you open the project you will see that each example has its own folder as well as its own map. Some examples are placed in subfolders if a particular category applies to them (e.g. Locomotion systems). Each example tries to keep as much as possible within the example's folder, but reusable assets in the project are all placed inside "Content/VRContentExamples/Content". You will also notice that each example has its own VRPawn and MotionController blueprints, this generates a lot of repeated code but it will also keep the example's blueprints easy and simple to read. It keeps the examples isolated from any unrelated systems that could generate unnecessary distractions. Also, with such a folder structure, you should simply be able to migrate a single example (together with the required assets) without having to migrate the entire project.

    Documentation
    Since this is intended as a learning material I will be slowly making youtube videos on the single systems going over how the systems are built and how they work. Even without video explanations, with each example being completely isolated from the others and the blueprints fully commented it should be easy to get an understanding of how the examples work. If you have any questions just ask.

    4.24
    The project is only available in 4.24 and I will be only supporting one version at the time just to make it easier for me to keep adding stuff to it. Since the project is in 4.24 (I'm sure that most of you know by now and got used to it) watch out for the SteamVRInput plugin which got merged into the engine itself. If you are using a vive or the knuckles controllers make sure that the events used by the example from the project settings input list actually fire before trying to use the example. In a few occasions, I had to actually delete all the SteamVRInput generated files manually and regenerate all of them before getting action mappings to work.

    Example List
    • Look teleport locomotion
    • Point teleport locomotion
    • Blink locomotion
    • Dash locomotion
    • Walk locomotion
    • Jump locomotion
    • Snap rotation
    • Smooth snap rotation
    • Artificial rotation
    • Grab rotation
    • Widget laser pointer
    • Object laser pointer
    • Watch menu
    • 3D widget
    • Bow and arrow
    • Door
    • Drawer
    • Lever
    • Object snap to slot
    • Object follow spline
    • Virtual keyboard
    • VR button
    Suggestions and Feedback
    I'm totally open to suggestions and feedback. Suggestions for new examples should obviously be achievable examples (bad example = implement an entire archviz project, good example = implement a basic climbing mechanic). Feedback is also welcome both in the form of improvements of the systems as well as other aspects of the entire project.

    Have a great day
    DownToCode Website

    VR Debug Plugin - Debug your VR game/application inside VR

    Email Plugin - Send emails from one email address to another.

    FREE VR Content Examples - A bunch of VR examples to get you started and for free.

    #2
    You're saving so many frustrated people with this!
    I've been going crazy trying to create my own object snapping system- but I'm a beginner with blueprints so that hasn't gone very well. haha

    I really look forward to your documentation video on the 'object snap to slot' system and everything else! Keep up the good work.

    Comment


      #3
      Since you were the first one to comment, it only seemed fair to make the first video on the object snapping system
      Alsooooo, I didn't know which one to start from

      DownToCode Website

      VR Debug Plugin - Debug your VR game/application inside VR

      Email Plugin - Send emails from one email address to another.

      FREE VR Content Examples - A bunch of VR examples to get you started and for free.

      Comment


        #4
        Wow, we need more template and example like this.
        Definitely greatly useful for the VR community, thank you for sharing!
        This is this way that we can improve altogether :-)

        Comment


          #5
          Just uploaded a new tutorial going through the object moving on a spline. Enjoy

          DownToCode Website

          VR Debug Plugin - Debug your VR game/application inside VR

          Email Plugin - Send emails from one email address to another.

          FREE VR Content Examples - A bunch of VR examples to get you started and for free.

          Comment


            #6
            Thanks!!!!

            Comment


              #7
              Thank you for this exellent project! Priceless for learning!

              I personally have huge problem with Oculus Go... I can't get the oculus motion controller to work. Controller shows up and moves around okay when launching on my Oculus Go, but none of the buttons work. I can only point around or move the hand, but can't do anything...

              Can anybody with Oculus Go please confirm if you have got it to work and please share the input settings..?

              My settings are below and the input settings here are default that are setup with the project.

              Comment


                #8
                Hey thanks for the positive feedback on the project, I finally own an oculus go myself so I can give it a go and test it. I will let you know how it goes and if I can get it to work. From the pics you shared it all looks good to me though so it's a bit weird.
                DownToCode Website

                VR Debug Plugin - Debug your VR game/application inside VR

                Email Plugin - Send emails from one email address to another.

                FREE VR Content Examples - A bunch of VR examples to get you started and for free.

                Comment


                  #9
                  Originally posted by DownToCode View Post
                  Hey thanks for the positive feedback on the project, I finally own an oculus go myself so I can give it a go and test it. I will let you know how it goes and if I can get it to work. From the pics you shared it all looks good to me though so it's a bit weird.
                  Did you manage to try the Go yet?
                  I haven't had any progress with the problem yet...

                  Comment


                    #10
                    Hi, Si1weri I just managed to test the Oculus Go inputs and I don't see the issue you described. To test it I launched the VirtualKeyboard map from the VR Content Examples project on the Oculus Go. To interact with the textboxes and keyboard I got the Oculus Go Trigger set up in the inputs inside the project settings. I can use the keyboard with no issues.

                    If you are still experiencing the issue I can take a look at your project myself (you can DM me). Also what happens if you set up the "Any Key" blueprint node in the level blueprint and then convert the key to a name using the GetKeyDisplayName and print its value? What values get printed when you use the Go controllers buttons?
                    DownToCode Website

                    VR Debug Plugin - Debug your VR game/application inside VR

                    Email Plugin - Send emails from one email address to another.

                    FREE VR Content Examples - A bunch of VR examples to get you started and for free.

                    Comment


                      #11
                      Originally posted by DownToCode View Post
                      Hi, Si1weri I just managed to test the Oculus Go inputs and I don't see the issue you described. To test it I launched the VirtualKeyboard map from the VR Content Examples project on the Oculus Go. To interact with the textboxes and keyboard I got the Oculus Go Trigger set up in the inputs inside the project settings. I can use the keyboard with no issues.

                      If you are still experiencing the issue I can take a look at your project myself (you can DM me). Also what happens if you set up the "Any Key" blueprint node in the level blueprint and then convert the key to a name using the GetKeyDisplayName and print its value? What values get printed when you use the Go controllers buttons?
                      Thank you very much for helping me out.
                      I'm having the problem on every project. As if the inputs are totally messed up. This is currently the only mapping that I can get the trigger button and whole touchpad pressed from any corner to work out.

                      That Any Key with converting to key and printing that out would possibly be the solution to find out what's going on, but I must admit that don't know how to do it?
                      If it's not too much to ask, could you please help a beginner to create a blueprint to get this Any Key displayed to work?
                      Attached Files
                      Last edited by Si1weri; 03-26-2020, 01:18 PM.

                      Comment


                        #12
                        Thank you for sharing this for free... Will check it out this week...

                        Comment


                          #13
                          pbdarceyhopefully you'll find it useful


                          Si1weri so this is what you need to set up inside your level blueprint:

                          Click image for larger version

Name:	Capture.PNG
Views:	57
Size:	36.8 KB
ID:	1737503

                          The reason why I told you to do that is to see what all the keys on your Oculus Go controller actually think they are. This will print the name of any button/key that you press on your controller. I often use this if I get the behaviour you see just to confirm that the keys are actually called what I think they are called.

                          One more thing that came to my mind, do you have the same event set up anywhere else in your level? By that I mean, do you use for example OculusRemoteTrigger in multiple blueprints? If that's the case you will have to make sure that the various calls to the action mapping event don't consume the input.

                          Click image for larger version

Name:	Capture.PNG
Views:	52
Size:	58.8 KB
ID:	1737504
                          That's how you do it. So if you call for example LeftTrigger (like in the pic above) both in the pawn and then in the level blueprint (for whatever reason) then untick that box on both. With that ticked the first being called will consume the input and the second won't fire at all.
                          DownToCode Website

                          VR Debug Plugin - Debug your VR game/application inside VR

                          Email Plugin - Send emails from one email address to another.

                          FREE VR Content Examples - A bunch of VR examples to get you started and for free.

                          Comment


                            #14
                            DownToCode

                            Thank you very much!

                            So I tried this and got the following displayed:

                            https://youtu.be/SKIuNc-SSCQ


                            Pressing Go Trigger:
                            -MotionController (R) Facebutton1
                            -Oculus Touch (R) A press
                            -Motioncontroller (R) Trigger
                            -Oculus Touch (R) Trigger

                            Pressing Go Touchpad Up:
                            -Oculus Go (R) Trackpad Touch
                            -MotionController (R) Thumbstick
                            -Oculus Go (R) Trackpad

                            Pressing Go Touchpad Down:
                            -Oculus Go (R) Trackpad Touch
                            -MotionController (R) Thumbstick
                            -Oculus Go (R) Trackpad

                            Pressing Go Touchpad Left:
                            -Oculus Go (R) Trackpad Touch
                            -MotionController (R) Thumbstick
                            -Oculus Go (R) Trackpad

                            Pressing Go Touchpad Right:
                            -Oculus Go (R) Trackpad Touch
                            -MotionController (R) Thumbstick
                            -Oculus Go (R) Trackpad

                            Pressing Go Back button:
                            -MotionController (R) Facebutton1
                            -Oculus Go (R) Back

                            To me these seem to be wrong? I can't figure out what's wrong with this. I just tried to factory reset the Oculus Go too, but results are the same.
                            I'm on Unreal Editor 4.24.3.

                            I can't figure out how to get at least three different buttons to work. I would be happy to get Trigger, TouchpadUp(pressed) and TouchadDown(pressed) to work, to get for example menu brought up in game by pressing TouchPadDown and moving forward with TouchPadUp, but I can't figure out how to do it.

                            Your help has got me forward by long shot already, as I now know how to check out the inputs that I'm really getting from the controller. Thank you very much for that! This is much appreciated!

                            Comment


                              #15
                              DownToCode
                              I tried to get the inputs with Any Key on Unreal Engine 4.23.1 and there, everything seems to work as it should?!
                              Do you have any ideas about how to start to solve the issue on engine 4.24 upwards?

                              Got the following displayed on engine 4.23.1:

                              https://youtu.be/r3lyqARC3cA

                              Pressing Go Trigger:
                              -Motioncontroller (R) Trigger


                              Pressing Go Touchpad Up:
                              -MotionController (R) ThumbstickUp
                              -MotionController (R) Thumbstick

                              Pressing Go Touchpad Down:
                              -MotionController (R) ThumbstickDown
                              -MotionController (R) Thumbstick

                              Pressing Go Touchpad Left:
                              -MotionController (R) ThumbstickLeft
                              -MotionController (R) Thumbstick

                              Pressing Go Touchpad Right:
                              -MotionController (R) ThumbstickRight
                              -MotionController (R) Thumbstick

                              Pressing Go Back button:
                              -MotionController (R) Facebutton1

                              Comment

                              Working...
                              X