浏览代码

Fix pose positions (#220)

* Partial fix for keypoint issues

* Adding human pose assets to perceptionHDRP

* Moving test assets out of resources folder. Removing baked lighting from scenes.

* Updating changelog

* Fixing test on large screens. Reverting unnecessary PerceptionURP change

* Adding human pose labeling sample to PerceptionURP

* Update HDRP PoseSample.unity

* Fixing merge issues

* Adding rendertexture to test to address issue at other resolutions
/main
GitHub 4 年前
当前提交
f16c0d9a
共有 85 个文件被更改,包括 28536 次插入68 次删除
  1. 1
      .gitignore
  2. 2
      TestProjects/PerceptionHDRP/Assets/IdLabelConfig.asset
  3. 64
      TestProjects/PerceptionHDRP/Assets/Scenes/SampleScene.unity
  4. 64
      TestProjects/PerceptionHDRP/Assets/Scenes/SampleSceneLensDistortion.unity
  5. 4
      TestProjects/PerceptionHDRP/Packages/manifest.json
  6. 20
      TestProjects/PerceptionHDRP/Packages/packages-lock.json
  7. 3
      TestProjects/PerceptionHDRP/ProjectSettings/ProjectSettings.asset
  8. 4
      TestProjects/PerceptionHDRP/ProjectSettings/ProjectVersion.txt
  9. 2
      TestProjects/PerceptionURP/Assets/IdLabelConfig.asset
  10. 18
      TestProjects/PerceptionURP/Packages/packages-lock.json
  11. 1
      TestProjects/PerceptionURP/ProjectSettings/ProjectSettings.asset
  12. 4
      TestProjects/PerceptionURP/ProjectSettings/ProjectVersion.txt
  13. 2
      TestProjects/PerceptionURP/ProjectSettings/QualitySettings.asset
  14. 2
      com.unity.perception/CHANGELOG.md
  15. 5
      com.unity.perception/Runtime/GroundTruth/Labelers/CameraLabeler.cs
  16. 2
      com.unity.perception/Runtime/GroundTruth/Labelers/KeypointLabeler.cs
  17. 46
      com.unity.perception/Runtime/GroundTruth/PerceptionCamera.cs
  18. 25
      com.unity.perception/Tests/Editor/PerceptionCameraEditorTests.cs
  19. 9
      com.unity.perception/Tests/Runtime/GroundTruthTests/GroundTruthTestBase.cs
  20. 136
      com.unity.perception/Tests/Runtime/GroundTruthTests/KeypointGroundTruthTests.cs
  21. 8
      TestProjects/PerceptionHDRP/Assets/Human Pose Labeling and Randomization.meta
  22. 712
      TestProjects/PerceptionHDRP/Assets/Scenes/PoseSample.unity
  23. 7
      TestProjects/PerceptionHDRP/Assets/Scenes/PoseSample.unity.meta
  24. 8
      TestProjects/PerceptionHDRP/Assets/Scenes/SampleScene.meta
  25. 8
      TestProjects/PerceptionURP/Assets/Human Pose Labeling and Randomization.meta
  26. 635
      TestProjects/PerceptionURP/Assets/Scenes/PoseSample.unity
  27. 7
      TestProjects/PerceptionURP/Assets/Scenes/PoseSample.unity.meta
  28. 8
      com.unity.perception/Tests/Runtime/TestAssets.meta
  29. 4
      TestProjects/PerceptionHDRP/Assets/Human Pose Labeling and Randomization/.sample.json
  30. 8
      TestProjects/PerceptionHDRP/Assets/Human Pose Labeling and Randomization/Models and Animations.meta
  31. 1001
      TestProjects/PerceptionHDRP/Assets/Human Pose Labeling and Randomization/Models and Animations/Idle.fbx
  32. 938
      TestProjects/PerceptionHDRP/Assets/Human Pose Labeling and Randomization/Models and Animations/Idle.fbx.meta
  33. 134
      TestProjects/PerceptionHDRP/Assets/Human Pose Labeling and Randomization/Models and Animations/LabeledAndRandomized.prefab
  34. 7
      TestProjects/PerceptionHDRP/Assets/Human Pose Labeling and Randomization/Models and Animations/LabeledAndRandomized.prefab.meta
  35. 53
      TestProjects/PerceptionHDRP/Assets/Human Pose Labeling and Randomization/Models and Animations/New Animation.anim
  36. 8
      TestProjects/PerceptionHDRP/Assets/Human Pose Labeling and Randomization/Models and Animations/New Animation.anim.meta
  37. 73
      TestProjects/PerceptionHDRP/Assets/Human Pose Labeling and Randomization/Models and Animations/New Animator Controller.controller
  38. 8
      TestProjects/PerceptionHDRP/Assets/Human Pose Labeling and Randomization/Models and Animations/New Animator Controller.controller.meta
  39. 1001
      TestProjects/PerceptionHDRP/Assets/Human Pose Labeling and Randomization/Models and Animations/Player.fbx
  40. 97
      TestProjects/PerceptionHDRP/Assets/Human Pose Labeling and Randomization/Models and Animations/Player.fbx.meta
  41. 1001
      TestProjects/PerceptionHDRP/Assets/Human Pose Labeling and Randomization/Models and Animations/PutGlassesOn.fbx
  42. 938
      TestProjects/PerceptionHDRP/Assets/Human Pose Labeling and Randomization/Models and Animations/PutGlassesOn.fbx.meta
  43. 1001
      TestProjects/PerceptionHDRP/Assets/Human Pose Labeling and Randomization/Models and Animations/Run.fbx
  44. 946
      TestProjects/PerceptionHDRP/Assets/Human Pose Labeling and Randomization/Models and Animations/Run.fbx.meta
  45. 1001
      TestProjects/PerceptionHDRP/Assets/Human Pose Labeling and Randomization/Models and Animations/TakeObjectAttempt.fbx
  46. 923
      TestProjects/PerceptionHDRP/Assets/Human Pose Labeling and Randomization/Models and Animations/TakeObjectAttempt.fbx.meta
  47. 1001
      TestProjects/PerceptionHDRP/Assets/Human Pose Labeling and Randomization/Models and Animations/TakeObjects.fbx
  48. 938
      TestProjects/PerceptionHDRP/Assets/Human Pose Labeling and Randomization/Models and Animations/TakeObjects.fbx.meta
  49. 1001
      TestProjects/PerceptionHDRP/Assets/Human Pose Labeling and Randomization/Models and Animations/Walk.fbx
  50. 946
      TestProjects/PerceptionHDRP/Assets/Human Pose Labeling and Randomization/Models and Animations/Walk.fbx.meta
  51. 4
      TestProjects/PerceptionURP/Assets/Human Pose Labeling and Randomization/.sample.json
  52. 8
      TestProjects/PerceptionURP/Assets/Human Pose Labeling and Randomization/Models and Animations.meta
  53. 1001
      TestProjects/PerceptionURP/Assets/Human Pose Labeling and Randomization/Models and Animations/Idle.fbx
  54. 938
      TestProjects/PerceptionURP/Assets/Human Pose Labeling and Randomization/Models and Animations/Idle.fbx.meta
  55. 134
      TestProjects/PerceptionURP/Assets/Human Pose Labeling and Randomization/Models and Animations/LabeledAndRandomized.prefab
  56. 7
      TestProjects/PerceptionURP/Assets/Human Pose Labeling and Randomization/Models and Animations/LabeledAndRandomized.prefab.meta
  57. 53
      TestProjects/PerceptionURP/Assets/Human Pose Labeling and Randomization/Models and Animations/New Animation.anim
  58. 8
      TestProjects/PerceptionURP/Assets/Human Pose Labeling and Randomization/Models and Animations/New Animation.anim.meta
  59. 73
      TestProjects/PerceptionURP/Assets/Human Pose Labeling and Randomization/Models and Animations/New Animator Controller.controller
  60. 8
      TestProjects/PerceptionURP/Assets/Human Pose Labeling and Randomization/Models and Animations/New Animator Controller.controller.meta
  61. 1001
      TestProjects/PerceptionURP/Assets/Human Pose Labeling and Randomization/Models and Animations/Player.fbx
  62. 97
      TestProjects/PerceptionURP/Assets/Human Pose Labeling and Randomization/Models and Animations/Player.fbx.meta
  63. 1001
      TestProjects/PerceptionURP/Assets/Human Pose Labeling and Randomization/Models and Animations/PutGlassesOn.fbx
  64. 938
      TestProjects/PerceptionURP/Assets/Human Pose Labeling and Randomization/Models and Animations/PutGlassesOn.fbx.meta
  65. 1001
      TestProjects/PerceptionURP/Assets/Human Pose Labeling and Randomization/Models and Animations/Run.fbx
  66. 946
      TestProjects/PerceptionURP/Assets/Human Pose Labeling and Randomization/Models and Animations/Run.fbx.meta
  67. 1001
      TestProjects/PerceptionURP/Assets/Human Pose Labeling and Randomization/Models and Animations/TakeObjectAttempt.fbx
  68. 923
      TestProjects/PerceptionURP/Assets/Human Pose Labeling and Randomization/Models and Animations/TakeObjectAttempt.fbx.meta
  69. 1001
      TestProjects/PerceptionURP/Assets/Human Pose Labeling and Randomization/Models and Animations/TakeObjects.fbx
  70. 938
      TestProjects/PerceptionURP/Assets/Human Pose Labeling and Randomization/Models and Animations/TakeObjects.fbx.meta
  71. 1001
      TestProjects/PerceptionURP/Assets/Human Pose Labeling and Randomization/Models and Animations/Walk.fbx
  72. 946
      TestProjects/PerceptionURP/Assets/Human Pose Labeling and Randomization/Models and Animations/Walk.fbx.meta
  73. 115
      com.unity.perception/Tests/Runtime/TestAssets/AnimatedCube.prefab
  74. 7
      com.unity.perception/Tests/Runtime/TestAssets/AnimatedCube.prefab.meta
  75. 239
      com.unity.perception/Tests/Runtime/TestAssets/AnimatedCubeScene.unity
  76. 7
      com.unity.perception/Tests/Runtime/TestAssets/AnimatedCubeScene.unity.meta
  77. 285
      com.unity.perception/Tests/Runtime/TestAssets/Cube Animation.anim
  78. 8
      com.unity.perception/Tests/Runtime/TestAssets/Cube Animation.anim.meta
  79. 72
      com.unity.perception/Tests/Runtime/TestAssets/Cube.controller
  80. 8
      com.unity.perception/Tests/Runtime/TestAssets/Cube.controller.meta

1
.gitignore


**/Build/**
**/Builds/**
/utr
*.user

2
TestProjects/PerceptionHDRP/Assets/IdLabelConfig.asset


id: 3
- label: Terrain
id: 4
- label: Character
id: 5
autoAssignIds: 1
startingLabelId: 1

64
TestProjects/PerceptionHDRP/Assets/Scenes/SampleScene.unity


m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableBakedLightmaps: 0
m_EnableRealtimeLightmaps: 1
m_LightmapEditorSettings:
serializedVersion: 12

debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &117484506
GameObject:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 117484508}
- component: {fileID: 117484507}
m_Layer: 0
m_Name: StaticLightingSky
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &117484507
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 117484506}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 441482e8936e35048a1dffac814e3ef8, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Profile: {fileID: 0}
m_StaticLightingSkyUniqueID: 0
m_SkySettings: {fileID: 0}
m_SkySettingsFromProfile: {fileID: 0}
--- !u!4 &117484508
Transform:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 117484506}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &411238276
GameObject:
m_ObjectHideFlags: 0

m_EditorClassIdentifier:
labels:
- Crate
useAutoLabeling: 0
autoLabelingSchemeType:
--- !u!65 &411238278
BoxCollider:
m_ObjectHideFlags: 0

m_EditorClassIdentifier:
labels:
- Cube
useAutoLabeling: 0
autoLabelingSchemeType:
--- !u!65 &934158984
BoxCollider:
m_ObjectHideFlags: 0

m_Name:
m_EditorClassIdentifier:
description: The main camera
period: 0.0166
startTime: 0
firstCaptureFrame: 0
captureTriggerMode: 0
manualSensorAffectSimulationTiming: 0
simulationDeltaTime: 0.0166
framesBetweenCaptures: 0
m_Labelers:
- id: 0
- id: 1

m_EditorClassIdentifier:
labels:
- Terrain
useAutoLabeling: 0
autoLabelingSchemeType:
--- !u!1 &1640252278
GameObject:
m_ObjectHideFlags: 0

m_EditorClassIdentifier:
labels:
- Box
useAutoLabeling: 0
autoLabelingSchemeType:
--- !u!65 &1640252280
BoxCollider:
m_ObjectHideFlags: 0

64
TestProjects/PerceptionHDRP/Assets/Scenes/SampleSceneLensDistortion.unity


m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableBakedLightmaps: 0
m_EnableRealtimeLightmaps: 1
m_LightmapEditorSettings:
serializedVersion: 12

m_EditorClassIdentifier:
labels:
- Crate
useAutoLabeling: 0
autoLabelingSchemeType:
--- !u!65 &411238278
BoxCollider:
m_ObjectHideFlags: 0

m_EditorClassIdentifier:
labels:
- Cube
useAutoLabeling: 0
autoLabelingSchemeType:
--- !u!65 &464025706
BoxCollider:
m_ObjectHideFlags: 0

showAdditionalSettings: 0
m_AreaLightEmissiveMeshShadowCastingMode: 0
m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0
--- !u!1 &746670481
GameObject:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 746670483}
- component: {fileID: 746670482}
m_Layer: 0
m_Name: StaticLightingSky
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &746670482
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 746670481}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 441482e8936e35048a1dffac814e3ef8, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Profile: {fileID: 0}
m_StaticLightingSkyUniqueID: 0
m_SkySettings: {fileID: 0}
m_SkySettingsFromProfile: {fileID: 0}
--- !u!4 &746670483
Transform:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 746670481}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &963194225
GameObject:
m_ObjectHideFlags: 0

m_Name:
m_EditorClassIdentifier:
description: The main camera
period: 0.0166
startTime: 0
firstCaptureFrame: 0
captureTriggerMode: 0
manualSensorAffectSimulationTiming: 0
simulationDeltaTime: 0.0166
framesBetweenCaptures: 0
m_Labelers:
- id: 0
- id: 1

priority: 0
blendDistance: 0
weight: 1
sharedProfile: {fileID: 11400000, guid: 6886180e6c51dac4f9ea4d9bcdaa6e13, type: 2}
sharedProfile: {fileID: 0}
--- !u!4 &1562495300
Transform:
m_ObjectHideFlags: 0

m_EditorClassIdentifier:
labels:
- Box
useAutoLabeling: 0
autoLabelingSchemeType:
--- !u!65 &1640252280
BoxCollider:
m_ObjectHideFlags: 0

4
TestProjects/PerceptionHDRP/Packages/manifest.json


{
"dependencies": {
"com.unity.collab-proxy": "1.2.16",
"com.unity.ext.nunit": "1.0.5",
"com.unity.ext.nunit": "1.0.6",
"com.unity.ide.rider": "1.1.4",
"com.unity.ide.vscode": "1.2.3",
"com.unity.package-validation-suite": "0.9.1-preview",

"com.unity.simulation.capture": "0.0.10-preview.16",
"com.unity.simulation.core": "0.0.10-preview.21",
"com.unity.test-framework": "1.1.19",
"com.unity.test-framework": "1.1.20",
"com.unity.testtools.codecoverage": "0.2.2-preview",
"com.unity.textmeshpro": "2.0.1",
"com.unity.ugui": "1.0.0",

20
TestProjects/PerceptionHDRP/Packages/packages-lock.json


"url": "https://packages.unity.com"
},
"com.unity.ext.nunit": {
"version": "1.0.5",
"version": "1.0.6",
"depth": 0,
"source": "registry",
"dependencies": {},

"com.unity.burst": "1.3.9",
"com.unity.entities": "0.8.0-preview.8",
"com.unity.simulation.client": "0.0.10-preview.10",
"com.unity.simulation.capture": "0.0.10-preview.16",
"com.unity.simulation.core": "0.0.10-preview.21"
"com.unity.simulation.capture": "0.0.10-preview.19",
"com.unity.simulation.core": "0.0.10-preview.22"
}
},
"com.unity.platforms": {

"url": "https://packages.unity.com"
},
"com.unity.simulation.capture": {
"version": "0.0.10-preview.16",
"depth": 0,
"version": "0.0.10-preview.19",
"depth": 1,
"com.unity.simulation.core": "0.0.10-preview.21"
"com.unity.simulation.core": "0.0.10-preview.22"
},
"url": "https://packages.unity.com"
},

"url": "https://packages.unity.com"
},
"com.unity.simulation.core": {
"version": "0.0.10-preview.21",
"depth": 0,
"version": "0.0.10-preview.22",
"depth": 1,
"version": "1.1.19",
"version": "1.1.20",
"com.unity.ext.nunit": "1.0.5",
"com.unity.ext.nunit": "1.0.6",
"com.unity.modules.imgui": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0"
},

3
TestProjects/PerceptionHDRP/ProjectSettings/ProjectSettings.asset


metalEditorSupport: 1
metalAPIValidation: 1
iOSRenderExtraFrameOnPause: 0
iosCopyPluginsCodeInsteadOfSymlink: 0
appleDeveloperTeamID:
iOSManualSigningProvisioningProfileID:
tvOSManualSigningProvisioningProfileID:

additionalIl2CppArgs:
scriptingRuntimeVersion: 1
gcIncremental: 0
assemblyVersionValidation: 1
gcWBarrierValidation: 0
apiCompatibilityLevelPerPlatform:
Standalone: 6

XboxOneCapability: []
XboxOneGameRating: {}
XboxOneIsContentPackage: 0
XboxOneEnhancedXboxCompatibilityMode: 0
XboxOneEnableGPUVariability: 1
XboxOneSockets: {}
XboxOneSplashScreen: {fileID: 0}

4
TestProjects/PerceptionHDRP/ProjectSettings/ProjectVersion.txt


m_EditorVersion: 2019.4.16f1
m_EditorVersionWithRevision: 2019.4.16f1 (e05b6e02d63e)
m_EditorVersion: 2019.4.19f1
m_EditorVersionWithRevision: 2019.4.19f1 (ca5b14067cec)

2
TestProjects/PerceptionURP/Assets/IdLabelConfig.asset


id: 3
- label: Terrain
id: 4
- label: Character
id: 5
autoAssignIds: 1
startingLabelId: 1

18
TestProjects/PerceptionURP/Packages/packages-lock.json


"url": "https://packages.unity.com"
},
"com.unity.ext.nunit": {
"version": "1.0.5",
"depth": 1,
"version": "1.0.6",
"depth": 2,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"

"com.unity.burst": "1.3.9",
"com.unity.entities": "0.8.0-preview.8",
"com.unity.simulation.client": "0.0.10-preview.10",
"com.unity.simulation.capture": "0.0.10-preview.16",
"com.unity.simulation.core": "0.0.10-preview.21"
"com.unity.simulation.capture": "0.0.10-preview.19",
"com.unity.simulation.core": "0.0.10-preview.22"
}
},
"com.unity.platforms": {

"url": "https://packages.unity.com"
},
"com.unity.simulation.capture": {
"version": "0.0.10-preview.16",
"depth": 0,
"version": "0.0.10-preview.19",
"depth": 1,
"com.unity.simulation.core": "0.0.10-preview.21"
"com.unity.simulation.core": "0.0.10-preview.22"
},
"url": "https://packages.unity.com"
},

"url": "https://packages.unity.com"
},
"com.unity.simulation.core": {
"version": "0.0.10-preview.21",
"depth": 0,
"version": "0.0.10-preview.22",
"depth": 1,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"

1
TestProjects/PerceptionURP/ProjectSettings/ProjectSettings.asset


additionalIl2CppArgs:
scriptingRuntimeVersion: 1
gcIncremental: 0
assemblyVersionValidation: 1
gcWBarrierValidation: 0
apiCompatibilityLevelPerPlatform: {}
m_RenderingPath: 1

4
TestProjects/PerceptionURP/ProjectSettings/ProjectVersion.txt


m_EditorVersion: 2019.4.16f1
m_EditorVersionWithRevision: 2019.4.16f1 (e05b6e02d63e)
m_EditorVersion: 2019.4.19f1
m_EditorVersionWithRevision: 2019.4.19f1 (ca5b14067cec)

2
TestProjects/PerceptionURP/ProjectSettings/QualitySettings.asset


skinWeights: 2
textureQuality: 0
anisotropicTextures: 1
antiAliasing: 0
antiAliasing: 2
softParticles: 0
softVegetation: 1
realtimeReflectionProbes: 1

2
com.unity.perception/CHANGELOG.md


Fixed a bug where uniform probabilities were not properly reset upon adding or removing options from a Categorical Parameter's list of options.
Fixed keypoints being reporeted in wrong locations on the first frame an object is visible.
## [0.7.0-preview.2] - 2021-02-08
### Upgrade Notes

5
com.unity.perception/Runtime/GroundTruth/Labelers/CameraLabeler.cs


/// </summary>
protected virtual void OnBeginRendering() {}
/// <summary>
/// Called just after the camera renders each frame the the labeler is enabled and <see cref="SensorHandle.ShouldCaptureThisFrame"/> is true.
/// </summary>
protected virtual void OnEndRendering() {}
/// <summary>
/// Labeling pass to display labeler's visualization components, if applicable. Important note, all labeler's visualizations need
/// to use Unity's Immediate Mode GUI (IMGUI) <see cref="https://docs.unity3d.com/Manual/GUIScriptingGuide.html"/> system.
/// This called is triggered from <see cref="perceptionCamera.OnGUI"/> call. This call happens immediately before <see cref="OnVisualizeAdditionalUI"/>

}
internal void InternalOnUpdate() => OnUpdate();
internal void InternalOnBeginRendering() => OnBeginRendering();
internal void InternalOnEndRendering() => OnEndRendering();
internal void InternalCleanup() => Cleanup();
internal void InternalVisualize() => OnVisualize();

2
com.unity.perception/Runtime/GroundTruth/Labelers/KeypointLabeler.cs


}
/// <inheritdoc/>
protected override void OnBeginRendering()
protected override void OnEndRendering()
{
m_CurrentFrame = Time.frameCount;

46
com.unity.perception/Runtime/GroundTruth/PerceptionCamera.cs


Dictionary<string, object> m_PersistentSensorData = new Dictionary<string, object>();
int m_LastFrameCaptured = -1;
int m_LastFrameEndRendering = -1;
#pragma warning disable 414
//only used to confirm that GroundTruthRendererFeature is present in URP

void OnEnable()
{
RenderPipelineManager.beginCameraRendering += OnBeginCameraRendering;
RenderPipelineManager.endCameraRendering += OnEndCameraRendering;
RenderPipelineManager.endCameraRendering += CheckForRendererFeature;
}

void OnBeginCameraRendering(ScriptableRenderContext _, Camera cam)
{
if (cam != m_AttachedCamera)
return;
if (!SensorHandle.ShouldCaptureThisFrame)
return;
//there are cases when OnBeginCameraRendering is called multiple times in the same frame. Ignore the subsequent calls.
if (m_LastFrameCaptured == Time.frameCount)
if (!ShouldCallLabelers(cam, m_LastFrameCaptured))
#if UNITY_EDITOR
if (UnityEditor.EditorApplication.isPaused)
return;
#endif
CallOnLabelers(l => l.InternalOnBeginRendering());
}
void OnEndCameraRendering(ScriptableRenderContext _, Camera cam)
{
if (!ShouldCallLabelers(cam, m_LastFrameEndRendering))
return;
m_LastFrameEndRendering = Time.frameCount;
CallOnLabelers(l => l.InternalOnEndRendering());
}
private void CallOnLabelers(Action<CameraLabeler> action)
{
foreach (var labeler in m_Labelers)
{
if (!labeler.enabled)

labeler.Init(this);
labeler.InternalOnBeginRendering();
action(labeler);
private bool ShouldCallLabelers(Camera cam, int lastFrameCalledThisCallback)
{
if (cam != m_AttachedCamera)
return false;
if (!SensorHandle.ShouldCaptureThisFrame)
return false;
//there are cases when OnBeginCameraRendering is called multiple times in the same frame. Ignore the subsequent calls.
if (lastFrameCalledThisCallback == Time.frameCount)
return false;
#if UNITY_EDITOR
if (UnityEditor.EditorApplication.isPaused)
return false;
#endif
return true;
}
RenderPipelineManager.endCameraRendering -= OnEndCameraRendering;
RenderPipelineManager.endCameraRendering -= CheckForRendererFeature;
}

25
com.unity.perception/Tests/Editor/PerceptionCameraEditorTests.cs


yield return new ExitPlayMode();
}
[UnityTest]
public IEnumerator Labeler_ShouldSetupAndUpdateAndOnBeginRenderingInFirstFrame()
public IEnumerator Labeler_ShouldRunCallbacksInFirstFrame()
{
ResetScene();
yield return new EnterPlayMode();

yield return null;
mockLabeler.Protected().Verify("OnEndRendering", Times.Once());
yield return new ExitPlayMode();
}
[UnityTest]
public IEnumerator Labeler_ShouldNotRunCallbacksWhenCameraDisabled()
{
ResetScene();
yield return new EnterPlayMode();
var mockLabeler = new Mock<CameraLabeler>();
var camera = SetupCamera(null);
var perceptionCamera = camera.GetComponent<PerceptionCamera>();
perceptionCamera.AddLabeler(mockLabeler.Object);
yield return null;
perceptionCamera.enabled = false;
yield return null;
mockLabeler.Protected().Verify("Setup", Times.Once());
mockLabeler.Protected().Verify("OnUpdate", Times.Once());
mockLabeler.Protected().Verify("OnBeginRendering", Times.Once());
mockLabeler.Protected().Verify("OnEndRendering", Times.Once());
yield return new ExitPlayMode();
}
[UnityTest]

mockLabeler.Protected().Verify("Setup", Times.Never());
mockLabeler.Protected().Verify("OnUpdate", Times.Never());
mockLabeler.Protected().Verify("OnBeginRendering", Times.Never());
mockLabeler.Protected().Verify("OnEndRendering", Times.Never());
mockLabeler.Protected().Verify("Cleanup", Times.Never());
yield return new ExitPlayMode();
}

mockLabeler.Protected().Verify("Setup", Times.Once());
mockLabeler.Protected().Verify("OnUpdate", Times.Never());
mockLabeler.Protected().Verify("OnBeginRendering", Times.Never());
mockLabeler.Protected().Verify("OnEndRendering", Times.Never());
Assert.IsFalse(labeler.enabled);
yield return new ExitPlayMode();
}

9
com.unity.perception/Tests/Runtime/GroundTruthTests/GroundTruthTestBase.cs


using NUnit.Framework;
using UnityEngine;
using UnityEngine.Perception.GroundTruth;
using UnityEngine.SceneManagement;
using Object = UnityEngine.Object;
namespace GroundTruthTests

List<Object> m_ObjectsToDestroy = new List<Object>();
List<string> m_ScenesToUnload = new List<string>();
[TearDown]
public void TearDown()
{

m_ObjectsToDestroy.Clear();
foreach (var s in m_ScenesToUnload)
SceneManager.UnloadSceneAsync(s);
m_ScenesToUnload.Clear();
DatasetCapture.ResetSimulation();
Time.timeScale = 1;
if (Directory.Exists(DatasetCapture.OutputDirectory))

public void AddTestObjectForCleanup(Object @object) => m_ObjectsToDestroy.Add(@object);
public void AddSceneForCleanup(string sceneName) => m_ScenesToUnload.Add(sceneName);
public void DestroyTestObject(Object @object)
{

136
com.unity.perception/Tests/Runtime/GroundTruthTests/KeypointGroundTruthTests.cs


using NUnit.Framework;
using UnityEngine;
using UnityEngine.Perception.GroundTruth;
using UnityEngine.SceneManagement;
public class KeypointGroundTruthTests : GroundTruthTestBase
public class KeyPointGroundTruthTests : GroundTruthTestBase, IPrebuildSetup, IPostBuildCleanup
private const string kAnimatedCubeScenePath = "Packages/com.unity.perception/Tests/Runtime/TestAssets/AnimatedCubeScene.unity";
public void Setup()
{
#if UNITY_EDITOR
var scenes = UnityEditor.EditorBuildSettings.scenes.ToList();
scenes.Add(new UnityEditor.EditorBuildSettingsScene(kAnimatedCubeScenePath, true));
UnityEditor.EditorBuildSettings.scenes = scenes.ToArray();
#endif
}
public void Cleanup()
{
#if UNITY_EDITOR
var scenes = UnityEditor.EditorBuildSettings.scenes;
scenes = scenes.Where(s => s.path != kAnimatedCubeScenePath).ToArray();
UnityEditor.EditorBuildSettings.scenes = scenes;
#endif
}
static GameObject SetupCamera(IdLabelConfig config, KeypointTemplate template, Action<int, List<KeypointLabeler.KeypointEntry>> computeListener, RenderTexture renderTexture = null)
{
var cameraObject = new GameObject();

AddTestObjectForCleanup(cube);
yield return null;
yield return null;
//force all async readbacks to complete
DestroyTestObject(cam);
texture.Release();
var testCase = incoming.Last();

AddTestObjectForCleanup(cube);
yield return null;
yield return null;
//force all async readbacks to complete
DestroyTestObject(cam);
foreach (var i in incoming)
{

[UnityTest]
public IEnumerator Keypoint_TestPartialOffScreen()
public IEnumerator Keypoint_TestPartialOffScreen([Values(1,5)] int framesToRunBeforeAsserting)
{
var incoming = new List<List<KeypointLabeler.KeypointEntry>>();
var template = CreateTestTemplate(Guid.NewGuid(), "TestTemplate");

AddTestObjectForCleanup(cam);
AddTestObjectForCleanup(cube);
for (var i = 0; i < 2; i++)
for (var i = 0; i < framesToRunBeforeAsserting; i++)
//force all async readbacks to complete
DestroyTestObject(cam);
if (texture != null) texture.Release();
var testCase = incoming.Last();

AddTestObjectForCleanup(cam);
AddTestObjectForCleanup(cube);
for (var i = 0; i < 2; i++)
yield return null;
yield return null;
//force all async readbacks to complete
DestroyTestObject(cam);
if (texture != null) texture.Release();

AddTestObjectForCleanup(cube);
AddTestObjectForCleanup(blocker);
for (var i = 0; i < 2; i++)
yield return null;
yield return null;
//force all async readbacks to complete
DestroyTestObject(cam);
if (texture != null) texture.Release();

Assert.AreEqual(9, t.keypoints.Length);
for (var i = 0; i < 8; i++)
Assert.AreEqual(t.keypoints[i].state, 1);
Assert.AreEqual(1, t.keypoints[i].state);
for (var i = 0; i < 9; i++) Assert.AreEqual(i, t.keypoints[i].index);
Assert.Zero(t.keypoints[8].state);

var incoming = new List<List<KeypointLabeler.KeypointEntry>>();
var template = CreateTestTemplate(Guid.NewGuid(), "TestTemplate");
var texture = new RenderTexture(1024, 768, 16);
texture.Create();
var cam = SetupCamera(SetUpLabelConfig(), template, (frame, data) =>
{
incoming.Add(data);

AddTestObjectForCleanup(cube);
AddTestObjectForCleanup(blocker);
for (var i = 0; i < 2; i++)
yield return null;
yield return null;
if (texture != null) texture.Release();
//force all async readbacks to complete
DestroyTestObject(cam);
texture.Release();
var testCase = incoming.Last();
Assert.AreEqual(1, testCase.Count);

Assert.AreEqual(template.templateID.ToString(), t.template_guid);
Assert.AreEqual(9, t.keypoints.Length);
Assert.AreEqual(t.keypoints[0].state, 2);
Assert.AreEqual(t.keypoints[1].state, 2);
Assert.AreEqual(t.keypoints[4].state, 2);
Assert.AreEqual(t.keypoints[5].state, 2);
Assert.AreEqual(2, t.keypoints[0].state);
Assert.AreEqual(2, t.keypoints[1].state);
Assert.AreEqual(2, t.keypoints[4].state);
Assert.AreEqual(2, t.keypoints[5].state);
Assert.AreEqual(t.keypoints[2].state, 1);
Assert.AreEqual(t.keypoints[3].state, 1);
Assert.AreEqual(t.keypoints[6].state, 1);
Assert.AreEqual(t.keypoints[7].state, 1);
Assert.AreEqual(1, t.keypoints[2].state);
Assert.AreEqual(1, t.keypoints[3].state);
Assert.AreEqual(1, t.keypoints[6].state);
Assert.AreEqual(1, t.keypoints[7].state);
for (var i = 0; i < 9; i++) Assert.AreEqual(i, t.keypoints[i].index);
Assert.Zero(t.keypoints[8].state);

[UnityTest]
public IEnumerator Keypoint_AnimatedCube_PositionsCaptured()
{
var incoming = new List<List<KeypointLabeler.KeypointEntry>>();
var template = CreateTestTemplate(Guid.NewGuid(), "TestTemplate");
var texture = new RenderTexture(1024, 768, 16);
texture.Create();
var cam = SetupCamera(SetUpLabelConfig(), template, (frame, data) =>
{
incoming.Add(data);
}, texture);
var cameraComponent = cam.GetComponent<Camera>();
cameraComponent.orthographic = true;
cameraComponent.orthographicSize = 2;
var screenPointCenterExpected = cameraComponent.WorldToScreenPoint(
new Vector3(-1.0f, -1.0f * -1 /*flip y for image-space*/, -1.0f));
cam.transform.position = new Vector3(0, 0, -10);
// ReSharper disable once Unity.LoadSceneUnknownSceneName
SceneManager.LoadScene("AnimatedCubeScene", LoadSceneMode.Additive);
AddSceneForCleanup("AnimatedCubeScene");
//scenes are loaded at the end of the frame
yield return null;
var cube = GameObject.Find("AnimatedCube");
cube.SetActive(false);
var labeling = cube.AddComponent<Labeling>();
labeling.labels.Add("label");
SetupCubeJoint(cube, template, "Center",0f, 0f, 0f);
cube.SetActive(true);
cam.SetActive(true);
AddTestObjectForCleanup(cam);
AddTestObjectForCleanup(cube);
yield return null;
//force all async readbacks to complete
DestroyTestObject(cam);
if (texture != null) texture.Release();
var testCase = incoming.Last();
Assert.AreEqual(1, testCase.Count);
var t = testCase.First();
Assert.NotNull(t);
Assert.AreEqual(1, t.instance_id);
Assert.AreEqual(1, t.label_id);
Assert.AreEqual(template.templateID.ToString(), t.template_guid);
Assert.AreEqual(9, t.keypoints.Length);
//large delta because the animation will already have taken it some distance from the starting location
Assert.AreEqual(screenPointCenterExpected.x, t.keypoints[8].x, Screen.width * .1);
Assert.AreEqual(screenPointCenterExpected.y, t.keypoints[8].y, Screen.height * .1);
Assert.AreEqual(8, t.keypoints[8].index);
Assert.AreEqual(2, t.keypoints[8].state);
}
}
}

