|
|
|
|
|
|
/// </summary>
|
|
|
|
public abstract void Deserialize(); |
|
|
|
|
|
|
|
|
|
|
|
if (deserializeOnStart) |
|
|
|
Deserialize(); |
|
|
|
StopCoroutine(UpdateLoop()); |
|
|
|
void Start() |
|
|
|
IEnumerator Start() |
|
|
|
if (deserializeOnStart) |
|
|
|
Deserialize(); |
|
|
|
|
|
|
|
// TODO: remove this yield when the perception camera no longer skips the first frame of the simulation
|
|
|
|
yield return null; |
|
|
|
|
|
|
|
// TODO: remove this yield when the perception camera no longer skips the first frame of the simulation
|
|
|
|
yield return null; |
|
|
|
|
|
|
|
while (!isScenarioComplete) |
|
|
|
{ |
|
|
|
DatasetCapture.StartNewSequence(); |
|
|
|
|
|
|
currentIterationFrame++; |
|
|
|
framesSinceInitialization++; |
|
|
|
} |
|
|
|
OnIterationTeardown(); |
|
|
|
OnIterationTeardown(); |
|
|
|
|
|
|
|
// Disable perception cameras
|
|
|
|
foreach (var perceptionCamera in FindObjectsOfType<PerceptionCamera>()) |
|
|
|
perceptionCamera.enabled = false; |
|
|
|
|
|
|
|
DatasetCapture.ResetSimulation(); |
|
|
|
if (quitOnComplete) |
|
|
|
#if UNITY_EDITOR
|
|
|
|
UnityEditor.EditorApplication.isPlaying = false; |
|
|
|