@3dsource/types-unreal
Version:
A set of types for unreal module using in 3dsource projects
2,560 lines (2,526 loc) • 148 kB
TypeScript
/**
* This file is auto-generated by the API parser
* Please note that any changes in this file may be overwritten
* Version: 2025-11-27 10:36:38
*/
/**
@description
Change resolution window mode.
*/
declare enum EResolutionMode {
Fullscreen = "Fullscreen",
WindowedFullscreen = "WindowedFullscreen",
Windowed = "Windowed"
}
/**
@description
Type of Asset for all PAKs.
*/
declare enum EAssetType {
none = "none",
product = "product",
material = "material",
environment = "environment",
level = "level",
camera = "camera",
showcase = "showcase",
screenshot = "screenshot",
light = "light"
}
/**
@description
Dimension type.
*/
declare enum EDimensionType {
none = "none",
millimeter = "millimeter",
centimeter = "centimeter",
meter = "meter",
kilometer = "kilometer",
inch = "inch",
foot = "foot",
yard = "yard",
mile = "mile"
}
/**
@description
SequenceLoopBehavior.
*/
declare enum ESequenceLoopBehavior {
none = "none",
loop = "loop",
pingPong = "pingPong",
loopSection = "loopSection",
pingPongSection = "pingPongSection"
}
/**
@description
Measure axis position.
*/
declare enum EBoolState {
none = "none",
trueState = "trueState",
falseState = "falseState"
}
/**
@description
Items types that can be placed in scene.
*/
declare enum ESceneItemType {
products = "products",
lights = "lights",
pawn = "pawn"
}
/**
@deprecated
Use {@link EDimensionLineZPlacement}
All deprecated properties marked as optional. Use with care!
@description
Placement of Z dimension line.
*/
declare enum EMeasureAxisZPosition {
front = "front",
left = "left",
right = "right",
leftRight = "leftRight",
back = "back"
}
/**
@description
Placement of vertical (Z axis) line based on camera view. Near or front, left, right, far or back side of the bounding box
*/
declare enum EVerticalLinePlacement {
near = "near",
left = "left",
right = "right",
leftRightBasedOnCamera = "leftRightBasedOnCamera",
far = "far"
}
/**
@description
Placement of horizontal (X, Y axis) lines along top, bottom, top-bottom face of the bounding box
*/
declare enum EHorizontalLinePlacement {
top = "top",
bottom = "bottom",
topBottomBasedOnCamera = "topBottomBasedOnCamera"
}
/**
@description
Dimension line appearance.
*/
declare enum EDimensionLine {
solid = "solid",
dashed = "dashed"
}
/**
@description
Dimension line end appearance.
*/
declare enum EDimensionLineTerminator {
none = "none",
cube = "cube",
sphere = "sphere",
tickMark = "tickMark",
arrowHead = "arrowHead"
}
/**
@description
Measure axis position.
*/
declare enum EMeasurementRenderMode {
lit = "lit",
emissive = "emissive",
overlay = "overlay"
}
/**
@description
Measure axis position.
*/
declare enum EPaddingUnit {
pixel = "pixel",
cm = "cm"
}
/**
@description
Curve type.
*/
declare enum ECurve {
linear = "linear",
inSine = "inSine",
outSine = "outSine",
inOutSine = "inOutSine",
inQuad = "inQuad",
outQuad = "outQuad",
inOutQuad = "inOutQuad",
inCubic = "inCubic",
outCubic = "outCubic",
inOutCubic = "inOutCubic",
inQuart = "inQuart",
outQuart = "outQuart",
inOutQuart = "inOutQuart",
inQuint = "inQuint",
outQuint = "outQuint",
inOutQuint = "inOutQuint",
inExpo = "inExpo",
outExpo = "outExpo",
inOutExpo = "inOutExpo",
inCirc = "inCirc",
outCirc = "outCirc",
inOutCirc = "inOutCirc",
inBack = "inBack",
outBack = "outBack",
inOutBack = "inOutBack",
inElastic = "inElastic",
outElastic = "outElastic",
inOutElastic = "inOutElastic",
inBounce = "inBounce",
outBounce = "outBounce",
inOutBounce = "inOutBounce"
}
/**
@description
Fit options.
*/
declare enum EFitMethod {
none = "none",
byLocation = "byLocation",
byRotation = "byRotation",
top = "top",
bottom = "bottom",
front = "front",
back = "back",
right = "right",
left = "left"
}
/**
@description
Movement allowance along specified axis.
*/
declare enum EMovementAllowance {
none = "none",
planeYZ = "planeYZ",
planeXY = "planeXY",
planeXZ = "planeXZ",
axisX = "axisX",
axisY = "axisY",
axisZ = "axisZ"
}
/**
@description
Alignment options.
*/
declare enum EAlignment {
byBottomSide = "byBottomSide",
byTopSide = "byTopSide",
byFrontSide = "byFrontSide",
byBackSide = "byBackSide",
byRightSide = "byRightSide",
byLeftSide = "byLeftSide"
}
/**
@description
Gizmo type.
*/
declare enum EGizmoType {
translation = "translation",
rotation = "rotation",
scale = "scale",
none = "none"
}
/**
@description
Pawn camera control mode.
*/
declare enum EControlMode {
none = "none",
select = "select",
orbit = "orbit",
pan = "pan",
dolly = "dolly"
}
/**
@description
Pawn movement mode.
*/
declare enum EPawnMovementMode {
none = "none",
around = "around",
aroundBlocking = "aroundBlocking",
walk = "walk",
aroundObstacles = "aroundObstacles",
productsControl = "productsControl"
}
/**
@description
Light mode.
*/
declare enum ELightMode {
NONE = "NONE",
RECT = "RECT",
PANEL = "PANEL"
}
/**
@description
Rectangle light type.
*/
declare enum ERectLightType {
rect = "rect",
circ = "circ",
hexa = "hexa"
}
/**
@deprecated
Don't need anymore.
All deprecated properties marked as optional. Use with care!
@description
App type.
*/
declare enum EAppType {
none = "none",
platform = "platform",
metabox = "metabox",
vps = "vps",
abg = "abg",
htmx = "htmx",
proampac = "proampac"
}
/**
@description
DLSS mode.
*/
declare enum EDlssMode {
Off = "Off",
Auto = "Auto",
DLAA = "DLAA",
UltraQuality = "UltraQuality",
Quality = "Quality",
Balanced = "Balanced",
Performance = "Performance"
}
/**
@description
Events to listen for frontend.
*/
declare enum EEvent {
sceneState = "sceneState",
cameraChanged = "cameraChanged"
}
/**
@description
A vector in 2-D space composed of components (X, Y) with floating point precision.
*/
interface FVector2DJson {
/**
@description
Vector's X component.
Default value: 0.0 (float)
*/
x: float;
/**
@description
Vector's Y component.
Default value: 0.0 (float)
*/
y: float;
}
/**
@description
Structure for integer points in 2-d space.
*/
interface FIntPoint2DJson {
/**
@description
Holds the point's X-coordinate.
Default value: 0
*/
x: int32;
/**
@description
Holds the point's Y-coordinate.
Default value: 0
*/
y: int32;
}
/**
@description
Structure for dimensions by integer points in 2-d space.
*/
interface FDimension2DJson {
/**
@description
Holds the point's X-coordinate.
Default value: 0
*/
width: int32;
/**
@description
Holds the point's Y-coordinate.
Default value: 0
*/
height: int32;
}
/**
@description
Structure for min and max values.
*/
interface FMinMaxJson {
/**
@description
Holds the min value.
Default value: 0
*/
min: float;
/**
@description
Holds the max value.
Default value: 0
*/
max: float;
}
/**
@description
All rotation values are stored in degrees.
*/
interface FRotatorJson {
/**
@description
Rotation around the right axis (around Y axis), Looking up and down (0=Straight Ahead, +Up, -Down)
Default value: 0.0 (float)
*/
pitch: float;
/**
@description
Rotation around the up axis (around Z axis), Running in circles 0=East, +North, -South.
Default value: 0.0 (float)
*/
yaw: float;
/**
@description
Rotation around the forward axis (around X axis), Tilting your head, 0=Straight, +Clockwise, -CCW.
Default value: 0.0 (float)
*/
roll: float;
/**
@deprecated
Use {@link Yaw}, {@link Pitch}, {@link Roll}
All deprecated properties marked as optional. Use with care!
Default value: 0.0 (float)
@optional
*/
x?: float;
/**
@deprecated
Use {@link Yaw}, {@link Pitch}, {@link Roll}
All deprecated properties marked as optional. Use with care!
Default value: 0.0 (float)
@optional
*/
y?: float;
/**
@deprecated
Use {@link Yaw}, {@link Pitch}, {@link Roll}
All deprecated properties marked as optional. Use with care!
Default value: 0.0 (float)
@optional
*/
z?: float;
/**
@deprecated
Use {@link Yaw}, {@link Pitch}, {@link Roll}
All deprecated properties marked as optional. Use with care!
Default value: 0.0 (float)
@optional
*/
w?: float;
}
/**
@description
All rotation values are stored in degrees.
*/
interface FCameraRotatorJson {
/**
@description
Yaw. Rotation around the up axis (around Z axis), Running in circles 0=East, +North, -South.
Default value: 0.0 (float)
*/
vertical: float;
/**
@description
Pitch. Rotation around the right axis (around Y axis), Looking up and down (0=Straight Ahead, +Up, -Down)
Default value: 0.0 (float)
*/
horizontal: float;
}
/**
@description
A vector in 3-D space composed of components (X, Y, Z) with floating point precision.
*/
interface FVectorJson {
/**
@description
Vector's X component.
Default value: 0.0 (float)
*/
x: float;
/**
@description
Vector's Y component.
Default value: 0.0 (float)
*/
y: float;
/**
@description
Vector's Z component.
Default value: 0.0 (float)
*/
z: float;
}
/**
@description
Structure for box.
*/
interface FBoxJson {
/**
@description
Holds the min box value.
*/
min: FVectorJson;
/**
@description
Holds the max box value.
*/
max: FVectorJson;
}
/**
@description
Transform composed of Scale, Rotation (as a rotator), and Translation.
*/
interface FTransformJson {
/**
@description
Rotation of this transformation, as a rotator.
*/
rotation: FRotatorJson;
/**
@description
Translation of this transformation, as a vector.
*/
translation: FVectorJson;
/**
@description
3D scale (always applied in local space) as a vector.
Default value: FVectorJson(1.0f, 1.0f, 1.0f)
*/
scale3D: FVectorJson;
}
/**
@description
Parameter.
*/
interface FParameterJson {
/**
@description
Parameter.
Default value: ""
*/
parameterName: FString;
}
/**
@description
Scalar material parameter.
*/
interface FScalarJson extends FParameterJson {
/**
@description
Value of the scalar material parameter.
Default value: 1.0 (float)
*/
value: float;
}
/**
@description
Vector parameter.
*/
interface FVectorParameterJson extends FParameterJson {
/**
@description
Value of the scalar material parameter.
*/
value: FVectorJson;
}
/**
@description
LinearColor RGBA(1.1.1.1).
*/
interface FLinearColorJson {
/**
@description
Color's Red component.
Default value: 1.0 (float)
*/
r: float;
/**
@description
Color's Green component.
Default value: 1.0 (float)
*/
g: float;
/**
@description
Color's Blue component.
Default value: 1.0 (float)
*/
b: float;
/**
@description
Color's Alpha component.
Default value: 1.0 (float)
Meta: ClampMin: 0.0; ClampMax: 1.0
@optional
*/
a?: float;
}
/**
@description
Niagara.
*/
interface FNiagara {
/**
@description
Niagara vector parameters.
*/
vectors: TArray<FVectorParameterJson>;
}
/**
@description
Material texture.
*/
interface FTextureJson extends FParameterJson {
/**
@description
URL to download texture from.
Default value: ""
*/
url: FString;
/**
@description
Enable canvas for texture or not.
Default value: true
@optional
*/
canvas?: bool;
/**
@description
Size of the texture.
Default value: {1024, 1024}
@optional
*/
size?: FVector2DJson;
/**
@description
Position of the texture in relative space.
Default value: {0.5, 0.5}
@optional
*/
position?: FVector2DJson;
/**
@description
Rotate angle in degrees.
Default value: 0
@optional
*/
rotate?: float;
/**
@description
Pivot of the texture in relative space.
Default value: {0.5, 0.5}
@optional
*/
pivot?: FVector2DJson;
/**
@description
Grid position.
Default value: {0, 0}
@optional
*/
coordinatePosition?: FVector2DJson;
/**
@description
Grid size.
Default value: {1, 1}
@optional
*/
coordinateSize?: FVector2DJson;
}
/**
@description
Material.
*/
interface FMaterialJson {
/**
@description
Name of the asset relative to Content folder in project.
Default value: ""
*/
name: FString;
/**
@deprecated
Use {@link slotName}field.
All deprecated properties marked as optional. Use with care!
@description
Material slot name in product to which apply material.
Default value: ""
*/
slot_name?: FString;
/**
@description
Material slot name in product to which apply material.
Default value: ""
*/
slotName: FString;
/**
@description
List of textures in the material.
@optional
*/
textures?: TArray<FTextureJson>;
/**
@description
List of scalars in the material.
@optional
*/
scalars?: TArray<FScalarJson>;
/**
@description
Relative path to material pak file.
Default value: ""
*/
pakFilePath: FString;
/**
@description
Color
@optional
*/
color?: FLinearColorJson;
/**
@description
renderTargetAspectRatio.
@optional
*/
renderTargetAspectRatio?: FVector2DJson;
}
/**
@description
Material initial state.
*/
interface FAnimationInitialStateJson {
/**
@description
Product animations.
*/
animations: TArray<FString>;
}
/**
@description
Material initial state.
*/
interface FMaterialInitialStateJson {
/**
@description
List of materials applying to product.
*/
materials: TArray<FMaterialJson>;
}
/**
@description
Mesh initial state.
*/
interface FMeshInitialStateJson extends FMaterialInitialStateJson {
/**
@description
Name of the asset relative to Content folder in project.
Default value: ""
*/
meshName: FString;
/**
@description
Product spawn transform.
@optional
*/
transform?: FTransformJson;
/**
@description
Product animations.
@optional
*/
animations?: TArray<FString>;
/**
@description
Materials slots.
@optional
*/
slots?: TArray<FString>;
/**
@description
Attach sockets.
@optional
*/
sockets?: TArray<FString>;
/**
@description
Skeletal mesh morphs, apply to all skeletal meshes
@optional
*/
morphs?: TMap<FString, float>;
}
/**
@description
Object describes path to pak/use file.
*/
interface FPakJson {
/**
@description
Relative path to pak file.
Default value: ""
*/
pakFilePath: FString;
/**
@description
Path to usd/usdz file overrides pak file path.
Default value: ""
@optional
*/
usdPath?: FString;
}
/**
@description
Asset pak file.
*/
interface FAssetPakJson extends FPakJson {
/**
@description
Asset name.
*/
assetName: FString;
}
/**
@description
Animation pak file.
*/
interface FAnimationPakJson extends FPakJson {
/**
@description
Animation initial state.
*/
initialState: FAnimationInitialStateJson;
}
/**
@description
Material pak file.
*/
interface FMaterialPakJson {
/**
@description
Material initial state.
*/
initialState: FMaterialInitialStateJson;
}
/**
@description
Mesh pak file.
*/
interface FMeshPakJson extends FPakJson {
/**
@description
Mesh initial state.
*/
initialState: FMeshInitialStateJson;
}
/**
@description
Attachment settings.
*/
interface FAttachment {
/**
@description
Find object in scene to what attach.
*/
attachToObject: FString;
/**
@description
Find socket in object in scene to what attach. If empty, then boundCenterOffset is used.
@optional
*/
attachToSocket?: FString;
/**
@description
Use socket as a pivot of attached object.
@optional
*/
pivotSocket?: FString;
/**
@description
Local distance offset. Orientation of attachToSocket is main for this local offset. Socket's forward vector is multiplied on X. If X = +5, then object will be moved out from object on 5 units. If X = -5, then object will be moved inside object on 5 units.
Default value: { 0 , 0 , 0}
@optional
*/
offset?: FVectorJson;
/**
@description
Local distance offset from bound center of product. Orientation is relative to product. If attachToSocket is empty and boundCenterOffset is valid, then it would work.
@optional
*/
boundCenterOffset?: FTransformJson;
}
/**
@description
Sequence section.
*/
interface FSequenceSection {
/**
@description
Id of section.
Default value: -1
*/
id: int32;
/**
@description
Start time of section.
Default value: 0
*/
startTime: float;
/**
@description
End time of section.
Default value: 0
*/
endTime: float;
}
/**
@description
NULL payload.
*/
interface FNullJson {
}
/**
@description
Base payload structure.
*/
interface FPayloadBase {
}
/**
@description
Base payload with bool to enable, click, drag and etc.
*/
interface FBoolPayload extends FPayloadBase {
/**
@description
This value means enable, click, drag, etc.
Default value: false
*/
value: bool;
}
/**
@description
Base payload for float.
*/
interface FFloatPayload extends FPayloadBase {
/**
@description
This value is for changing float values.
Default value: 0
*/
value: float;
}
/**
@description
Base payload for vector.
*/
interface FFVectorPayload extends FPayloadBase {
/**
@description
This value is for changing vector values.
*/
value: FVectorJson;
}
/**
@description
Base payload for rotator.
*/
interface FFRotatorPayload extends FPayloadBase {
/**
@description
This value is for changing rotator values.
*/
value: FRotatorJson;
}
/**
@description
Base payload for string.
*/
interface FFStringPayload extends FPayloadBase {
/**
@description
This value could be used for ObjectName, URL and other strings.
*/
value: FString;
}
/**
@description
Base payload for strings.
*/
interface FFStringsPayload extends FPayloadBase {
/**
@description
This value could be used for ObjectName, URL and other strings.
*/
values: TArray<FString>;
}
/**
@description
Add mesh pak pak
*/
interface FAddMeshJson extends FPakJson {
/**
@description
Mesh name in pak.
*/
meshName: FString;
}
/**
@description
Unwrap/Wrap mesh pairs params
*/
interface FUWMeshPairParamsJson {
/**
@description
Size.
*/
size: FVectorJson;
/**
@description
Tile.
Default value: {1.f, 1.f}
@optional
*/
uvTile?: FVector2DJson;
/**
@description
position.
*/
position: FVectorJson;
/**
@description
scale.
Default value: {1.f, 1.f, 1.f}
@optional
*/
scale?: FVectorJson;
}
/**
@description
Unwrap/Wrap mesh pairs pak
*/
interface FUWMeshPairPakJson extends FAddMeshJson {
/**
@description
UWMeshPair params.
*/
params: FUWMeshPairParamsJson;
}
/**
@description
Unwrap/Wrap mesh pairs
*/
interface FUWMeshPairJson {
/**
@description
Unwrap pak info.
*/
unwrap: FUWMeshPairPakJson;
/**
@description
Unwrap pak info.
*/
wrap: FUWMeshPairPakJson;
}
/**
@description
Material Base Payload for PakExport.
*/
interface FMaterialBasePayload extends FPayloadBase {
/**
@description
Material PAK.
*/
materialPak: FMaterialPakJson;
}
/**
@description
Material Base Payload for PakExport.
*/
interface FMaterialPayload extends FMaterialBasePayload {
/**
@description
Material name.
@optional
*/
materialName?: FString;
}
/**
@description
This payload is used in command to load/spawn and unload/destroy products.
*/
interface FProductPayload extends FMaterialBasePayload {
/**
@description
Global(static) product ID in scene (not per instance).
@optional
*/
productName?: FString;
/**
@description
Mesh pak file.
*/
meshPak: FMeshPakJson;
/**
@description
Animations pak file.
@optional
*/
animationsPak?: FPakJson;
/**
@description
Object name used by frontend.
@optional
*/
objectName?: FString;
/**
@description
Material slots.
@optional
*/
materialSlots?: TArray<FString>;
/**
@description
Product transform in the world.
@optional
*/
transform?: FTransformJson;
/**
@deprecated
Legacy
All deprecated properties marked as optional. Use with care!
@description
Vector parameters of product materials.
@optional
*/
materialVectorParams?: TArray<FString>;
/**
@description
Datasmith format file path.
@optional
*/
datasmithFilePath?: FString;
/**
@description
Attachment settings.
@optional
*/
attachment?: FAttachment;
/**
@description
Unwrap/Wrap mesh pairs
@optional
*/
uwMeshPairs?: TArray<FUWMeshPairJson>;
/**
@description
Additional meshes for product
@optional
*/
addMeshes?: TArray<FAddMeshJson>;
/**
@description
Unwrap mesh pak
@optional
*/
unwrapPak?: FUWMeshPairPakJson;
/**
@description
Make product like static mesh actor(no select)
Default value: false
@optional
*/
staticMeshActor?: bool;
/**
@description
Make pan clamps for product
Default value: false
@optional
*/
clampPanToProduct?: bool;
/**
@description
Can product collision with levels.
Default value: false
@optional
*/
collisionLevel?: bool;
/**
@description
Can product collision with other products.
Default value: false
@optional
*/
collisionProduct?: bool;
/**
@description
Show only meshes.
@optional
*/
cutMeshes?: TArray<FString>;
/**
@description
Meshes to hide from product.
@optional
*/
hideMeshes?: TArray<FString>;
/**
@description
Make pivot in center of bounds.
Default value: false
@optional
*/
centerPivot?: bool;
/**
@description
Show unwrap for debug.
Default value: false
@optional
*/
showUnwrap?: bool;
/**
@description
Layers to add product to.
@optional
*/
layers?: TArray<FString>;
/**
@description
Set product hidden in scene.
Default value: false
@optional
*/
hide?: bool;
/**
@description
Is product selected.
Default value: false
@optional
*/
selected?: bool;
/**
@description
Measurements of product. It will be used to override bound size for FLoadMeasureCommand
@optional
*/
measurements?: FVectorJson;
/**
@description
Dimension.
Default value: EDimensionType::none
@optional
*/
dimensionType?: EDimensionType;
/**
@description
Niagara.
@optional
*/
niagara?: FNiagara;
}
/**
@description
Load sublevel.
*/
interface FLevelPayload extends FPayloadBase {
/**
@description
Level name.
@optional
*/
levelName?: FString;
/**
@description
Bool that hide all levels, after that it loads level with levelName.
Default value: false
@optional
*/
hideAllLevels?: bool;
/**
@description
Hide last level.
Default value: false
@optional
*/
hideLastLevel?: bool;
/**
@description
This means that parts of level with tag 'Selectable' can be selected.
Default value: false
@optional
*/
selectable?: bool;
/**
@description
Level VRam size in mb. It is used for level streaming and managing.
Default value: 0
@optional
*/
levelVRamSize?: int32;
/**
@description
Location of this sublevel.
@optional
*/
location?: FVectorJson;
/**
@description
Rotation of this sublevel.
@optional
*/
rotation?: FRotatorJson;
/**
@description
Level type.
@optional
*/
levelType?: TArray<FString>;
/**
@description
Level PAK.
*/
levelPak: FAssetPakJson;
/**
@description
Material slots of all actors in the world.
@optional
*/
slots?: TArray<FString>;
/**
@description
Attach sockets of all actors in the world.
@optional
*/
sockets?: TArray<FString>;
/**
@description
Clear products during level change.
Default value: false
@optional
*/
clearProducts?: bool;
}
/**
*/
interface FAsyncLevelPayload extends FLevelPayload {
/**
@description
Level visibility after async loading .
Default value: true
@optional
*/
visibleOnLoad?: bool;
}
/**
@description
Camera settings.
*/
interface FCameraSettingsPayload extends FPayloadBase {
/**
@description
Camera aperture.
Default value: 0
@optional
*/
aperture?: float;
/**
@description
Camera FocusOffset.
Default value: 0
@optional
*/
focusOffset?: float;
/**
@description
Camera FocalLength. If FocalLength is used, then FOV is not used.
Default value: 0
@optional
*/
focalLength?: float;
/**
@description
Camera FOV. If FOV is used, then FocalLength is not used.
Default value: 0
@optional
*/
fov?: float;
/**
@description
Turns off focusing completely.
Default value: false
@optional
*/
enableFocus?: bool;
}
/**
@description
CameraPreset with Location and Rotation. It Used in PakExportRuntime.
*/
interface FCameraPresetBasePayload extends FPayloadBase {
/**
@description
Location.
*/
location: FVectorJson;
/**
@description
Rotation.
*/
rotation: FRotatorJson;
/**
@description
Camera object.
@optional
*/
object?: FString;
/**
@deprecated
Use {@link FCameraSettingsCommand}
All deprecated properties marked as optional. Use with care!
@description
Camera aperture.
Default value: 0
@optional
*/
aperture?: float;
/**
@deprecated
Use {@link FCameraSettingsCommand}
All deprecated properties marked as optional. Use with care!
@description
Camera FocusOffset.
Default value: 0
@optional
*/
focusOffset?: float;
/**
@deprecated
Use {@link FCameraSettingsCommand}
All deprecated properties marked as optional. Use with care!
@description
Camera FocalLength.
Default value: 0
@optional
*/
focalLength?: float;
/**
@deprecated
Use {@link FCameraSettingsCommand}
All deprecated properties marked as optional. Use with care!
@description
Camera FOV.
Default value: 0
@optional
*/
fov?: float;
/**
@deprecated
Use {@link FCameraSettingsCommand}
All deprecated properties marked as optional. Use with care!
@description
Turns off focusing completely.
Default value: false
@optional
*/
enableFocus?: bool;
}
/**
@description
Settings of sequence.
*/
interface FSettingsSequencePayload extends FPayloadBase {
/**
@description
Loop behavior of sequence playing.
Default value: ESequenceLoopBehavior::none
@optional
*/
loopBehavior?: ESequenceLoopBehavior;
/**
@description
Rate-speed of sequence playing
TODO: Make play rate. It could be negative, so remove bool reverse.
Default value: 1.0 (float)
@optional
*/
playRate?: float;
/**
@description
Is reverse playing of sequence.
Default value: false
@optional
*/
reverse?: bool;
/**
@description
Time period of responding changes for callbacks.
Default value: 0.05 (float)
@optional
*/
timeResponseChangeCallBack?: float;
/**
@description
Sections of sequence. It is used for callback.
@optional
*/
sections?: TArray<FSequenceSection>;
}
/**
@description
Init sequence.
*/
interface FInitSequencePayload extends FSettingsSequencePayload {
/**
@description
Sequence to init if app uses CameraCuts as sections, not LevelSequences as sections. If invalid, then 0 index from paks.
@optional
*/
sequenceName?: FString;
/**
@description
PAKs of sequences.
*/
paks: TArray<FAssetPakJson>;
}
/**
@description
Enabled axis.
*/
interface FEnabledAxis {
/**
@description
Enable X axis.
Default value: true
*/
x: bool;
/**
@description
Enable Y axis.
Default value: true
*/
y: bool;
/**
@description
Enable Z axis.
Default value: true
*/
z: bool;
}
/**
@description
Measurement material spline settings.
*/
interface FMeasurementMaterialSplineSettings {
/**
@description
If renderMode is emissive or lit, it changes emissive of material. While lit mode is used, emissive better to be 0.
Default value: 1.f
Meta: ClampMin: 0.0; ClampMax: 100
@optional
*/
emissive?: float;
/**
@description
If renderMode is lit, it changes metallic of material.
Default value: 0.5 (float)
Meta: ClampMin: 0.0; ClampMax: 1.0
@optional
*/
metallic?: float;
/**
@description
If renderMode is lit, it changes roughness of material.
Default value: 0.5 (float)
Meta: ClampMin: 0.0; ClampMax: 1.0
@optional
*/
roughness?: float;
/**
@description
If Measurement is dashed, it changes tiling of dashes in material.
Default value: 1.f
Meta: ClampMin: 0.0; ClampMax: 100
@optional
*/
dashTiling?: float;
/**
@description
Color.
Default value: {0.f, 0.f, 0.f, 1.f}
@optional
*/
color?: FLinearColorJson;
}
/**
@description
Labels for XYZ axis measurement.
*/
interface FLabels {
/**
@description
Widget measure text X to override.
*/
x: FString;
/**
@description
Widget measure text Y to override.
*/
y: FString;
/**
@description
Widget measure text Z to override.
*/
z: FString;
}
/**
@description
Measurement spline settings.
*/
interface FMeasurementSpline {
/**
@description
Render mode of splines.
Default value: EMeasurementRenderMode::emissive
@optional
*/
renderMode?: EMeasurementRenderMode;
/**
@description
Position of the Z dimension line of measure.
Default value: EVerticalLinePlacement::left
@optional
*/
verticalLinePlacement?: EVerticalLinePlacement;
/**
@description
Position of the XY dimension lines of measure.
Default value: EHorizontalLinePlacement::bottom
@optional
*/
horizontalLinePlacement?: EHorizontalLinePlacement;
/**
@description
Dimension line appearance.
Default value: EDimensionLine::solid
@optional
*/
dimensionLine?: EDimensionLine;
/**
@description
Dimension line terminator appearance.
Default value: EDimensionLineTerminator::tickMark
@optional
*/
dimensionLineTerminator?: EDimensionLineTerminator;
/**
@description
Spline offset from bounds.
Default value: {10.f, 0.f}
@optional
*/
offset?: FVector2DJson;
/**
@description
Spline scale.
Default value: 1.0 (float)
@optional
*/
scale?: float;
/**
@description
Spline scale.
@optional
*/
materialSettings?: FMeasurementMaterialSplineSettings;
}
/**
@description
Font settings.
*/
interface FMeasurementFont {
/**
@description
Color.
Default value: {0.f, 0.f, 0.f, 1.f}
@optional
*/
color?: FLinearColorJson;
/**
@description
Outline color.
Default value: {1.f, 1.f, 1.f, 1.f}
@optional
*/
outlineColor?: FLinearColorJson;
/**
@description
Font size.
Default value: 20.0 (float)
@optional
*/
size?: float;
/**
@description
Font outline size.
Default value: 0
@optional
*/
outlineSize?: int32;
}
/**
@description
Background settings.
*/
interface FMeasurementBackground {
/**
@description
Color.
Default value: {1.f, 1.f, 1.f, 1.f}
@optional
*/
color?: FLinearColorJson;
}
/**
@description
Measurement label box settings.
*/
interface FMeasurementLabelBox {
/**
@description
Render mode of label boxes.
TODO: UE crashes if 3d widget is used with translucent material with disabled depth test. So emissive is the same as lit mode.
Default value: EMeasurementRenderMode::lit
@optional
*/
renderMode?: EMeasurementRenderMode;
/**
@description
Labels of X,Y,Z axis, to override calculated values.
@optional
*/
labels?: FLabels;
/**
@description
Dimension.
Default value: EDimensionType::none
@optional
*/
dimensionType?: EDimensionType;
/**
@description
Returns a string representing this number using fixed-point notation with the specified number of decimal places.
Default value: 0
@optional
*/
fixedPointNumber?: int32;
/**
@description
Widget offset from spline to player camera.
Default value: {10.f, 0.f, 0.f}
@optional
*/
offset?: FVectorJson;
/**
@description
Font settings.
@optional
*/
font?: FMeasurementFont;
/**
@description
Font settings.
@optional
*/
background?: FMeasurementBackground;
}
/**
@description
Padding or offset from borders of screen.
*/
interface FBorderPadding {
/**
@description
Padding or offset from left broder of screen.
Default value: 0.f
*/
left: float;
/**
@description
Padding or offset from right broder of screen.
Default value: 0.f
*/
right: float;
/**
@description
Padding or offset from top broder of screen.
Default value: 0.f
*/
top: float;
/**
@description
Padding or offset from bottom broder of screen.
Default value: 0.f
*/
bottom: float;
}
/**
@description
Transition. If transition time equal 0, then no transition.
*/
interface FTransition {
/**
@description
Transition time.
Default value: 0.f
@optional
*/
time?: float;
/**
@description
Curve type or easing.
Default value: ECurve::linear
@optional
*/
curve?: ECurve;
}
/**
@description
FileName and RelativePath/Directory.
*/
interface FFilePathName {
/**
@description
File name to assign.
*/
name: FString;
/**
@description
Path for file.
*/
directory: FString;
}
/**
@deprecated
Use {@link FUnLoadProductCommand}, {@link FFStringPayload}
All deprecated properties marked as optional. Use with care!
@description
This payload is used in comand to destroy product in scene by ObjectName.
*/
interface FRemoveProductInScenePayload extends FPayloadBase {
/**
@description
ObjectName of product to destroy.
*/
objectName: FString;
}
/**
@deprecated
Use {@link FUnLoadLevelCommand}, {@link FFStringPayload}
All deprecated properties marked as optional. Use with care!
@description
This payload is used in comand to unload level by LevelName.
*/
interface FHideLevelPayload extends FPayloadBase {
/**
@description
LevelName to unload.
*/
levelName: FString;
}
/**
@description
Payload to use in FSetMaterialCommand.
*/
interface FSetMaterialPayload extends FMaterialPayload {
/**
@description
ObjectName to set material.
@optional
*/
objectName?: FString;
/**
@description
ProductName to set material.
@optional
*/
productName?: FString;
/**
@description
Mesh PAK.
@optional
*/
meshPak?: FMeshPakJson;
}
/**
@description
Payload to use in FPlayAnimationCommand.
*/
interface FPlayAnimationPayload extends FPayloadBase {
/**
@description
Animations PAK file.
*/
animationsPak: FAnimationPakJson;
}
/**
@description
Payload to load and spawn button.
*/
interface FButtonPayload extends FPayloadBase {
/**
@description
Callback message OnPressedButton event.
*/
callbackMessage: FString;
/**
@description
Is button facing to camera.
Default value: true
@optional
*/
facingCamera?: bool;
/**
@description
Does button align scale to camera.
Default value: true
@optional
*/
scaleCamera?: bool;
/**
@description
Default Scale.
Default value: 1.0 (float)
@optional
*/
defaultScale?: float;
/**
@description
Scale multiplier for aligning to camera.
Default value: 1.0 (float)
@optional
*/
scaleMultiplier?: float;
/**
@description
Clamp button's scale.
Default value: {0.1f, 10.0f}
@optional
*/
scaleClamp?: FVector2DJson;
/**
@description
PeriodTime to callback, if = 0 then no callback. Button's viewport position will be sended in 0-1 range.
Default value: 0
@optional
*/
timeResponseCallBack?: float;
/**
@description
Object name used by frontend.
@optional
*/
objectName?: FString;
/**
@description
Material slots.
@optional
*/
materialSlots?: TArray<FString>;
/**
@description
Vector parameters of button materials.
@optional
*/
materialVectorParams?: TArray<FString>;
/**
@description
Button's transform in the world.
@optional
*/
transform?: FTransformJson;
/**
@description
Attachment settings.
@optional
*/
attachment?: FAttachment;
/**
@description
Actor Button Default pak.
*/
actorDefaultPak: FMeshPakJson;
/**
@description
Material Button Default pak.
*/
materialDefaultPak: FMaterialPakJson;
/**
@description
Actor Button Hovered pak.
*/
actorHoveredPak: FMeshPakJson;
/**
@description
Material Button Hovered pak.
*/
materialHoveredPak: FMaterialPakJson;
/**
@description
Actor Button Pressed pak.
*/
actorPressedPak: FMeshPakJson;
/**
@description
Material Button Pressed pak.
*/
materialPressedPak: FMaterialPakJson;
}
/**
@description
Request Unwrap Image Payload.
*/
interface FRequestUnwrapImagePayload extends FPayloadBase {
/**
@description
MeshName.
@optional
*/
meshName?: FString;
/**
@description
Send image by Web RTC.
Default value: false
@optional
*/
sendByWebRTC?: bool;
/**
@description
Image base64.
@optional
*/
image?: FString;
/**
@description
Unwrap size.
*/
unwrapSize: FVector2DJson;
/**
@description
Unwrap size.
Default value: false
@optional
*/
defaultMaterial?: bool;
/**
@description
Unwrap size.
@optional
*/
scalars?: TArray<FScalarJson>;
/**
@description
Unwrap size.
*/
size: FVector2DJson;
}
/**
@description
Add measures to array of objects.
*/
interface FMeasurePayload extends FPayloadBase {
/**
@description
Array of object to measure.
@optional
*/
objectNames?: TArray<FString>;
/**
@description
Destroy all previous measures.
Default value: true
@optional
*/
destroyAllMeasures?: bool;
/**
@description
Color of texts.
Default value: { 0, 0, 0, 1 }
@optional
*/
colorText?: FLinearColorJson;
/**
@description
Color of splines.
Default value: { 0, 0, 0, 1 }
@optional
*/
colorSpline?: FLinearColorJson;
/**
@description
Color of text's background.
Default value: { 0.5, 0.5, 0.5, 1 }
@optional
*/
colorBackground?: FLinearColorJson;
/**
@description
Background visibility.
Default value: false
@optional
*/
backgroundVisibility?: bool;
/**
@description
Color of text's outline.
Default value: { 1, 1, 1, 1 }
@optional
*/
colorFontOutline?: FLinearColorJson;
/**
@description
Outline size of text.
Default value: 1
@optional
*/
fontOutlineSize?: int32;
/**
@description
Widget offset from spline to player camera.
Default value: 10
@optional
*/
widgetOffset?: float;
/**
@description
Widget scale.
Default value: 0.2
@optional
*/
widgetScale?: float;
/**
@description
Widget rendering size.
Default value: {128, 64}
@optional
*/
widgetSize?: FVector2DJson;
/**
@description
Widget measure text X to override.
@optional
*/
measureTextX?: FString;
/**
@description
Widget measure text Y to override.
@optional
*/
measureTextY?: FString;
/**
@description
Widget measure text Z to override.
@optional
*/
measureTextZ?: FString;
/**
@description
Get info of bound from product (true) or get info of bound from 3d model (false).
Default value: true
@optional
*/
getBoundInfoFromProduct?: bool;
/**
@description
Dimension.
Default value: {}
@optional
*/
dimensionType?: EDimensionType;
/**
@description
Returns a string representing this number using fixed-point notation with the specified number of decimal places.
Default value: 0
@optional
*/
fixedPointNumber?: int32;
/**
@description
Position of Z Axis of measure.
Default value: EMeasureAxisZPosition::left
@optional
*/
measureAxisZPosition?: EMeasureAxisZPosition;
/**
@description
Align XY Axis to bottom side of bounds.
Default value: true
@optional
*/
alignAxisXYToBottom?: bool;
/**
@description
Align XY Axis to 0 of Z axis with splineOffsetZ. If false then align to bottom Z-value of bound.
Default value: true
@optional
*/
alignAxisXYToZeroZ?: bool;
/**
@description
Spline offset from bounds.
Default value: 10
@optional
*/
splineOffset?: float;
/**
@description
Spline offset along Z axis.
Default value: 0
@optional
*/
splineOffsetZ?: float;
/**
@description
Spline scale.
Default value: 0.2
@optional
*/
splineScale?: float;
/**
@description
Name of MeasureObject for front callback.
@optional
*/
measureObjectName?: FString;
}
/**
*/
interface FMeasurementPayload extends FPayloadBase {
/**
@description
Name of MeasurementObject.
@optional
*/
measurementObjectName?: FString;
/**
@description
Array of object to measure.
@optional
*/
objectNames?: TArray<FString>;
/**
@description
Destroy all previous measures.
Default value: true
@optional
*/
destroyAllMeasures?: bool;
/**
@description
Get info of bound from product (true) or get info of bound from 3d model (false).
Default value: true
@optional
*/
getBoundInfoFromProduct?: bool;
/**
@description
Enabled axis.
@optional
*/
enabledAxis?: FEnabledAxis;
/**
@description
Measurement spline settings.
@optional
*/
spline?: FMeasurementSpline;
/**
@description
Measurement widget settings.
@optional
*/
labelBox?: FMeasurementLabelBox;
}
/**
@description
Gizmo type
*/
interface FGizmoType {
/**
@description
Gizmo type
Default value: EGizmoType::translation
*/
type: EGizmoType;
/**
@description
Sub gizmo type
Default value: 0
*/
subGizmoType: int32;
}
/**
@description
Get Assets In Pak payload.
*/
interface FGetAssetsInPakPayload extends FPayloadBase {
/**
@description
Pak file.
*/
pak: FPakJson;
}
/**
@description
Gizmo type.
*/
interface FGizmoTypePayload extends FPayloadBase {
/**
@description
Gizmo type.
Default value: EGizmoType::translation
*/
gizmoType: EGizmoType;
/**
@description
Sub gizmo type.
Default value: 0
@optional
*/
subGizmoType?: int32;
}
/**
@description
Selection settings of post process material. All colors are emissive.
*/
interface FSelectionSettingsPayload extends FPayloadBase {
/**
@description
Thickness of primary outline. It is also background of minor outline. Minor lays down on major.
Default value: 2.0 (float)
@optional
*/
primaryOutlineThickness?: float;
/**
@description
Thickness of secondary outline. Minor lays down on major. If 0 then secondary outline is not visible. If secondary 1 and primary 2 then outline is dual.
Default value: 0.0 (float)
@optional
*/
secondaryOutlineThickness?: float;
/**
@description
Primary selection outline color. Alpha is transparency.
Default value: { 0, 1, 0, 1 }
@optional
*/
primarySelectOutlineColor?: FLinearColorJson;
/**
@description
Minor selection outline color. Alpha is transparency.
Default value: { 0, 0, 0, 0 }
@optional
*/
secondarySelectOutlineColor?: FLinearColorJson;
/**
@description
Transparency of hidden surface part of product, if it is selected.
Default value: 0.0 (float)
Meta: ClampMin: 0.0; ClampMax: 1.0
@optional
*/
hiddenSurfaceSelectTransparency?: float;
/**
@description
Selection color for overlay product. Alpha is transparency.
Default value: { 0.5, 0.5, 0.5, 0 }
@optional
*/
selectSurfaceColor?: FLinearColorJson;
/**
@description
Primary hovering outline color. Alpha is transparency.
Default value: { 1, 1, 1, 0 }
@optional
*/
primaryHoverOutlineColor?: FLinearColorJson;
/**
@description
Secondary hovering outline color. Alpha is transparency.
Default value: { 0, 0, 0, 0 }
@optional
*/
secondaryHoverOutlineColor?: FLinearColorJson;
/**
@description
Transparency of hidden surface part of product, if it is hovered.
Default value: 0.0 (float)
Meta: ClampMin: 0.0; ClampMax: 1.0
@optional
*/
hiddenSurfaceHoverTransparency?: float;
/**
@description
Hovering color for overlay product. Alpha is transparency.
Default value: { 0.25, 0.25, 0.25, 0 }
@optional
*/
hoverSurfaceColor?: FLinearColorJson;
}
/**
@deprecated
Use {@link FitToObjectsCommand}
All deprecated properties marked as optional. Use with care!
@description
Fit to object.
*/
interface FFitPayload extends FPayloadBase {
/**
@description
Product objectName fit to.
@optional
*/
objectName?: FString;
/**
@description
Distance multiplier.
Default value: 6
@optional
*/
multiplier?: float;
}
/**
@description
FitToObjects payload
*/
interface FFitToObjectsPayload extends FPayloadBase {
/**
@description
Fit to bounds of array of Product's objectNames.
@optional
*/
objectNames?: TArray<FString>;
/**
@description
Distance multiplier.
Default value: 6
@optional
*/
multiplier?: float;
/**
@description
Use animated transition.
TODO: Work incorrect. FitMethod::Top
Default value: false
@optional
*/
transition?: bool;
/**
@description
SpeedRate of transition.
Default value: 1.0 (float)
@optional
*/
transitionSpeedRate?: float;
/**
@description
Fit method describes from what view camera would fit.
Default value: EFitMethod::none
@optional
*/
fitMethod?: EFitMethod;
/**
@description
Location to detect direction from what Camera will fit .
@optional
*/
location?: FVectorJson;
/**
@description
Rotation aka direction to fit.
@optional
*/
rotation?: FRotatorJson;
}
/**
@description
FitToObjectsByBoundBase payload
*/
interface FFitToObjectsBasePayload extends FPayloadBase {
/**
@description
Fit to bounds of array of Product's objectNames.
@optional
*/
objectNames?: TArray<FString>;
/**
@description
Transition.
@optional
*/
transition?: FTransition;
/**
@description
Fit method describes from what view camera would fit.
Default value: EFitMethod::none
@optional
*/
fitMethod?: EFitMethod;
/**
@description
Location to detect direction from what Camera will fit .
@optional
*/
location?: FVectorJson;
/**
@description
Rotation aka direction to fit.
@optional
*/
rotation?: FRotatorJson;
}
/**
@description
FitToObjectsByBoundSphere payload
*/
interface FFitToObjectsByBSpherePayload extends FFitToObjectsBasePayload {
/**
@description
Padding unit type.
Default value: EPaddingUnit::cm
@optional
*/
paddingUnit?: EPaddingUnit;
/**
@description
Padding as additional length of radius.
Default value: 0.0 (float)
@optional
*/
paddingValue?: float;
}
/**
@description
F