AMjReplayManager¶
| Attribute | Value |
|---|---|
| Kind | Class |
| UE Macro | UCLASS |
| Inherits | AActor |
Properties¶
Public Properties¶
| Property | Type | Description |
|---|---|---|
MaxRecordDuration |
float |
Maximum duration of recording in seconds. |
bIsRecording |
bool |
|
bIsReplaying |
bool |
|
bAutoRecord |
bool |
If true, starts recording automatically on BeginPlay. |
PlaybackTime |
float |
Current playback time (0 to Duration). Updated on physics thread, read on game thread. |
bInterpolateFrames |
bool |
Enable linear interpolation between replay frames for smoother playback. |
ActiveSessionName |
FString |
|
ArticulationBindings |
TArray<FReplayArticulationBinding> | Per-articulation replay bindings. |
MaxRecordDuration¶
Maximum duration of recording in seconds.
- Type: float
- Editor: ✏️ EditAnywhere
- Blueprint: 🔵 ReadWrite
- Category: URLab|Replay
bIsRecording¶
- Type: bool
- Editor: 👁 VisibleAnywhere
- Blueprint: 🟢 ReadOnly
- Category: URLab|Replay
bIsReplaying¶
- Type: bool
- Editor: 👁 VisibleAnywhere
- Blueprint: 🟢 ReadOnly
- Category: URLab|Replay
bAutoRecord¶
If true, starts recording automatically on BeginPlay.
- Type: bool
- Editor: ✏️ EditAnywhere
- Blueprint: 🔵 ReadWrite
- Category: URLab|Replay
PlaybackTime¶
Current playback time (0 to Duration). Updated on physics thread, read on game thread.
- Type: float
- Editor: 👁 VisibleAnywhere
- Blueprint: 🟢 ReadOnly
- Category: URLab|Replay
bInterpolateFrames¶
Enable linear interpolation between replay frames for smoother playback.
- Type: bool
- Editor: ✏️ EditAnywhere
- Blueprint: 🔵 ReadWrite
- Category: URLab|Replay
ActiveSessionName¶
- Type: FString
- Editor: 👁 VisibleAnywhere
- Blueprint: 🟢 ReadOnly
- Category: URLab|Replay
Private Properties¶
| Property | Type | Description |
|---|---|---|
bFirstReplayFrame |
bool |
Tracks whether the current replay has emitted its first frame. Reset on StartReplay(). |
LastReplayLogTime |
double |
Throttles periodic replay logging to once per second. |
bFirstReplayFrame¶
Tracks whether the current replay has emitted its first frame. Reset on StartReplay().
- Type: bool
Functions¶
Public Functions¶
General¶
| Function | Returns | Description |
|---|---|---|
RebuildArticulationBindings() |
void | Rebuild articulation bindings by matching scene articulations against active session. |
GetArticulationBindings() |
TArray<FReplayArticulationBinding>& | Get the articulation bindings for UI display. |
RebuildArticulationBindings¶
Rebuild articulation bindings by matching scene articulations against active session.
- Signature:
RebuildArticulationBindings()
GetArticulationBindings¶
Get the articulation bindings for UI display.
- Signature:
GetArticulationBindings() - Returns: TArray<FReplayArticulationBinding>&
URLab|Replay¶
| Function | Returns | Description |
|---|---|---|
LoadFromCSV() |
bool |
Load joint trajectory from a CSV file. Header row must contain joint names matching MuJoCo model. |
BrowseAndLoadCSV() |
bool |
Opens a file dialog to browse for a CSV file, then loads it. |
BrowseAndSaveRecording() |
bool |
Opens a save dialog and saves the active session to a JSON file. |
GetSessionNames() |
TArray<FString> |
Get names of all loaded replay sessions. |
SetActiveSession() |
void | Set the active session for playback. |
GetActiveSessionName() |
FString |
Get the currently active session name. |
GetSessionCount() |
int32 |
Get the number of loaded sessions. |
LoadFromCSV¶
Load joint trajectory from a CSV file. Header row must contain joint names matching MuJoCo model.
- Signature:
LoadFromCSV(FStringFilePath,floatTimestep) - Blueprint: 🔵 Callable 🔧 CallInEditor
- Returns: bool
BrowseAndLoadCSV¶
Opens a file dialog to browse for a CSV file, then loads it.
- Signature:
BrowseAndLoadCSV(floatTimestep) - Blueprint: 🔵 Callable 🔧 CallInEditor
- Returns: bool
BrowseAndSaveRecording¶
Opens a save dialog and saves the active session to a JSON file.
- Signature:
BrowseAndSaveRecording() - Blueprint: 🔵 Callable 🔧 CallInEditor
- Returns: bool
GetSessionNames¶
Get names of all loaded replay sessions.
- Signature:
GetSessionNames() - Blueprint: 🔵 Callable
- Returns: TArray
SetActiveSession¶
Set the active session for playback.
- Signature:
SetActiveSession(const FString&Name) - Blueprint: 🔵 Callable
GetActiveSessionName¶
Get the currently active session name.
- Signature:
GetActiveSessionName() - Blueprint: 🔵 Callable
- Returns: FString
GetSessionCount¶
Get the number of loaded sessions.
- Signature:
GetSessionCount() - Blueprint: 🔵 Callable
- Returns: int32