|
| virtual void | OnARSystemInitialized () |
| |
| virtual bool | OnStartARGameFrame (FWorldContext &WorldContext) |
| |
| virtual EARTrackingQuality | OnGetTrackingQuality () const =0 |
| |
| virtual EARTrackingQualityReason | OnGetTrackingQualityReason () const =0 |
| |
| virtual void | OnStartARSession (UARSessionConfig *SessionConfig)=0 |
| |
| virtual void | OnPauseARSession ()=0 |
| |
| virtual void | OnStopARSession ()=0 |
| |
| virtual FARSessionStatus | OnGetARSessionStatus () const =0 |
| |
| virtual bool | IsARAvailable () const =0 |
| |
| virtual void | OnSetAlignmentTransform (const FTransform &InAlignmentTransform)=0 |
| |
| virtual TArray< FARTraceResult > | OnLineTraceTrackedObjects (const FVector2D ScreenCoord, EARLineTraceChannels TraceChannels)=0 |
| |
| virtual TArray< FARTraceResult > | OnLineTraceTrackedObjects (const FVector Start, const FVector End, EARLineTraceChannels TraceChannels)=0 |
| |
| virtual TArray< UARTrackedGeometry * > | OnGetAllTrackedGeometries () const =0 |
| |
| virtual TArray< UARPin * > | OnGetAllPins () const =0 |
| |
| virtual bool | OnIsTrackingTypeSupported (EARSessionType SessionType) const =0 |
| |
| virtual bool | OnToggleARCapture (const bool bOnOff, const EARCaptureType CaptureType) |
| |
| virtual void | OnSetEnabledXRCamera (bool bOnOff) |
| |
| virtual FIntPoint | OnResizeXRCamera (const FIntPoint &InSize) |
| |
| virtual UARLightEstimate * | OnGetCurrentLightEstimate () const =0 |
| |
| virtual UARPin * | FindARPinByComponent (const USceneComponent *Component) const =0 |
| |
| virtual UARPin * | OnPinComponent (USceneComponent *ComponentToPin, const FTransform &PinToWorldTransform, UARTrackedGeometry *TrackedGeometry=nullptr, const FName DebugName=NAME_None)=0 |
| |
| virtual bool | OnPinComponentToARPin (USceneComponent *ComponentToPin, UARPin *Pin)=0 |
| |
| virtual void | OnRemovePin (UARPin *PinToRemove)=0 |
| |
| virtual bool | OnTryGetOrCreatePinForNativeResource (void *InNativeResource, const FString &InPinName, UARPin *&OutPin) |
| |
| virtual bool | OnAddManualEnvironmentCaptureProbe (FVector Location, FVector Extent)=0 |
| |
| virtual TSharedPtr< FARGetCandidateObjectAsyncTask, ESPMode::ThreadSafe > | OnGetCandidateObject (FVector Location, FVector Extent) const =0 |
| |
| virtual TSharedPtr< FARSaveWorldAsyncTask, ESPMode::ThreadSafe > | OnSaveWorld () const =0 |
| |
| virtual EARWorldMappingState | OnGetWorldMappingStatus () const =0 |
| |
| virtual TArray< FARVideoFormat > | OnGetSupportedVideoFormats (EARSessionType SessionType) const =0 |
| |
| virtual TArray< FVector > | OnGetPointCloud () const =0 |
| |
| virtual bool | OnAddRuntimeCandidateImage (UARSessionConfig *SessionConfig, UTexture2D *CandidateTexture, FString FriendlyName, float PhysicalWidth)=0 |
| |
| virtual void * | GetARSessionRawPointer ()=0 |
| |
| virtual void * | GetGameThreadARFrameRawPointer ()=0 |
| |
| virtual bool | OnIsSessionTrackingFeatureSupported (EARSessionType SessionType, EARSessionTrackingFeature SessionTrackingFeature) const |
| |
| virtual TArray< FARPose2D > | OnGetTracked2DPose () const |
| |
| virtual bool | OnIsSceneReconstructionSupported (EARSessionType SessionType, EARSceneReconstruction SceneReconstructionMethod) const |
| |
| virtual bool | OnAddTrackedPointWithName (const FTransform &WorldTransform, const FString &PointName, bool bDeletePointsWithSameName) |
| |
| virtual int32 | OnGetNumberOfTrackedFacesSupported () const |
| |
| virtual UARTexture * | OnGetARTexture (EARTextureType TextureType) const |
| |
| virtual | ~IARSystemSupport () |
| |
| | DEFINE_AR_DELEGATE_ONE_PARAM (OnTrackableAdded, UARTrackedGeometry *) |
| |
| | DEFINE_AR_DELEGATE_ONE_PARAM (OnTrackableUpdated, UARTrackedGeometry *) |
| |
| | DEFINE_AR_DELEGATE_ONE_PARAM (OnTrackableRemoved, UARTrackedGeometry *) |
| |
| virtual bool | IsLocalPinSaveSupported () const |
| |
| virtual bool | ArePinsReadyToLoad () |
| |
| virtual void | LoadARPins (TMap< FName, UARPin * > &LoadedPins) |
| |
| virtual bool | SaveARPin (FName InName, UARPin *InPin) |
| |
| virtual void | RemoveSavedARPin (FName InName) |
| |
| virtual void | RemoveAllSavedARPins () |
| |
| virtual bool | OnGetCameraIntrinsics (FARCameraIntrinsics &OutCameraIntrinsics) const |
| |
Implement IARSystemSupport for any platform that wants to be an Unreal Augmented Reality System. e.g. AppleARKit, GoogleARCore. This interface is included as part of the abstract class FARSupportInterface . The functions you must override are coalesced here for clarity.
Augmented Reality Spaces
Engineers working on supporting Augmented Reality must be aware of three spaces:
TrackingSpace : This is the space defined by the underlying AR system (e.g. ARKit, ARCore, etc.) Unreal has no control over the origin of this space.
AlignedTrackingSpace : To regain control of TrackingSpace, Unreal applies the AlignmentTransform so bend TrackingSpace to its will. If you are implementing IARSystemSupport, you will need to understand this transform and apply it accordingly.
WorldSpace : This is Unreal's coordinate system. Coordinates from Tracking Space can be translated into WorldSpace by using the AlignmentTransform and the TrackingToWorldTransform.
* [TrackingSpace]--(AlignmentTransform)-->[AlignedTrackingSpace]--(TrackingToWorld)-->[WorldSpace]
*