All Projects → fweidner → UE4-Plugin-OffAxis

fweidner / UE4-Plugin-OffAxis

Licence: MIT License
This plugin provides a fishtank-VR via a so-called OffAxisProjection by modifying the projection matrix using a custom ULocalPlayer

Programming Languages

C++
36643 projects - #6 most used programming language
C#
18002 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to UE4-Plugin-OffAxis

Ue4 Style Guide
An attempt to make Unreal Engine 4 projects more consistent
Stars: ✭ 2,656 (+4401.69%)
Mutual labels:  unrealengine, unreal-engine, unreal-engine-4
CrashBandicoot-Timetwister
Crash Bandicoot: Timetwister is a remaked version of Crash Bandicoot 3: Warped's Tomb Wader level on Unreal Engine 4.26
Stars: ✭ 26 (-55.93%)
Mutual labels:  unrealengine, unreal-engine, unreal-engine-4
Rts Community Project
Lets build an RTS Game with Unreal Engine 4!
Stars: ✭ 183 (+210.17%)
Mutual labels:  unrealengine, unreal-engine, unreal-engine-4
Actionrpggame
Unreal Engine 4 Action RPG type game starter kit.
Stars: ✭ 773 (+1210.17%)
Mutual labels:  unrealengine, unreal-engine, unreal-engine-4
gamedevguide
Game Development & Unreal Engine Programming Guide
Stars: ✭ 314 (+432.2%)
Mutual labels:  unrealengine, unreal-engine, unreal-engine-4
Buoyancysystem
A system for buoyancy and boat physics in Unreal Engine 4.
Stars: ✭ 87 (+47.46%)
Mutual labels:  unrealengine, unreal-engine, unreal-engine-4
Dungeontemplatelibrary
🌏: Dungeon free resources (terrain & roguelike generation)
Stars: ✭ 595 (+908.47%)
Mutual labels:  vr, unreal-engine, unreal-engine-4
Unreal Polygonal Map Gen
An Unreal Engine 4 implementation of the Polygonal Map Generator for generating islands found at http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/
Stars: ✭ 229 (+288.14%)
Mutual labels:  unrealengine, unreal-engine, unreal-engine-4
Unreal-Development-Guides-and-Tips
High-level concept explanations, detailed tutorials, performance considerations, shortcuts and other useful content that aims to improve your Unreal Engine 4 development journey.
Stars: ✭ 118 (+100%)
Mutual labels:  unrealengine, unreal-engine, unreal-engine-4
DataConfig
Unreal Engine JSON/MsgPack serialization framework
Stars: ✭ 81 (+37.29%)
Mutual labels:  unrealengine, unreal-engine, unreal-engine-4
Unrealcpp
Unreal Engine 4 C++ examples
Stars: ✭ 490 (+730.51%)
Mutual labels:  unrealengine, unreal-engine, unreal-engine-4
ue5-style-guide
An attempt to make Unreal Engine 4 projects more consistent
Stars: ✭ 2,892 (+4801.69%)
Mutual labels:  unrealengine, unreal-engine, unreal-engine-4
Ue4 Binary Builder
An application designed to create installed Unreal Engine builds (aka Rocket builds) from Unreal Engine GitHub source.
Stars: ✭ 292 (+394.92%)
Mutual labels:  unrealengine, unreal-engine, unreal-engine-4
Ue4 Gitignore
A git setup example with git-lfs for Unreal Engine 4 projects.
Stars: ✭ 150 (+154.24%)
Mutual labels:  unrealengine, unreal-engine, unreal-engine-4
Unreal-Binary-Builder
An application designed to create installed Unreal Engine builds (aka Rocket builds) from Unreal Engine GitHub source.
Stars: ✭ 554 (+838.98%)
Mutual labels:  unrealengine, unreal-engine, unreal-engine-4
RuntimeBPs
This project allows for visual scripting in UE4 similar to Blueprints, but at runtime. The way this is set up does not make use of any UE4 boilerplate and could with a few adjustments be used in another engine.
Stars: ✭ 77 (+30.51%)
Mutual labels:  unrealengine, unreal-engine, unreal-engine-4
cg
This repo created to manage Issues and releases Cheat Gear.
Stars: ✭ 125 (+111.86%)
Mutual labels:  unrealengine, unreal-engine, unreal-engine-4
LocalSimulation
This plugin allows you to essentially create PxScene or Physic Scenes by placing an Actor, and adding other Static Mesh Components and soon Skeletal Mesh components within this space. Adding Constraints, and Forces will work as expected, but now with the additional layer of abstraction so that simulation can be anchored to a transform.
Stars: ✭ 42 (-28.81%)
Mutual labels:  vr, unreal-engine
05 TestingGrounds
A Hunger-Games inspired FPS with large outdoor terrains. Advanced AI, basic networking, pickups, skeletal meshes, checkpoints and more. (ref: TG_URC) http://gdev.tv/urcgithub
Stars: ✭ 121 (+105.08%)
Mutual labels:  unrealengine, unreal-engine
libprotobuf ue4
libprotobuf for Unreal Engine 4
Stars: ✭ 81 (+37.29%)
Mutual labels:  unreal-engine, unreal-engine-4

UE4-Plugin-OffAxis

OffAxisExample

Current version

Works with 4.23 :)

General info:

It works. But it is (always) experimental :)

  • OffAxisProjection / FishTank VR
    • in 2D Mode: OffAxisActor can be placed arbitrarily.
    • in 3D Mode: OffAxisActor can be translated in x,y, z and rotated using pitch and roll.
  • Also shows a possibility of how to modify the projection matrix.

