|
|
# Getting Started
|
|
|
# Using the Template
|
|
|
## Create a project based on the template:
|
|
|
**This guide is for our latest support Unreal Engine version (check branch names for versions)! If you are using the (deprecated) version 4.21, look [here](Getting-Started/Unreal-4.21)**
|
|
|
|
... | ... | @@ -18,12 +18,8 @@ |
|
|
```
|
|
|
6. Optionally modify the `launcher.meta` file. More info can befound [here](https://devhub.vr.rwth-aachen.de/VR-Group/unreal-development/unreal-ci/-/wikis/How-to-use-the-launcher.meta-file)
|
|
|
|
|
|
## Branch System
|
|
|
The project template and the most commonly used plugins follow a naming scheme of branches where the branch name indicates the unreal version they are supposed to work with. This was discussed in the Software meeting on July 1st 2021. The following slides show the flow in the old an new systems: [branch_system.pdf](uploads/047534f1b3dab0184945aeb74dac49ab/branch_system.pdf).
|
|
|
|
|
|
## Adding non-default plugins:
|
|
|
**In general this can be done by running the `./setup.bat` script again and choosing *Manage Plugins*,** but it can also be done manually, see below:
|
|
|
* **NDisplay Launch Button:** Let's you launch, e.g., a mini-CAVE on your desktop that emulates cluster mode<br/>
|
|
|
* **NDisplay Launch Button:** Lets you launch, e.g., a mini-CAVE on your desktop that emulates cluster mode<br/>
|
|
|
``git submodule add -b master https://git-ce.rwth-aachen.de/vr-vis/VR-Group/unreal-development/tools/NDisplayLaunchButton Plugins/NDisplayLaunchButton``
|
|
|
* **Virtual Acoustics Plugin:** To use VA as developed by the Institute for technical Acoustics (ITA)<br/>
|
|
|
``git submodule add -b 4.26 https://git-ce.rwth-aachen.de/vr-vis/VR-Group/unreal-development/plugins/unreal-va-plugin Plugins/VAPlugin``
|
... | ... | @@ -32,47 +28,29 @@ The project template and the most commonly used plugins follow a naming scheme o |
|
|
* **Universal Logging Plugin:** Used to log into your own files and also have logging in shipping builds available<br/>
|
|
|
``git submodule add -b master https://git-ce.rwth-aachen.de/vr-vis/VR-Group/unreal-development/plugins/universallogging Plugins/UniversalLogging``
|
|
|
|
|
|
## Unreal Tutorials
|
|
|
There are a bunch of youtube videos, tutorial etc. online, but we recommend having a look at the [Unreal's learning courses](https://www.unrealengine.com/en-US/onlinelearning-courses) or the [content examples](https://docs.unrealengine.com/en-US/Resources/ContentExamples/index.html) in the [Unreal Engine documentation](https://docs.unrealengine.com/en-US/index.html). Furthermore, the [Unreal Engine 4. x Scripting with C++ Cookbook](https://ebookcentral.proquest.com/lib/rwthaachen-ebooks/detail.action?docID=5744451) [link only works from within RWTH Aachen network only] may provide some helpful insight.
|
|
|
# Developing for the Template
|
|
|
|
|
|
## Performance
|
|
|
See the wiki page [Performance Debugging and Profiling](Performance-Debugging-and-Profiling).
|
|
|
## Branch System
|
|
|
The project template and the most commonly used plugins follow a naming scheme of branches where the branch name indicates the unreal version they are supposed to work with. This was discussed in the Software meeting on July 1st 2021. The following slides show the flow in the old an new systems: [branch_system.pdf](uploads/047534f1b3dab0184945aeb74dac49ab/branch_system.pdf).
|
|
|
|
|
|
# FAQ
|
|
|
* What are the coding guidelines?
|
|
|
> We use the default [Unreal coding guidelines](https://docs.unrealengine.com/en-US/Programming/Development/CodingStandard/index.html). See also this presentation: [ue4_coding_guideline.pptx](uploads/6c756e1762c6db24a23765ca8dab1e5f/ue4_coding_guideline.pptx)
|
|
|
* What is the Display Cluster Settings Actor in the default map?
|
|
|
> The Display Cluster Settings actor is used by nDisplay to store/read settings for the CAVE. It has to be in every map you create if you want your demo to work in the CAVE! (**only up to 4.22!**)
|
|
|
* My demo is crashing at startup in the CAVE, what can it be?
|
|
|
>>>
|
|
|
This question is hard to answer, but here are a few suggestions:
|
|
|
- Does the launcher.meta file inside your repo have the same structure? This could affect e.g. the selected config for your demo
|
|
|
- Is the Display Cluster Settings Actor inside your level? (**only required up to 4.22!**)
|
|
|
- Are the submodules correctly checked into git?
|
|
|
- Have you tried "cleaning" (killing old applications) the CAVE before launch?
|
|
|
>>>
|
|
|
|
|
|
|
|
|
* I got an existing project and want to run it in the CAVE, how do I do this?
|
|
|
> Take a look at [Make existing projects run in the CAVE](Make-existing-projects-run-in-the-cave)
|
|
|
* My cluster events don't seem to work on my desktop. (:exclamation: see also docu on [how to use cluster events in C++](Cluster-Events-in-Cpp))
|
|
|
> 1. Cluster events do not work by just clicking play in Unreal, you need to use the [nDisplay Launch Button Plugin](https://devhub.vr.rwth-aachen.de/VR-Group/unreal-development/NDisplayLaunchButton).
|
|
|
> 2. For some reason if you only attach a simple "Print String" to the event, only every nth event gets triggered in the desktop mode (on the cave this seems to work fine). As soon as you attach more logic to it, it seems to work just fine.
|
|
|
> 3. For keyboard related stuff: Use the normal key events, not the `nDisplay*` key events. Those do not work!
|
|
|
> 4. Make sure you added the nDisplayClusterEventListener interface to the blueprint and added yourself as a listener (see: [Responding to Cluster Events in Blueprints](https://docs.unrealengine.com/en-US/Engine/Rendering/nDisplay/ClusterEvents/#respondingtoclustereventsinblueprints)).
|
|
|
* Moving objects (mainly tracked controllers) have a weird jittering/tearing effect occasionally.
|
|
|
> This can happen when the application runs below 90fps and Temporal Anti-Aliasing is enabled. Try improving the framerate above 90fps or disable TXAA. The official suggestion from Epic/Oculus is to use Forward Shading in combination with MSAA.
|
|
|
* Objects attached to one of the Vive controller lag behind.
|
|
|
> Potentially seting ''Disable Low Latency Update'' on the motion controllers to true will help, see [this bug report](https://issues.unrealengine.com/issue/UE-74977)
|
|
|
> 3. Make sure you added the nDisplayClusterEventListener interface to the blueprint and added yourself as a listener (see: [Responding to Cluster Events in Blueprints](https://docs.unrealengine.com/en-US/Engine/Rendering/nDisplay/ClusterEvents/#respondingtoclustereventsinblueprints)).
|
|
|
* My installation of the engine in the launcher or the context menu extensions are gone. How do I get them back?
|
|
|
> Copy the file `C:\Programs(x86)\Epic Games\Launcher\Engine\Binaries\Win64\UnrealVersionSelector.exe` into your Engine folder in `Engine\Binaries\Win64\` and execute it. You will be asked for admin rights (ask one of the research assistents) and it will register the engine.
|
|
|
* Where do I get these super nice logos?
|
|
|
> Got you covered [here](http://tools.papecoding.de/uelogo/)!
|
|
|
* My Axis Mappings are not working anymore after an update to > Unreal 4.24
|
|
|
> Have a look [here](SteamVR-Input-changes-in-4.25)
|
|
|
* Can I use ``FMath::RandRange``
|
|
|
> This will not work correctly in the CAVE, since all nodes run their own instances with potentially different execution orders and different seeds.
|
|
|
> Use ``FRandomStream`` instead which you constantly seed in your constructor, e.g., ``RandomStream = FRandomStream(0);``
|
|
|
* How can I interact with widgets etc.
|
|
|
> The ``VirtualRealityPawn`` in the ``RWTH-VR-Toolkit`` provides an interaction component, maybe you have to open some submenues in the details panel ``Pawn-->Interaction-->BasicVRInteraction`` and there you can make the interaction ray visible. Especially set ``Can Raytrace every Tick`` to true if you want to have effects like hovering etc. otherwise it only traces along the interaction ray on clicking.
|
|
|
|
|
|
# Running your Demo
|
|
|
### Running/Deploying your application in the AixCAVE:
|
... | ... | |