SceneLoadStatus[Get] | |
FOnLoaded | OnSceneLoaded[Get] |
FOnRoomCreated | OnRoomCreated[Get] |
FOnRoomUpdated | OnRoomUpdated[Get] |
FOnRoomRemoved | OnRoomRemoved[Get] |
FOnRoomEntered | OnRoomEntered[Get] |
FOnRoomExited | OnRoomExited[Get] |
FOnCaptureComplete | OnCaptureComplete[Get] |
TArray< TObjectPtr< AMRUKRoom > > | Rooms[Get] |
bool | EnableWorldLock[Get] |
Raycast ( const FVector & Origin, const FVector & Direction, float MaxDist, const FMRUKLabelFilter & LabelFilter, FMRUKHit & OutHit ) | |
bool | RaycastAll ( const FVector & Origin, const FVector & Direction, float MaxDist, const FMRUKLabelFilter & LabelFilter, TArray< FMRUKHit > & OutHits, TArray< AMRUKAnchor * > & OutAnchors ) |
GetCurrentRoom ( ) | |
FString | |
void | LoadSceneFromJsonString ( const FString & String ) |
void | LoadSceneFromDevice ( int MaxQueries ) |
void | ClearScene ( ) |
TryGetClosestSurfacePosition ( const FVector & WorldPosition, FVector & OutSurfacePosition, const FMRUKLabelFilter & LabelFilter, double MaxDistance ) | |
TryGetClosestSeatPose ( const FVector & RayOrigin, const FVector & RayDirection, FTransform & OutSeatTransform ) | |
GetBestPoseFromRaycast ( const FVector & RayOrigin, const FVector & RayDirection, double MaxDist, const FMRUKLabelFilter & LabelFilter, FTransform & OutPose, EMRUKPositioningMethod PositioningMethod ) | |
GetKeyWall ( double Tolerance ) | |
GetLargestSurface ( const FString & Label ) | |
IsPositionInSceneVolume ( const FVector & WorldPosition, bool TestVerticalBounds, double Tolerance ) | |
TArray< AActor * > | SpawnInterior ( const TMap< FString, FMRUKSpawnGroup > & SpawnGroups, const TArray< FString > & CutHoleLabels, UMaterialInterface * ProceduralMaterial, bool ShouldFallbackToProcedural ) |
TArray< AActor * > | SpawnInteriorFromStream ( const TMap< FString, FMRUKSpawnGroup > & SpawnGroups, const FRandomStream & RandomStream, const TArray< FString > & CutHoleLabels, UMaterialInterface * ProceduralMaterial, bool ShouldFallbackToProcedural ) |
bool | |
void | Initialize ( FSubsystemCollectionBase & Collection ) |
TSharedRef< FJsonObject > | JsonSerialize ( ) |
void | UnregisterRoom ( AMRUKRoom * Room ) |
FBox | GetActorClassBounds ( TSubclassOf< AActor > Actor ) |
EMRUKInitStatus UMRUKSubsystem::SceneLoadStatus |
---|
The status of the scene loading. When loading from device this is an asynchronous process so will be in the Busy state until it moves to Complete or Failed. |
FOnLoaded UMRUKSubsystem::OnSceneLoaded |
---|
An event that will trigger when a scene is loaded either from Device or from JSON. The Success parameter indicates whether the scene was loaded successfully or not. |
FOnRoomCreated UMRUKSubsystem::OnRoomCreated |
---|
An event that gets fired after a room has been created. |
FOnRoomUpdated UMRUKSubsystem::OnRoomUpdated |
---|
An event that gets fired after a room has been updated. |
FOnRoomRemoved UMRUKSubsystem::OnRoomRemoved |
---|
An event that gets fired when a room gets removed. |
FOnRoomEntered UMRUKSubsystem::OnRoomEntered |
---|
Event that gets fired if the user enters this room. This is a system level event that gets only fired when working with room data that was loaded from the device. E.g. it will not fire on rooms that were loaded from JSON. This means that it may not be in sync with UMRUKSubsystem::GetCurrentRoom(). |
FOnRoomExited UMRUKSubsystem::OnRoomExited |
---|
Event that gets fired if the user exit this room. This is a system level event that gets only fired when working with room data that was loaded from the device. E.g. it will not fire on rooms that were loaded from JSON. This means that it may not be in sync with UMRUKSubsystem::GetCurrentRoom(). |
FOnCaptureComplete UMRUKSubsystem::OnCaptureComplete |
---|
An event that will trigger when the capture flow completed. The Success parameter indicates whether the scene was captured successfully or not. |
TArray<TObjectPtr<AMRUKRoom> > UMRUKSubsystem::Rooms |
---|
Contains a list of rooms that are tracked by the mixed reality utility kit subsystem. |
bool UMRUKSubsystem::EnableWorldLock |
---|
When world locking is enabled the position of the VR Pawn will be adjusted each frame to ensure the room anchors are where they should be relative to the camera position. This is necessary to ensure the position of the virtual objects in the world do not get out of sync with the real world. |
UMRUKSubsystem::DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam ( FOnLoaded , bool , Success ) |
---|
No description available.
|
UMRUKSubsystem::DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam ( FOnCaptureComplete , bool , Success ) |
---|
No description available.
|
UMRUKSubsystem::DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam ( FOnRoomCreated , AMRUKRoom * , Room ) |
---|
No description available.
|
UMRUKSubsystem::DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam ( FOnRoomUpdated , AMRUKRoom * , Room ) |
---|
No description available.
|
UMRUKSubsystem::DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam ( FOnRoomRemoved , AMRUKRoom * , Room ) |
---|
No description available.
|
UMRUKSubsystem::DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam ( FOnRoomEntered , AMRUKRoom * , Room ) |
---|
No description available.
|
UMRUKSubsystem::DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam ( FOnRoomExited , AMRUKRoom * , Room ) |
---|
No description available.
|
AMRUKAnchor * UMRUKSubsystem::Raycast ( const FVector & Origin, const FVector & Direction, float MaxDist, const FMRUKLabelFilter & LabelFilter, FMRUKHit & OutHit ) |
---|
Cast a ray and return the closest hit anchor in the scene. Parameters Origin Origin The origin of the ray. DirectionDirection The direction of the ray. MaxDistThe maximum distance the ray should travel. LabelFilterThe label filter can be used to include/exclude certain labels from the search. OutHitThe closest hit. Returns The anchor that the ray hit |
bool UMRUKSubsystem::RaycastAll ( const FVector & Origin, const FVector & Direction, float MaxDist, const FMRUKLabelFilter & LabelFilter, TArray< FMRUKHit > & OutHits, TArray< AMRUKAnchor * > & OutAnchors ) |
---|
Cast a ray and collect hits against the volumes and plane bounds in every room in the scene. The order of the hits in the array is not specified. Parameters Origin Origin The origin of the ray. DirectionDirection The direction of the ray. MaxDistThe maximum distance the ray should travel. LabelFilterThe label filter can be used to include/exclude certain labels from the search. OutHitsThe hits the ray collected. OutAnchorsThe anchors that were hit. Each anchor in this array corresponds to a entry at the same position in OutHits. Returns Whether the ray hit anything |
AMRUKRoom * UMRUKSubsystem::GetCurrentRoom ( ) |
---|
Return the room that the headset is currently in. If the headset is not in any given room then it will return the room the headset was last in when this function was called. If the headset hasn't been in a valid room yet then return the first room in the list. If no rooms have been loaded yet then return null. |
FString UMRUKSubsystem::SaveSceneToJsonString ( ) |
---|
Save all rooms and anchors to JSON. This JSON representation can than later be used by LoadSceneFromJsonString() to load the scene again. Returns the JSON string. |
void UMRUKSubsystem::LoadSceneFromJsonString ( const FString & String ) |
---|
Load rooms and anchors from a JSON representation. If the scene is already loaded the scene will be updated with the changes. |
void UMRUKSubsystem::LoadSceneFromDevice ( int MaxQueries ) |
---|
Load rooms and anchors from the device. If the scene is already loaded the scene will be updated with the changes. |
void UMRUKSubsystem::ClearScene ( ) |
---|
Removes and clears every room. |
AMRUKAnchor * UMRUKSubsystem::TryGetClosestSurfacePosition ( const FVector & WorldPosition, FVector & OutSurfacePosition, const FMRUKLabelFilter & LabelFilter, double MaxDistance ) |
---|
Get the position on the surface that is closest to the given position with respect to the distance in all rooms. Parameters WorldPosition The position in world space from which the closest surface point should be found. OutSurfacePositionThe closest position on the closest surface if any. Otherwise zero. LabelFilterThe label filter can be used to include/exclude certain labels from the search. MaxDistanceThe distance to which a closest surface position should be searched. Everything below or equal to zero will be treated as infinity. Returns The Anchor on which the closest surface position was found or a null pointer otherwise. |
AMRUKAnchor * UMRUKSubsystem::TryGetClosestSeatPose ( const FVector & RayOrigin, const FVector & RayDirection, FTransform & OutSeatTransform ) |
---|
Finds the closest seat given a ray. Parameters RayOrigin The origin of the ray. RayDirectionThe direction of the ray. OutSeatTransformThe seat pose. Returns If any seat was found the Anchor that has seats available will be returned. Otherwise a null pointer. |
AMRUKAnchor * UMRUKSubsystem::GetBestPoseFromRaycast ( const FVector & RayOrigin, const FVector & RayDirection, double MaxDist, const FMRUKLabelFilter & LabelFilter, FTransform & OutPose, EMRUKPositioningMethod PositioningMethod ) |
---|
Get a suggested pose (position & rotation) from a raycast to place objects on surfaces in the scene. There are different positioning modes available. Default just uses the position where the raycast hit the object. Edge snaps the position to the edge that is nearest to the user and Center simply centers the position on top of the surface. Parameters RayOrigin The origin of the ray. RayDirectionThe direction of the ray. MaxDistThe maximum distance the ray should travel. LabelFilterThe label filter can be used to include/exclude certain labels from the search. OutPoseThe calculated pose. PositioningMethodThe method that should be used for determining the position on the surface. Returns The anchor that was hit by the ray if any. Otherwise a null pointer. |
AMRUKAnchor * UMRUKSubsystem::GetKeyWall ( double Tolerance ) |
---|
Return the longest wall in the current room that has no other walls behind it. Parameters Tolerance The tolerance to use when determining wall that are behind. Returns The wall anchor that is the key wall in the room. |
AMRUKAnchor * UMRUKSubsystem::GetLargestSurface ( const FString & Label ) |
---|
Return the largest surface for a given label in the current room. Parameters Label The label of the surfaces to search in. Returns The anchor that has the largest surface if any. Otherwise, a null pointer. |
AMRUKAnchor * UMRUKSubsystem::IsPositionInSceneVolume ( const FVector & WorldPosition, bool TestVerticalBounds, double Tolerance ) |
---|
Checks if the given position is on or inside of any scene volume in the rooms. All rooms will be checked and the first anchors scene volume that has the point on or inside it will be returned. Parameters WorldPosition The position in world space to check TestVerticalBoundsWhether the vertical bounds should be checked or not ToleranceTolerance Returns The anchor the WorldPosition is in. A null pointer otherwise. |
TArray< AActor * > UMRUKSubsystem::SpawnInterior ( const TMap< FString, FMRUKSpawnGroup > & SpawnGroups, const TArray< FString > & CutHoleLabels, UMaterialInterface * ProceduralMaterial, bool ShouldFallbackToProcedural ) |
---|
Spawn meshes on the position of the anchors of each room. The actors should have Z as up Y as right and X as forward. The pivot point should be in the bottom center. Parameters SpawnGroups A map which tells to spawn which actor to a given label. ProceduralMaterialMaterial to apply on top of the procedural mesh if any. CutHoleLabelsLabels for which the generated mesh should have holes. Only works with planes. ShouldFallbackToProceduralWhether or not it should by default fallback to generating a procedural mesh if no actor class has been specified for a label. Returns The spawned actors. |
TArray< AActor * > UMRUKSubsystem::SpawnInteriorFromStream ( const TMap< FString, FMRUKSpawnGroup > & SpawnGroups, const FRandomStream & RandomStream, const TArray< FString > & CutHoleLabels, UMaterialInterface * ProceduralMaterial, bool ShouldFallbackToProcedural ) |
---|
Spawn meshes on the position of the anchors of each room from a random stream. The actors should have Z as up Y as right and X as forward. The pivot point should be in the bottom center. Parameters SpawnGroups A map which tells to spawn which actor to a given label. RandomStreamA random generator to choose randomly between actor classes if there a multiple for one label. CutHoleLabelsLabels for which the generated mesh should have holes. Only works with planes. ProceduralMaterialMaterial to apply on top of the procedural mesh if any. ShouldFallbackToProceduralWhether or not it should by default fallback to generating a procedural mesh if no actor class has been specified for a label. Returns The spawned actors. |
bool UMRUKSubsystem::LaunchSceneCapture ( ) |
---|
Launch the scene capture. After a successful capture the scene should be updated. Returns Whether the capture was successful. |
void UMRUKSubsystem::Initialize ( FSubsystemCollectionBase & Collection ) |
---|
No description available.
|
TSharedRef< FJsonObject > UMRUKSubsystem::JsonSerialize ( ) |
---|
No description available.
|
void UMRUKSubsystem::UnregisterRoom ( AMRUKRoom * Room ) |
---|
No description available.
|
FBox UMRUKSubsystem::GetActorClassBounds ( TSubclassOf< AActor > Actor ) |
---|
No description available.
|
UOculusXRRoomLayoutManagerComponent * UMRUKSubsystem::GetRoomLayoutManager ( ) |
---|
No description available.
|