Announcement

Collapse
No announcement yet.

Single/Multiplayer, Touch & Vive Proteus blueprint only Template

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

    Single/Multiplayer, Touch & Vive Proteus blueprint only Template

    Proteus VR Template
    First release: March 2016 (under the name "SteamVR Template"
    Latest Version 5.1 (under the name "Proteus VR Template")
    Latest commit February 21, 2019, commit 23a7b9a


    What can I do with that, that I cannot do with the "VR Template" in Unreal?

    Well, rapidly: It's single or multiplayer (LAN or Oculus Home); It uses Oculus Avatars (or not); It uses voice over IP; full of nice features fully using Oculus functions; compatible Go/Quest/Rift; minimum use of C++ (but still some, since some methods not possible only in blueprints); hey, we were the first to propose a template back in 2016!

    FOR NOOBS: This is super simple. Even if you think Visual Studio is the name of a VFX/Hollywood startup somewhere around LA with people working in open spaces and flip-flops, it requires few manipulations to set up; I could add few instructions how-to on demand.
    This template consists of virtual reality compatible pawn and settings, ready to drop in your single or multiplayer app. So what you can do is choose the features you want, and build yourself/modify a pawn based on the functionalities you need.


    Download it at https://github.com/ProteusVRpublic/ProteusTemplate

    Compatible with the following Unreal Engine versions:
    Unreal Engine 4.20*, Oculus-branch, latest commit e8c8be1 (Nov 14, 2018), found at https://github.com/Oculus-VR/UnrealEngine/tree/4.20
    Unreal Engine 4.21*, Oculus-branch, latest commit commit 5af0b9f (Feb 26, 2019), found at https://github.com/Oculus-VR/UnrealEngine


    * minor changes to the engine possibly / mandatory required


    What's new in version 5.1
    • Custom hand poses, both for off-line and on-line (Oculus) Avatars
    • Both off-line and on-line hands now share the Oculus Avatars skeleton mesh

    Features of version 5.0
    • Entirely redesigned
    • More stable
    • Use latest Oculus implementations (splash screen, play area limits, smart use of camera fade, etc).
    • Unreal 4.20 & 4.21
    • Unreal 4.20: Uses Oculus Platform SDK 1.24, OVR Plugin 1.31, Audio SDK 1.18
    • Unreal 4.21: Uses Oculus Platform SDK 1.35, OVR Plugin 1.32, Audio SDK 1.34
    • Uses Oculus Avatar SDK 1.31
    • Single & Multiplayer Oculus Avatars
    • Compatible Oculus Rift / Oculus Go / Oculus Quest-ready
    Q&A

    Why did you not use the launcher version of UE4?
    • Because the launcher version is always behind the Oculus branch for using latest Oculus SDK implementations;
    • Because it's always better to use UE4 source-based, to be able to make some changes to the engine;
    • Because the Oculus-branch version has some nice features, i.e. the Project Settings Menus
    Where are the Windows MR / SteamVR functions?
    They will be back, but we targeted Oculus Go / Rift / Quest for this release.

    You don't use the integrated Oculus Avatar plugin?
    You are such a detective. No. Because the official one is only single player, and we brought all sort of improvement to it, including multiplayer. So we packaged the improved/modified one under "ProteusAvatar plugin". We take the engagement to keep it updated following Unreal versions and Oculus SDKs.

    I would like to log my users through Oculus Home, but I don't want to use Browse Matchmaking!
    Browse matchmaking is the only way to match players while using blueprints, as of Unreal 4.21. We'll bring more ways soon through code (alternatively, there are C++ methods posted in the forums doing that).

    My project doesn't work / crashes / doesn't compile! Your template is ****!
    There can be a zillion reasons why your project doesn't compile / crashes. Are you using the latest version of Visual Studio? Correct UE4 version? Windows 10, updated? Is it cold outside? etc. We just want to be sure it's not our template that is crashing your game. Passed that, we're of limited help since, as I said, there could be a zillion reasons why your game does not work.

    TO USE IT:
    1) Download the Unreal Engine .zip file from github (or sync through github app)
    2) Unzip
    3) Setup.bat
    4) GenerateProjectFiles.bat
    5) Open UE4.sln with Visual Studio
    6) Make the modifications needed to the engine, as specified in pdf document
    7) Build UE4

    8) Download the latest Proteus Template .zip from github (or sync through github app)
    9) Right-mouse click on Proteus.uproject, Switch Unreal Engine Version, for correct engine version
    10) Open Proteus.sln with Visual Studio
    11) Make changes to the ProteusOvrAvatar.cpp if using Unreal 4.21, as specified in pdf document
    12 ) Build Proteus

    13) Now ready to open Proteus.uproject


    As the world is not perfect, there's still bugs!!! They are:

    Oculus Rift: There is no voice vizualisation with the Avatars!
    • No Voice vizualisation for Oculus Avatars; should be updated soon by Oculus (FUTURE FEATURE)

    Oculus Rift, Go, Quest : You don't use Stereo Layers?
    • We are not using Stereo Layers, because they cannot be destroyed !!! (BUG)

    Oculus Go / Quest
    • Occlusion culling doesn't work!!!!!
      • Yes (BUG)
    • Be gentle on the tick events, as you can easily crash the device
    • Oculus Go cannot use Render Targets (i.e. the mirror)
      • That's life.
    • Oculus Avatars
      • FOR NOW, ONLY THE BLANK AVATAR IS LOADED
        • Yes (FUTURE FEATURE)
      • INPUTS NOT REGISTERED WITH THE GO REMOTE
        • Yes (FUTURE FEATURE)
      • USE OPENGL ES3.1 TO COMPILE MOBILE AVATAR MATERIALS

    What's coming next in the next version:
    • Oculus Avatars (Rift): See Avatar head in mirror
    • Oculus Avatars (Go/Quest): Load correct mesh
    And after that…
    • Oculus Avatars: Compatibility with SteamVR, Vive Controllers and Vive Knuckles
    • General template: Blueprints for Mixed-Reality & Oculus 3D Sound

    Questions?
    Don’t hesitate to contact me mathieu.beaulieu@proteus-vr.com .


    REST OF DOCUMENTATION FOUND IN PDF FILE.
    Last edited by Proteus; 03-06-2019, 04:04 PM.

    #2
    Thank you so much for doing this!
    I've been stuck on getting hands working for a month now, barely managing to re-work the built-in vive template, to be better for Touch.
    I can't wait to play around with this! I think it will really help to enable us hobby-vr-devs to get into our ideas/projects much quicker, for Touch! ;D
    Really thrilled you're also working on a multiplayer version, that's another area I'm rather stuck on, and it'll be amazing to see a working template.

    Comment


      #3
      How did you manage to get the default motioncontrollers to replicate properly? I've tried in 4.12, 4.13 and 4.14 preview but without luck. The only solution for me was to use the VRExpansionPlugin. Thanks for sharing your work!

      Edit: You can use more than two wireless vive controllers if you have any steam controller dongles about. You just need to update the firmware on them https://developer.valvesoftware.com/...h_a_Controller
      Last edited by Fantasifall; 01-15-2017, 01:56 PM.

      Comment


        #4
        Ok, normally I don't have an issue with frame-rate, but I can't figure out what's causing it to be so poor in this.. especially when the normal template runs just fine. I'm sure I'm just missing something obvious, cause I'm such noob.. but I've tried tweaking the usual settings I was used too, and I'm just not sure what else to try now.
        Last edited by NikoKun; 01-17-2017, 12:54 AM.

        Comment


          #5
          [MENTION=5397]NikoKun[/MENTION] There's nothing fancy in the template, but sometimes the devil is in the details.

          Some hints:

          Go see the blueprint of the VRPlayerController/Scalability settings. I took the liberty to be generous in graphic fidelity, maybe too much. As an example, I put hmd pd 200 (for Oculus) or r.screenpercentage 200 (for the Vive) which could be a bit too much. I tend to forget I test it with a good computer (1080FTW and latest i7). Try bring these settings a but lower. I'll put them in Settings 1.1.

          If not, play with pp volume settings, first bloom=0. The sun is less nice, but it gives a bit of extra compute.

          Also, have a look at this recent thread: https://forums.unrealengine.com/show...4-1-and-Oculus

          Lastly, have a look at Tom Looman's blog, lot of hints: http://www.tomlooman.com/getting-started-with-vr/

          I would add that even if you run nice 90fps with the default Epic VR template, sometimes adding one actor or changing one setting can make the HMDs fall back to retroprojo 45fps.

          Ah, and did you try the packaged version (on the Onedrive). Packaging a game introduce optimizations, try it.
          [MENTION=10404]Fantasifall[/MENTION] Thanks for the info. Although I'm a Steam developer, the latest info was that it was not possible. I don't have a Steam dongle, should grab one. Especially since I want to try soon the Vive puck. Yeah, I know lot of freebies including a dongle was awaiting people at SteamDev Days including me (was invited) but couldn't attend. Maybe the sad little bag of goodies is still awaiting me in Seattle...
          Also, for now with my test replication works without plugin.

          The reason I try to avoid plugins (but could be inevitable to run Oculus Avatar -- I'm waiting for a move from Oculus side) is that we as a team experienced nightmares with different plugins since we use different versions of UE4, namely Oculus version and NVIDIA VRWorks versions found on GitHub. We had to scrap days of work because we, with the sacred power of C++, were unable to update certain plugins to make it work. Although it's impossible sometimes (viva Rama bp plugins), we now try to avoid them.

          Comment


            #6
            Ah ok, Thanks for those suggestions, some of them I wouldn't have thought to check on my own. heh And yeah, I should go back through Tom's blog, make sure I'm not forgetting any of that.
            Thanks for the response. BTW, someone should post a link to this on reddit /r/Oculus or /r/unrealengine/. ;D This might really help other devs out there, at least in the short term.

            I hope UE4 gets Avatar support in the launcher version, soon.. I don't see Oculus SDK 1.10.1 listed in the 4.15 preview release notes, so that's unfortunate if they haven't updated yet.. :/
            Last edited by NikoKun; 01-17-2017, 02:19 PM.

            Comment


              #7
              [MENTION=5397]NikoKun[/MENTION] At least SDK 1.10.1 is accessible through Oculus Github branch at https://github.com/oculus-vr/unrealengine

              As [MENTION=82549]V[/MENTION]IIFab asked Oculus for it, they should release some code to access Avatars soon. I just don't want to spend days doing a plugin when Oculus is imminently going to release it.

              Comment


                #8
                Good job, happy to know you still be tuned. Just disappointed why this tendence everywhere for teleporting instead axis displacement

                Comment


                  #9
                  Originally posted by NikoKun View Post
                  I hope UE4 gets Avatar support in the launcher version, soon.. I don't see Oculus SDK 1.10.1 listed in the 4.15 preview release notes, so that's unfortunate if they haven't updated yet.. :/
                  Checking the source code the current Oculus Online Subsystem is 1.10. Not sure this includes the Avatar SDK, though.

                  Comment


                    #10
                    [MENTION=5677]devel.bmad[/MENTION] It's not there yet but Oculus should update his Github "imminently"

                    Comment


                      #11
                      Originally posted by Proteus View Post
                      [MENTION=5397]NikoKun[/MENTION] At least SDK 1.10.1 is accessible through Oculus Github branch at https://github.com/oculus-vr/unrealengine
                      heh, I guess, but I don't have the first clue about using/compiling stuff from github, and i think my visual studio trial is long over..lmao So I'll just wait for the launcher sdk update I guess. For now, I'm extremely thankful for your templates. ;D

                      Comment


                        #12
                        Originally posted by NikoKun View Post
                        heh, I guess, but I don't have the first clue about using/compiling stuff from github, and i think my visual studio trial is long over..lmao So I'll just wait for the launcher sdk update I guess. For now, I'm extremely thankful for your templates. ;D
                        Visual studio community is free and works fine with the engine by the way. You really need a copy of studio in order to fully utilize the engine, even if you aren't doing any coding yourself.


                        Consider supporting me on patreon

                        My Open source tools and plugins
                        Advanced Sessions Plugin
                        VR Expansion Plugin

                        Comment


                          #13
                          [MENTION=5397]NikoKun[/MENTION]

                          1.Download and install free Visual Studio Community 2015 https://www.visualstudio.com/downloads/ with UE4 extensions https://docs.unrealengine.com/latest...alStudioSetup/
                          2.Login to GitHub and download latest version of Oculus UE4 branch https://github.com/oculus-vr/unrealengine
                          3.Unzip, run Setup.bat
                          4.Once done, run GenerateProjectFiles.bat
                          5. Load the project into Visual Studio by double-clicking on the UE4.sln file. Set your solution configuration to Development Editor and your solution platform to Win64, then right click on the UE4 target and select Build. It may take anywhere between 10 and 40 minutes to finish compiling, depending on your system specs.
                          6. That's it. You have now a fresh copy of Oculus UE4 branch. To open it, you can go to /Engine/Binaries/Win64/UE4Editor.exe or through Visual Studio by setting your startup project to UE4 and pressing F5 to debug.

                          Comment


                            #14
                            When I load this up... i cant see my hands/vive controllers ...any ideas?

                            Comment


                              #15
                              Originally posted by Proteus View Post
                              [MENTION=5397]NikoKun[/MENTION]

                              1.Download and install free Visual Studio Community 2015 https://www.visualstudio.com/downloads/ with UE4 extensions https://docs.unrealengine.com/latest...alStudioSetup/
                              2.Login to GitHub and download latest version of Oculus UE4 branch https://github.com/oculus-vr/unrealengine
                              3.Unzip, run Setup.bat
                              4.Once done, run GenerateProjectFiles.bat
                              5. Load the project into Visual Studio by double-clicking on the UE4.sln file. Set your solution configuration to Development Editor and your solution platform to Win64, then right click on the UE4 target and select Build. It may take anywhere between 10 and 40 minutes to finish compiling, depending on your system specs.
                              6. That's it. You have now a fresh copy of Oculus UE4 branch. To open it, you can go to /Engine/Binaries/Win64/UE4Editor.exe or through Visual Studio by setting your startup project to UE4 and pressing F5 to debug.
                              Oh! I figured I was stuck on that. Thanks for the instructions, I'll give that a shot sometime.. Tho if other comments are accurate, it seems they don't even have avatar support in that version yet. heh

                              You're right, I'll have to get that setup soon.. Would certainly allow me to try more things. Although, using only the launcher/blueprint version, no VS installed, I've still managed build a multiplayer VR game and get it almost fully functional. ;D

                              Comment

                              Working...
                              X