8
TestProjects/PerceptionHDRP/Assets/Human Pose Labeling and Randomization.meta


fileFormatVersion: 2
guid: 633d6bbab02eb764e82d7c04e8d95031
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

712
TestProjects/PerceptionHDRP/Assets/Scenes/PoseSample.unity


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 11
m_GIWorkflowMode: 0
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 0
m_EnableRealtimeLightmaps: 1
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 500
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 500
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 2
m_PVRDenoiserTypeDirect: 0
m_PVRDenoiserTypeIndirect: 0
m_PVRDenoiserTypeAO: 0
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 0
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_UseShadowmask: 1
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 2
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &613667316
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 613667320}
- component: {fileID: 613667319}
- component: {fileID: 613667318}
- component: {fileID: 613667317}
m_Layer: 0
m_Name: Cube
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!65 &613667317
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 613667316}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!23 &613667318
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 613667316}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: ddfd18df3e5ef3043b7889c5a070d8ca, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!33 &613667319
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 613667316}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!4 &613667320
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 613667316}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -0.152, y: 0.528, z: -0.897}
m_LocalScale: {x: 1.559239, y: 1.0357355, z: 0.20697539}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &963194225
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 963194228}
- component: {fileID: 963194227}
- component: {fileID: 963194226}
- component: {fileID: 963194230}
- component: {fileID: 963194229}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &963194226
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 963194225}
m_Enabled: 1
--- !u!20 &963194227
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 963194225}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 59.991566
orthographic: 0
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 0
m_AllowMSAA: 0
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &963194228
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 963194225}
m_LocalRotation: {x: 0.11266163, y: -0.26002073, z: 0.030562058, w: 0.95852107}
m_LocalPosition: {x: 1.4392753, y: 1.2635702, z: -2.3026767}
m_LocalScale: {x: 36.249973, y: 36.249973, z: 36.249973}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &963194229
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 963194225}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 23c1ce4fb46143f46bc5cb5224c934f6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Version: 7
m_ObsoleteRenderingPath: 0
m_ObsoleteFrameSettings:
overrides: 0
enableShadow: 0
enableContactShadows: 0
enableShadowMask: 0
enableSSR: 0
enableSSAO: 0
enableSubsurfaceScattering: 0
enableTransmission: 0
enableAtmosphericScattering: 0
enableVolumetrics: 0
enableReprojectionForVolumetrics: 0
enableLightLayers: 0
enableExposureControl: 1
diffuseGlobalDimmer: 0
specularGlobalDimmer: 0
shaderLitMode: 0
enableDepthPrepassWithDeferredRendering: 0
enableTransparentPrepass: 0
enableMotionVectors: 0
enableObjectMotionVectors: 0
enableDecals: 0
enableRoughRefraction: 0
enableTransparentPostpass: 0
enableDistortion: 0
enablePostprocess: 0
enableOpaqueObjects: 0
enableTransparentObjects: 0
enableRealtimePlanarReflection: 0
enableMSAA: 0
enableAsyncCompute: 0
runLightListAsync: 0
runSSRAsync: 0
runSSAOAsync: 0
runContactShadowsAsync: 0
runVolumeVoxelizationAsync: 0
lightLoopSettings:
overrides: 0
enableDeferredTileAndCluster: 0
enableComputeLightEvaluation: 0
enableComputeLightVariants: 0
enableComputeMaterialVariants: 0
enableFptlForForwardOpaque: 0
enableBigTilePrepass: 0
isFptlEnabled: 0
clearColorMode: 0
backgroundColorHDR: {r: 0.025, g: 0.07, b: 0.19, a: 0}
clearDepth: 1
volumeLayerMask:
serializedVersion: 2
m_Bits: 1
volumeAnchorOverride: {fileID: 0}
antialiasing: 0
SMAAQuality: 2
dithering: 0
stopNaNs: 0
taaSharpenStrength: 0.6
physicalParameters:
m_Iso: 200
m_ShutterSpeed: 0.005
m_Aperture: 16
m_BladeCount: 5
m_Curvature: {x: 2, y: 11}
m_BarrelClipping: 0.25
m_Anamorphism: 0
flipYMode: 0
fullscreenPassthrough: 0
allowDynamicResolution: 0
customRenderingSettings: 0
invertFaceCulling: 0
probeLayerMask:
serializedVersion: 2
m_Bits: 4294967295
hasPersistentHistory: 0
m_RenderingPathCustomFrameSettings:
bitDatas:
data1: 70297877217101
data2: 4539628425463136256
lodBias: 1
lodBiasMode: 0
lodBiasQualityLevel: 0
maximumLODLevel: 0
maximumLODLevelMode: 0
maximumLODLevelQualityLevel: 0
materialQuality: 0
renderingPathCustomFrameSettingsOverrideMask:
mask:
data1: 0
data2: 0
defaultFrameSettings: 0
--- !u!114 &963194230
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 963194225}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4467405dbcbd3d64ab4363e9ae8bb813, type: 3}
m_Name:
m_EditorClassIdentifier:
description: The main camera
captureRgbImages: 1
firstCaptureFrame: 0
captureTriggerMode: 0
manualSensorAffectSimulationTiming: 0
simulationDeltaTime: 0.0166
framesBetweenCaptures: 0
m_Labelers:
- id: 0
showVisualizations: 1
references:
version: 1
00000000:
type: {class: KeypointLabeler, ns: UnityEngine.Perception.GroundTruth, asm: Unity.Perception.Runtime}
data:
enabled: 1
activeTemplate: {fileID: 11400000, guid: a29b79d8ce98945a0855b1addec08d86,
type: 2}
annotationId: 8b3ef246-daa7-4dd5-a0e8-a943f6e7f8c2
idLabelConfig: {fileID: 11400000, guid: 258de5b48703743468d34fc5bbdfa3aa,
type: 2}
animationPoseConfigs: []
--- !u!1 &1190242050
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1190242052}
- component: {fileID: 1190242051}
m_Layer: 0
m_Name: GameObject
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1190242051
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1190242050}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d50076aff0af4515b4422166496fdd5e, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Randomizers:
- id: 0
quitOnComplete: 1
constants:
randomSeed: 539662031
totalIterations: 20
instanceCount: 1
instanceIndex: 0
framesPerIteration: 1
references:
version: 1
00000000:
type: {class: AnimationRandomizer, ns: UnityEngine.Perception.Randomization.Randomizers.SampleRandomizers,
asm: Unity.Perception.Runtime}
data:
collapsed: 0
<enabled>k__BackingField: 1
--- !u!4 &1190242052
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1190242050}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0.012426235, y: 1.0308692, z: 0.05147457}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1427719271
GameObject:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1427719273}
- component: {fileID: 1427719272}
m_Layer: 0
m_Name: StaticLightingSky
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1427719272
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1427719271}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 441482e8936e35048a1dffac814e3ef8, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Profile: {fileID: 0}
m_StaticLightingSkyUniqueID: 0
m_SkySettings: {fileID: 0}
m_SkySettingsFromProfile: {fileID: 0}
--- !u!4 &1427719273
Transform:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1427719271}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1488440284
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1488440286}
- component: {fileID: 1488440285}
m_Layer: 0
m_Name: Directional Light
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!108 &1488440285
Light:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1488440284}
m_Enabled: 1
serializedVersion: 10
m_Type: 1
m_Shape: 0
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Intensity: 1
m_Range: 10
m_SpotAngle: 30
m_InnerSpotAngle: 21.80208
m_CookieSize: 10
m_Shadows:
m_Type: 0
m_Resolution: -1
m_CustomResolution: -1
m_Strength: 1
m_Bias: 0.05
m_NormalBias: 0.4
m_NearPlane: 0.2
m_CullingMatrixOverride:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_UseCullingMatrixOverride: 0
m_Cookie: {fileID: 0}
m_DrawHalo: 0
m_Flare: {fileID: 0}
m_RenderMode: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingLayerMask: 1
m_Lightmapping: 4
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
m_UseBoundingSphereOverride: 0
m_ShadowRadius: 0
m_ShadowAngle: 0
--- !u!4 &1488440286
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1488440284}
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 107.21, y: 72.77, z: -144.12}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!1001 &1667437134
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 2767779306875801127, guid: 09c632a4eeff8204c87fa56b8632d9ba,
type: 3}
propertyPath: m_Controller
value:
objectReference: {fileID: 9100000, guid: 5a4ece82c4ce4894babb282606853fc6, type: 2}
- target: {fileID: 8109026111838458973, guid: 09c632a4eeff8204c87fa56b8632d9ba,
type: 3}
propertyPath: m_RootOrder
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8109026111838458973, guid: 09c632a4eeff8204c87fa56b8632d9ba,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8109026111838458973, guid: 09c632a4eeff8204c87fa56b8632d9ba,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8109026111838458973, guid: 09c632a4eeff8204c87fa56b8632d9ba,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8109026111838458973, guid: 09c632a4eeff8204c87fa56b8632d9ba,
type: 3}
propertyPath: m_LocalRotation.w
value: -0.041973293
objectReference: {fileID: 0}
- target: {fileID: 8109026111838458973, guid: 09c632a4eeff8204c87fa56b8632d9ba,
type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 8109026111838458973, guid: 09c632a4eeff8204c87fa56b8632d9ba,
type: 3}
propertyPath: m_LocalRotation.y
value: 0.9991188
objectReference: {fileID: 0}
- target: {fileID: 8109026111838458973, guid: 09c632a4eeff8204c87fa56b8632d9ba,
type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 8109026111838458973, guid: 09c632a4eeff8204c87fa56b8632d9ba,
type: 3}