... | ... | @@ -42,9 +42,7 @@ Set the default GameMode of your project to the VRGameMode, which automatically |
|
|
|
|
|

|
|
|
|
|
|
Additionally, if you want to deploy your project on the Cave, you currently need to drage the [`BP_CaveSetup` Actor](https://git-ce.rwth-aachen.de/vr-vis/VR-Group/unreal-development/plugins/rwth-vr-toolkit/-/blob/754c99290cc0ae8e511b1c1c718146ca2f57188a/Content/RWTHVRCluster/CaveSetup.uasset) into your scene (subject to change!). Make sure you have **Instanced Stereo DISABLED** if you deploy on the Cave, as this will lead to strange results!
|
|
|
|
|
|

|
|
|
Additionally, if you want to deploy your project on the Cave, you need to enable the [RWTHVRCluster](#the-rwth-vr-cluster-plugin-and-its-cluster-module) plugin. For Unreal 5.4+ projects, no additional configuration is necessary. For older project, see the respective [section](#the-rwth-vr-cluster-plugin-and-its-cluster-module) below. Make sure you have **Instanced Stereo DISABLED** if you deploy on the Cave, as this will lead to strange results!
|
|
|
|
|
|
For more information about how to deploy your project on the Cave, check the [Unreal Wiki](https://git-ce.rwth-aachen.de/vr-vis/unreal-wiki/-/wikis/home).
|
|
|
|
... | ... | @@ -121,7 +119,7 @@ Further resources on Unreal Multiplayer can be found in the [Multiplayer Network |
|
|
2. `RWTHPlayerState`: There exists one PlayerState for each player, and they are replicated to all other players. Therefore, this class is perfect for syncing information that is always relevant to all other players. As an example, the base class is extended by a replicated `PlayerType` variable.
|
|
|
3. `ClientTransformReplication`: In general, Actors/Components marked as "replicated", Unreal syncs basic things like their transform and attachment **from the server to the clients**. It does not sync transforms the other way round. If a player now modifies e.g. their pawn position, they only do this on their local machine. The `UClientTransformReplication` can be attached to your Actor to allow for Client-Side replication as well. It does this by simply sending an RPC to the server, asking it to modify the client position. This is then manually replicated by a UProperty marked as `ReplicatedUsing` to all the other clients. We're using a manual replication here for demo purposes and to save on bandwidth. Ideally, we would only sync Inputs instead of full transforms.
|
|
|
4. `ReplicatedCameraComponent` and `ReplicatedMotionControllerComponent` are simple extensions to their base-classes that pretty much do the same thing as described in 3. Due to being in VR, we need to have some kind of client-authority, which is emulated in this way.
|
|
|
5. `RWTHVRPawn`: The Pawn contains some additional functionality that searches and attaches the CaveSetup actor on the server to the Pawn corresponding to the PrimaryNode. This is then implicitly replicated to all clients, including the SecondaryNodes.
|
|
|
5. `RWTHVRPawn`: The Pawn contains some additional functionality that searches and attaches the DCRA on the server to the Pawn corresponding to the PrimaryNode. This is then implicitly replicated to all clients, including the SecondaryNodes.
|
|
|
|
|
|
### Utilities & Fixes
|
|
|
|
... | ... | @@ -147,6 +145,18 @@ The cluster module `RWTHVRCluster` is part of the [RWTH VR Cluster Plugin](https |
|
|
|
|
|
### Configs & Setup
|
|
|
|
|
|
**Version 5.4+**
|
|
|
|
|
|
For Versions 5.4 and later, no additional setup is required. The plugin handles the setup and configuration of the DCRA automatically and no nDisplay related actor should be placed in the scene.
|
|
|
|
|
|
**Upgrade from earlier versions to 5.4+**
|
|
|
|
|
|
In newer plugin versions the `BP_CaveSetup`-blueprint has been removed. When you upgrade your plugins, you will find that your levels will no longer contain a `CaveSetup`-actor but an `aixcave`-actor instead. This `aixcave`-actor needs to be removed from your map for it to function correctly in the Cave. You will no longer need to add any actors or components to your maps manually, as they will be automatically added at runtime.
|
|
|
|
|
|
**Version 5.3**
|
|
|
|
|
|
The main actor that you need to add to your map if you want to deploy on the Cave is the `BP_CaveSetup` actor. It inherits from the C++ class `CaveSetup` documented below.
|
|
|
|
|
|
**CaveSetup**
|
|
|
|
|
|
The CaveSetup class has a few purposes:
|
... | ... | @@ -166,20 +176,6 @@ Additionally, the module contains various nDisplay configuration files: |
|
|
- aixcave_two_players_tdw (two player with tdw)
|
|
|
- ExampleConfigs/NDC_CaveUnwrap (example unwrapped cave config for local tests on your own PC)
|
|
|
|
|
|
**Version 5.3**
|
|
|
|
|
|
The main actor that you need to add to your map if you want to deploy on the Cave is the `BP_CaveSetup` actor. It inherits from the C++ class `CaveSetup` documented above.
|
|
|
|
|
|
**Version 5.4**
|
|
|
|
|
|
In this version, the `BP_CaveSetup`-blueprint has been removed, as the CaveSetup actor will be automatically attached to your pawn at runtime. You no longer need to manually add any components or actors to your map to deploy on the Cave.
|
|
|
|
|
|
### Version Upgrade
|
|
|
|
|
|
**Version 5.3 -> 5.4+**
|
|
|
|
|
|
In newer plugin versions the `BP_CaveSetup`-blueprint has been removed. When you upgrade your plugins, you will find that your levels will no longer contain a `CaveSetup`-actor but an `aixcave`-actor instead. This `aixcave`-actor needs to be removed from your map for it to function in the Cave. You will no longer need to add any actors or components to your maps manually, as they will be automatically added at runtime.
|
|
|
|
|
|
### Cave Overlay
|
|
|
|
|
|
The Cave Overlay is used to display a warning tape and sign when the head or controller(s) come too close to the Cave walls. Additionally, it can be used to black out the door projectors when the door is opened. This isn't done automatically, but the door state can be toggled by pressing `F10`.
|
... | ... | |