Component that handles VR player movement using controller inputs. Writes locomotion to the actor's SceneNode, which the camera reads from.
More...
#include <VrMovementComponent.h>
|
| static constexpr bool | IsUnique = true |
| static constexpr const char * | ComponentName = "VrMovement" |
| static constexpr bool | IsUnique = false |
| | Defines whether multiple instances of this component can exist on the same entity. Defaults to false (multiple allowed). Override in derived classes with static constexpr bool IsUnique = true; if needed.
|
| static constexpr const char * | ComponentName = "Logic" |
| | Fallback component type name. Derived classes may override getComponentName() for custom labels.
|
Component that handles VR player movement using controller inputs. Writes locomotion to the actor's SceneNode, which the camera reads from.
- Right thumbstick: XZ plane movement (forward/back/strafe) aligned to headset facing
- Right/Left trigger: Move up (Y+)
- Right/Left grip: Move down (Y-)
Definition at line 27 of file VrMovementComponent.h.
◆ VrMovement()
Constructs the VR movement component.
- Parameters
-
| owningScene | The scene this component belongs to |
| sceneNode | Scene node to write position to (typically actor's node) |
| headset | Pointer to the headset for orientation queries |
| inputHandler | Pointer to the XR input handler |
◆ ~VrMovement()
| Engine::Components::VrMovement::~VrMovement |
( |
| ) |
|
|
overridedefault |
◆ beginPlay()
| void Engine::Components::VrMovement::beginPlay |
( |
| ) |
|
|
overridevirtual |
◆ endPlay()
| void Engine::Components::VrMovement::endPlay |
( |
| ) |
|
|
overridevirtual |
◆ getDeadZone()
| float Engine::Components::VrMovement::getDeadZone |
( |
| ) |
const |
|
inlinenodiscard |
◆ getHeadsetForwardXZ()
| glm::vec3 Engine::Components::VrMovement::getHeadsetForwardXZ |
( |
| ) |
const |
|
nodiscardprivate |
◆ getMoveSpeed()
| float Engine::Components::VrMovement::getMoveSpeed |
( |
| ) |
const |
|
inlinenodiscard |
◆ getVerticalSpeed()
| float Engine::Components::VrMovement::getVerticalSpeed |
( |
| ) |
const |
|
inlinenodiscard |
◆ setDeadZone()
| void Engine::Components::VrMovement::setDeadZone |
( |
float | deadZone | ) |
|
|
inline |
◆ setMoveSpeed()
| void Engine::Components::VrMovement::setMoveSpeed |
( |
float | speed | ) |
|
|
inline |
◆ setVerticalSpeed()
| void Engine::Components::VrMovement::setVerticalSpeed |
( |
float | speed | ) |
|
|
inline |
◆ tick()
| void Engine::Components::VrMovement::tick |
( |
double | deltaTime | ) |
|
|
overridevirtual |
Called every frame if ticking is enabled.
- Parameters
-
| deltaTime | Time elapsed since last frame. |
Reimplemented from Engine::Components::Logic.
◆ ComponentName
| const char* Engine::Components::VrMovement::ComponentName = "VrMovement" |
|
staticconstexpr |
◆ deadZone_
| float Engine::Components::VrMovement::deadZone_ = 0.15f |
|
private |
◆ headset_
◆ inputHandler_
◆ IsUnique
| bool Engine::Components::VrMovement::IsUnique = true |
|
staticconstexpr |
◆ moveSpeed_
| float Engine::Components::VrMovement::moveSpeed_ = 3.0f |
|
private |
◆ sceneNode_
◆ verticalSpeed_
| float Engine::Components::VrMovement::verticalSpeed_ = 2.0f |
|
private |
The documentation for this class was generated from the following file: