Coder Social home page Coder Social logo

steamvr_template's Introduction

Steam VR Template

Instruction guide found in the onedrive

Disclaimer: The goal of this template is to put together a noob-proof SteamVR pawn to drop in your scene. However, one size for all solutions will not answer to all specific implementations, but it can gives you a head start. The template will be updated regularly with Unreal forum contributors suggestions.

My eternal thanks to (but not only) @mitchemmc for input maps and controllers mapping and @PenguinTD for amongst many functions , teleportation method #2 and Ultraman.

Thanks to @mordentral for the grabbing fantastic plugin.

All assets are whether homemade, from the public domain or from Epic demos (you can use them freely in UE4 projects).

I remind everyone that any contribution is welcome. The commercial/fun value of VR projects is definitively not on who can use the Vive, who cannot. It's in the whole experience, the universe you are creating, the feeling, the originality and the user experience.

Have fun!

Mat, at Proteus VR

Version 1.10.1 – UE4.12.3: June 15, 2016

Changelog

  • Updated to 4.12.3
  • Updated grab plugin
  • Left and Right grab hands
  • New vehicle controls: vehicle rotate with direction
  • New environment with interactive consoles
  • Chaperone poles spawn fixed
  • Less settings; the rest will be in a future 3D menu
  • Matinee changed for Sequencer
  • Small glitches and crashes fixed
  • Vive_Pawn_Complete, with every functions (except vehicle)
  • Vive_Pawn_Vehicle, Vive_Pawn_Grab_Plugin (no lightsaber), Vive_Pawn_UltraMan will each do a specific function; only Vive_Pawn_Grab_Plugin uses the plugin; select pawn in Steam_GM
  • Fixed chaperons's poles and exit simple platform

The Vive_Pawn_Complete does everything, except vehicle

Following many requests, this is to facilitate the migration of the pawn into another project.

Features

  • Animated triggers in both controllers
  • Map of all buttons/trackpad on controllers
  • Toggle on/off debugging squares of controllers and/or base stations
  • Toggle on/off debugging meshes of base stations
  • 2 different ways to teleport
  • Ghost move
  • Basic vehicle
  • Scalability settings for Vive
  • Finger tracking on trackpad
  • Trace line with trigger
  • Force feedback
  • Textures on cubes and sphere to test scalability settings
  • Toybox: 4 objects with skeletal sockets: the sword, the gun, the baton, the lightsaber; 1 object with mesh socket: the book; 1 object without sockets: the hat
  • Animated "grabbing" mesh left and right hands
  • Teleportation with trackpad à la The Lab with cylinder & particles validation
  • Go/No go teleportation zones with camera fade out
  • Moving platform for testing purpose, by simple actor move (embark by triggering overlap volume or teleportation; disembark by teleportation) and Sequencer (embark/disembark with controller input)
  • Triggerable poles at the 4 chaperone corners
  • Addition of a cone at the tip of the right trigger -- can be rotated
  • “UltraMan” mode
  • Standing/seated experience switch
  • Grab function
  • Head mesh with mirror
  • Selectable controllers skins & opacity
  • Select alternate meshes for controllers
  • Adjustable "safe" value to teleport on uneven surfaces
  • New environment with interactive consoles

Setup Files can be found on OneDrive

GitHub version at https://github.com/ProteusVR/SteamVR_Template (you need to be logged to Github to open the link)

To install as a template, just unzip into the appropriate templates directory like C:\Program Files\Unreal Engine[Version]\Templates for launcher version or[ForkLocation]\UE4\Templates for source version.

Launch a new project, and you'll find it in the blueprint section.

To install as a project file, unzip in your usual projects folder. Then, delete the file SteamVR_x-x/Config/TemplateDefs.ini and you’re ready to go.

Note 1: To enable the template within an existing project: To migrate pawn in another project: Migrate Vive_Pawn_Vehicle, Vive_Pawn_Grab_Plugin, or Vive_Pawn_UltraMan in another project

  • For Vive_Pawn_Vehicle, migrate the Vehicle Pawn also; for Vive_Pawn_Grab_Plugin be sure that the objects to grab have the blueprints and 3 interfaces and the the grab plugin is in the plugin folder
  • For all pawns, select the right pawn in the Steam_GameMode (GM); copy scalability and initial settings in level blueprint; in project settings set Engine/General Settings at USe Fixed Frame Rate 90, Engine/Rendering/Default Postprocessing settings: Uncheck everything (bloom is optional), choose AA method; Engine/Rendering/VR: Check Instanced Stereo. Put a post-process volume in the level and adjust it accordingly. Be sure that the SteamVR Game Mode (SteamVR_GM) and Steam_player_controller have followed if not recreate them. You should now easily migrate one of these 3 pawns into another project. More example pawns to follow soon.

Note 2: To package your project: Don’t forget to File/New C++ class, None, Create Class before packaging, if not the plugin won’t follow. Be sure to have a working copy of Visual Studio 2015 enabled.

steamvr_template's People

Contributors

proteusvrpublic avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.