Navigation
API > API/Plugins > API/Plugins/ModelingComponents > API/Plugins/ModelingComponents/Scene
References
| Module | ModelingComponents |
| Header | /Engine/Plugins/Runtime/MeshModelingToolset/Source/ModelingComponents/Public/Scene/SceneCapturePhotoSet.h |
| Include | #include "Scene/SceneCapturePhotoSet.h" |
Syntax
class FSceneCapturePhotoSet
Remarks
FSceneCapturePhotoSet creates a set of render captures for a given World and set of Actors, stored as a SpatialPhotoSet for each desired render buffer type. Currently the set of buffers are defined by ERenderCaptureType: BaseColor Roughness Metallic Specular PackedMRS (Metallic / Roughness / Specular) Emissive Opacity SubsurfaceColor WorldNormal DeviceDepth
There are various efficiences possible by doing these captures as a group, rather than doing each one individually.
One the capture set is computed, the ComputeSample() function can be used to call SpatialPhotoSet::ComputeSample() on each photo set, ie to estimate the value of the different channels at a given 3D position/normal by raycasting against the photo set. Again, it can be more efficient to do this on the group, rather than each individually.
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bAllowCancel | ||
| FSpatialPhotoSet3f | BaseColorPhotoSet | ||
| bool | bEnforceVisibilityViaUnregister | ||
| bool | bWasCancelled | ||
| bool | bWriteDebugImages | ||
| FString | DebugImagesFolderName | ||
| FSpatialPhotoSet1f | DeviceDepthPhotoSet | ||
| FSpatialPhotoSet3f | EmissivePhotoSet | ||
| FSpatialPhotoSet1f | MetallicPhotoSet | ||
| FSpatialPhotoSet1f | OpacityPhotoSet | ||
| FSpatialPhotoSet3f | PackedMRSPhotoSet | ||
| TArray< FSpatialPhotoParams > | PhotoSetParams | ||
| FStatus | PhotoSetStatus | ||
| TRenderCaptureTypeData< FRenderCaptureConfig > | RenderCaptureConfig | ||
| FSpatialPhotoSet1f | RoughnessPhotoSet | ||
| FSpatialPhotoSet1f | SpecularPhotoSet | ||
| FSpatialPhotoSet3f | SubsurfaceColorPhotoSet | ||
| UWorld * | TargetWorld | ||
| TArray< AActor * > | VisibleActors | ||
| TArray< UActorComponent * > | VisibleComponents | ||
| FSpatialPhotoSet3f | WorldNormalPhotoSet |
Constructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | Cancelled () |
||
| void | Compute () |
Render the configured scene, for the configured capture types from the configured viewpoints. | |
| bool | ComputeSample
(
const FRenderCaptureTypeFlags& SampleChannels, |
Sample the requested SampleChannels from the available PhotoSets to determine values at the given 3D Position/Normal. | |
| bool | ComputeSampleLocation
(
const FVector3d& Position, |
If ValidSampleDepthThreshold > 0 then the VisibilityFunction and the DeviceDepthPhotoSet will be used to determine sample validity. | |
| FVector4f | ComputeSampleNearest
(
const int& PhotoIndex, |
||
| void | Disable all capture types. | ||
| const FSpatialPhotoSet3f & | |||
| FRenderCaptureConfig | GetCaptureConfig
(
ERenderCaptureType CaptureType |
||
| UWorld * | |||
| ECaptureTypeStatus | GetCaptureTypeStatus
(
ERenderCaptureType CaptureType |
Returns the current status of the given capture type | |
| const FSpatialPhotoSet1f & | |||
| const FSpatialPhotoSet3f & | |||
| const FSpatialPhotoSet1f & | |||
| const FSpatialPhotoSet1f & | |||
| const FSpatialPhotoSet3f & | |||
| const FSpatialPhotoSet1f & | |||
| FStatus | Returns the current status of all capture types | ||
| void | GetSceneSamples
(
FSceneSamples& OutSamples |
Fills in the non-null arrays in OutSamples if the status of the needed captures is Computed | |
| const TArray< FSpatialPhotoParams > & | |||
| const FSpatialPhotoSet1f & | |||
| const FSpatialPhotoSet3f & | |||
| const FSpatialPhotoSet3f & | |||
| void | Post-process the various PhotoSets after capture, to reduce memory usage and sampling cost. | ||
| void | SetAllowCancel
(
bool bAllowCancelIn |
||
| void | SetCaptureConfig
(
ERenderCaptureType CaptureType, |
Configure the given capture type If Config != the existing capture config the corresponding photo set will be cleared | |
| void | SetCaptureSceneActors
(
UWorld* World, |
Set the target World and set of Actors/Components If World != this->World or Actors != this->Actors all existing photo sets are cleared Note: The caller must ensure Actors does not contain nullptr | |
| void | SetCaptureSceneActorsAndComponents
(
UWorld* World, |
||
| void | SetCaptureSceneComponents
(
UWorld* World, |
||
| void | SetCaptureTypeEnabled
(
ERenderCaptureType CaptureType, |
Enable/Disable a particular capture type If bEnabled == false the corresponding photo set will be cleared | |
| void | SetEnableVisibilityByUnregisterMode
(
bool bEnable |
If enabled, any Component Scene Proxies in the level that are not meant to be included in the capture (ie not added via SetCaptureSceneActors), will be unregistered to hide them. | |
| void | SetEnableWriteDebugImages
(
bool bEnable, |
Enable debug image writing. | |
| void | SetSpatialPhotoParams
(
const TArray< FSpatialPhotoParams >& SpatialParams |
Set the parameters positioning the virtual cameras used to capture the photo sets If SpatialParams != this->PhotoSetParams all existing photo sets are cleared (TODO clear on a more granular level) |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FSceneSample | FSceneSample stores a full sample of all possible channels, some values may be default-values though | ||
| FSceneSamples | FSceneSamples stores samples corresponding to pixels in the DeviceDepth photoset where the values are strictly within the viewing frustum, which corresponds to a camera ray intersecting an actor in VisibleActors. |
Enums
| Type | Name | Description | |
|---|---|---|---|
| ECaptureTypeStatus | Status of a given capture type |
Typedefs
| Name | Description |
|---|---|
| FStatus | Status of the overall scene capture i.e., the combined status of all capture types |