FT - EpisodeSubSystem

+ Integrate DataTransfer plugin into project
+ Raw architecture of EpisodeSubSystem
This commit is contained in:
Jb win
2025-05-02 23:23:25 +07:00
parent 5e47dd5c55
commit 440d079225
6 changed files with 119 additions and 7 deletions

View File

@ -0,0 +1,51 @@
#include "Episode/EpisodeSubSystem.h"
UEpisodeSubSystem::UEpisodeSubSystem()
{
}
void UEpisodeSubSystem::Initialize(FSubsystemCollectionBase& Collection)
{
Super::Initialize(Collection);
}
void UEpisodeSubSystem::Deinitialize()
{
Super::Deinitialize();
}
void UEpisodeSubSystem::Tick(float DeltaTime)
{
// if capture has started
if (!bIsCapturing) return;
// Flow that we need to figure out
// ProceduralSceneController - is object spawned? -> If not spawn it
// if object spawned && !robot.hasTarget -> Robot -> SetTarget
// if object.IsSpawned && robot.hasTarget -> Capture and send data
// ProceduralSceneController -> is object collected?
// How to reset the episode?
}
void UEpisodeSubSystem::StartNewEpisode()
{
// Noah
// Configure the DataTransfer -> Use CurrentRobot->Cameras
// Start the Capture
// Make specs for JB to add API on the robot data
// JB
// Find the current Robot in Scene
// Store as CurrentRobot
// Order the robot to go fetch an object
// Both of us once we finished our own tasks and synced
// - Spawn the shape at random locations -> might need another controller like ProceduralSceneSubSystem?
// - Add the timestamp debug component on the scene to check if the rendered frame and the data are in sync
// TODO Which Tick is responsible of the scene capture?
bIsCapturing = true;
}