How to use:

Assuming you start with a new project:

  • If your project is a C++ project, you are good to go. If you have a pure blueprint project, add a random C++ class via File -> Add C++ class (empty class is fine).
  • Copy the Plugin in your (you might need to create a Plugin folder in the directory where your uproject file is).
  • Start (or restart) Unreal Engine. You might get a warning that the plugin needs to be rebuild. That's normal.
  • Update LocalPlayer class in Edit->Project Settings->General Settings
  • Adjust Input mappings to your Config/DefaultInput.ini (just copy the below mappins to your Config/DefaultInput.ini. If you don't have one, create a random new mapping in Settings --> Project Settings --> Input. Then the file should be there. Then copy the mappings. Restart UE4.
  • Drag the OffAxisActor in your scene
  • Set position of OffAxisActor to 0,0,0
  • In the OffAxisActor, place the child actors P_a, P_b, and P_c so that the correspond to the corners of your "virtual window".
  • Change your NearClippingPlane .1f (Settings --> Project Settings --> Engine --> General Settings --> Near Clip Plane)
  • Select the OffAxisActor in your Project Outliner: set "Use Off Axis on Start" to true and change "Tracking Device" to None (the Set Tracking Device Setting is still in early stages).
  • Hit play. If it is not working now, close UE4, right-click on your uproject file and regenerate Visual Studio Project Files, try again :)
  • If it starts but the screen is black, try to either move the STartPositionEye of the OffAxisActor along X or (if you have copied the input mappings) play around with pageUp and pageDown.

Input Mappings

  • Here are the current input mappings the plugin supports/uses. Just copy and paste this bunch in your DefaultInput.ini and restart after updating DefaultInput.ini!
  • For some inputs, you might need to change the key if they are already in use in your project.

OffAxis

+ActionMappings=(ActionName="HomePosReset",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=Home) +ActionMappings=(ActionName="ResetEyeOffset",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=Nine) +ActionMappings=(ActionName="ResetProjectionPlaneOffset",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=Six) +ActionMappings=(ActionName="ToggleShowDebugMessages",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=V) +ActionMappings=(ActionName="ToggleUseOffAxis",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=P) +ActionMappings=(ActionName="Pick",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=LeftMouseButton) +ActionMappings=(ActionName="ToggleVisOffAxisMenu",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=F9) +AxisMappings=(AxisName="EyeUp",Scale=1.500000,Key=Up) +AxisMappings=(AxisName="EyeUp",Scale=-1.500000,Key=Down) +AxisMappings=(AxisName="EyeLeft",Scale=-1.500000,Key=Left) +AxisMappings=(AxisName="EyeLeft",Scale=1.500000,Key=Right) +AxisMappings=(AxisName="EyeForward",Scale=1.000000,Key=PageUp) +AxisMappings=(AxisName="EyeForward",Scale=-1.000000,Key=PageDown) +AxisMappings=(AxisName="Pick_away",Scale=0.100000,Key=W) +AxisMappings=(AxisName="Pick_left",Scale=-0.100000,Key=A) +AxisMappings=(AxisName="Pick_down",Scale=0.100000,Key=Q) +AxisMappings=(AxisName="Pick_away",Scale=-0.100000,Key=S) +AxisMappings=(AxisName="Pick_left",Scale=0.100000,Key=D) +AxisMappings=(AxisName="Pick_down",Scale=-0.100000,Key=E) +AxisMappings=(AxisName="Wheel",Scale=1.000000,Key=MouseWheelAxis) +AxisMappings=(AxisName="MouseX",Scale=1.000000,Key=MouseX) +AxisMappings=(AxisName="MouseY",Scale=1.000000,Key=MouseY) +AxisMappings=(AxisName="ChangeProjectionPlaneOffset",Scale=0.100000,Key=Five) +AxisMappings=(AxisName="ChangeProjectionPlaneOffset",Scale=-0.100000,Key=Six) +AxisMappings=(AxisName="MoveUp",Scale=0.100000,Key=I) +AxisMappings=(AxisName="MoveDown",Scale=-0.100000,Key=K) +AxisMappings=(AxisName="MoveLeft",Scale=-0.100000,Key=J) +AxisMappings=(AxisName="MoveRight",Scale=0.100000,Key=L) +AxisMappings=(AxisName="Away",Scale=0.100000,Key=U) +AxisMappings=(AxisName="Towards",Scale=-0.100000,Key=O) +AxisMappings=(AxisName="ChangeEyeOffset",Scale=0.001000,Key=Seven) +AxisMappings=(AxisName="ChangeEyeOffset",Scale=-0.010000,Key=Eight)

Optitrack related:

+ActionMappings=(ActionName="TryToConnectToServer",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=One) +ActionMappings=(ActionName="ConnectToOptitrack",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=Y)

Based on...

http://nttl.ru/en

https://perspectiveresources.blogspot.de/2013/04/i3d-head-coupled-perspective.html

http://iihm.imag.fr/en/demo/hcpmobile/

https://www.youtube.com/watch?v=hvrT7FqpPQE

https://www.youtube.com/watch?v=-foNLFnrNRc

https://www.youtube.com/watch?v=PP38yj3zdqo

https://www.youtube.com/watch?v=5ibPBGCAWKo

http://csc.lsu.edu/~kooima/articles/genperspective/

Michael Deering. 1992. High resolution virtual reality. ACM SIGGRAPH Computer Graphics 26, 2: 195–202. https://doi.org/10.1145/142920.134039

https://answers.unrealengine.com/questions/65003/howto-modify-the-projection-matrix.html

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].