Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Adds virtual reality support to flatscreen Unreal Engine games

License

NotificationsYou must be signed in to change notification settings

TheNewJavaman/unreal-vr

Repository files navigation

UnrealVR

No releases yet

Adds virtual reality support to flatscreen Unreal Engine games

Features

  • Stereoscopic Rendering: Presents the game in full 3D, not a flatscreen in VR
  • 6 Degrees of Freedom: Headset movement and rotation is tracked in-game
  • Configurable Profiles: Save and share your settings for each game

Coming Soon

  • Input Binding: Map VR controller buttons to game actions
  • Controller Tracking: Link hand movement to in-game objects
  • Synchronized Rendering: Renders both eyes at the same time, reducing discomfort

Improvements

There are so many features I want to add, and so many refactorings that could improve the code.

  • Input Binding: Map VR controller buttons to game actions via keyboard/mouse/gamepad input. Add a button to resetthe view rotation/position.
  • Controller Tracking: Link hand movement to in-game objects. Make them rotate and move according to how yourhands move. Allow configurable offsets for the UI so that it feels like your hand is holding a gun, for example.
  • Synchronized Rendering: Renders both eyes at the same time, reducing discomfort. This one isn't as importantbecause the mod seems to perform pretty well so far. But at lower framerates, some people may experience discomfort isthe positions of objects aren't aligned for the left/right eyes.
  • Optimization: Do more profiling to increase framerate. VR should be accessible to as many people as possible, sowe as a community need to make sure that our mods aren't too limited by hardware.
  • VR For All: Abstract the graphics, VR, and game engine services into interfaces that can be implemented for othergraphics APIs/VR runtimes/game engines; this will definitely be necessary for D3D12, and if I want to add supportVulkan/OpenGL, it'll be even more important. Probably won't be used for other game engines, but if someone uses a gameengine written in any language that can interop with C++, imagine the possibilities! Probably not useful for VR,though, since OpenXR is the future... hopefully there won't ever be a replacement VR runtime that I'll have to addsupport for.
  • UE Version Detector: Reduces the configuration necessary for new games. Would use the same information as theDetails pane in File Explorer to determine the Unreal Engine version.
  • Console Output: Enable/disable the log window; also, don't use a basic terminal for output, show it in thenice-looking app UI.
  • Unreal Engine 5: It's not too different from UE4, so add support to UML if Russell.J doesn't have time
  • Build System: Use meson so it's faster and cross-platform. Would also reduce dependence on Rider/Visual Studio
  • Stop Using UML: Build a home-grown solution that's better for this specific use-case
  • Dependency Injection: Inject service class instances at runtime so there aren't as many static members

Preview

Contribute

If you have any ideas for features or want to implement a feature yourself, please email me or send a DM on Discord toTheNewJavaman#3966.

Development Tools

  • Rider 2022.1 EAP: For writing C++ code; it has a much better code formatter than Visual Studio, is much faster,and has superior refactoring capabilities. Also supports Python for the rizin script. Get it for free via the earlyaccess program in the Jetbrains Toolbox app
  • Visual Studio 2022 Preview: For writing C# code or HLSL shaders; Rider doesn't support WinUI nor Hot Reload; also,VS supports profiling both the CPU and GPU for C++, compiling HLSL, and packaging the final app. Get it for free viathe Visual Studio installer
  • Sourcetree: My favorite Git GUI; the main thing is its support for multiple stashes; get it for free fromAtlassian
  • Rizin: Used to reverse engineer UE/game binaries. Get it for free from GitHub

Rizin Cheatsheet

My most-used commands for reverse-engineering game binaries

  • [command]?: Show the help menu
  • o [filename]: Open a binary (exe, dll, lib)
  • ipd [filename]: Open a debug symbols file (pdb)
  • Po [filename]: Open a project (rzdb)
  • Ps [filename]: Save project to file (rzdb)
  • aa: Run quick analysis on the binary (better for no PDB)
  • aaa: Run longer analysis on the binary (better for PDB, includes function autonaming)
  • aflq~[function]: Search for a function
  • s [address|function]: Go to an address or function
  • zaf [function] [signature]: Create a signature for the current function
  • z: List signatures
  • zos [filename]: Save signatures to file (sdb)
  • zj | python rizin_to_uml.py [numbytes]: Print signatures in UML format; seerizin_to_uml.py

About

Adds virtual reality support to flatscreen Unreal Engine games

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

    Languages


    [8]ページ先頭

    ©2009-2025 Movatter.jp