浏览代码

address few (not all) PR comments

/0.9.0.preview.1_staging
Aryan Mann 3 年前
当前提交
5e64cf08
共有 6 个文件被更改,包括 25 次插入83 次删除
  1. 29
      com.unity.perception/Runtime/PerceptionAnalytics.cs
  2. 16
      com.unity.perception/Runtime/Randomization/Scenarios/ScenarioBase.cs
  3. 51
      TestProjects/PerceptionHDRP/Assets/Scenes/AllMembersAndParametersTestRandomizer.cs
  4. 3
      TestProjects/PerceptionHDRP/Assets/Scenes/AllMembersAndParametersTestRandomizer.cs.meta
  5. 8
      TestProjects/PerceptionHDRP/Assets/Scenes.meta
  6. 1
      TestProjects/PerceptionHDRP/randomizerAnalyticsSerializationExample.json

29
com.unity.perception/Runtime/PerceptionAnalytics.cs


using Unity.Simulation;
using UnityEngine.Analytics;
using UnityEngine;
using UnityEngine.Assertions;
using UnityEngine.Perception.Randomization.Scenarios;
#if UNITY_EDITOR
using UnityEditor;
#endif

/// <summary>
/// Editor and Runtime analytics for the Perception package.
/// </summary>

/// </remarks>
public static class PerceptionAnalytics
{
#region Setup
[RuntimeInitializeOnLoadMethod]
static void OnInitializeOnLoad()
{
Manager.Instance.ShutdownNotification += OnSimulationShutdown;
}
static void OnSimulationShutdown()
{
var perceptionCamera = Object.FindObjectOfType<PerceptionCamera>();
ReportScenarioInformation(
perceptionCamera,
ScenarioBase.activeScenario
);
}
#endregion
/// <summary>
/// Stores whether each event has been registered successfully or not.
/// </summary>

if (allEvents.Contains(theEvent))
s_EventRegistrationStatus[theEvent] = false;
else
Debug.LogError($"Unrecognized event {theEvent} not included in {nameof(allEvents)}.");
throw new NotSupportedException($"Unrecognized event {theEvent} not included in {nameof(allEvents)}.");
}
// If registered previously, return true

"KeypointLabeler", "ObjectCountLabeler", "SemanticSegmentationLabeler", "RenderedObjectInfoLabeler"
};
internal static void ReportScenarioCompleted(
static void ReportScenarioInformation(
IEnumerable<Randomizer> randomizers
ScenarioBase scenario
var randomizers = scenario ? scenario.activeRandomizers : new List<Randomizer>();
var data = ScenarioCompletedData.FromCameraAndRandomizers(cam, randomizers);
SendPerceptionAnalyticsEvent(k_EventScenarioInformation, data);
}

16
com.unity.perception/Runtime/Randomization/Scenarios/ScenarioBase.cs


using System.Collections.Generic;
using System.IO;
using System.Linq;
using Unity.Simulation;
using UnityEditor;
using UnityEngine;
using UnityEngine.Perception.Analytics;

foreach (var randomizer in activeRandomizers)
randomizer.ScenarioComplete();
TrackScenarioCompleted();
OnComplete();
state = State.Idle;
OnIdle();

/// The scenario has finished and is idle
/// </summary>
Idle
}
static void TrackScenarioCompleted()
{
var perceptionCamera = SceneManager.GetActiveScene()
.GetRootGameObjects()
.Select(obj => obj.GetComponentInChildren<PerceptionCamera>())
.FirstOrDefault(x => x != null);
PerceptionAnalytics.ReportScenarioCompleted(
perceptionCamera,
activeScenario.randomizers
);
}
public void RestartIteration()

51
TestProjects/PerceptionHDRP/Assets/Scenes/AllMembersAndParametersTestRandomizer.cs


using UnityEngine.Perception.Analytics;
using UnityEngine.Perception.Randomization.Parameters;
using UnityEngine.Perception.Randomization.Randomizers;
using UnityEngine.Perception.Randomization.Samplers;
namespace UnityEngine.Perception
{
[AddRandomizerMenu("Test/All Members And Parameters")]
public class AllMembersAndParametersTestRandomizer: Randomizer
{
// Members
public bool booleanMember = false;
public int intMember = 4;
public uint uintMember = 2;
public float floatMember = 5;
public Vector2 vector2Member = new Vector2(4, 7);
public MemberData unsupportedMember = new MemberData();
// Parameters
public BooleanParameter booleanParam = new BooleanParameter()
{
value = new ConstantSampler(1)
};
public FloatParameter floatParam = new FloatParameter()
{
value = new AnimationCurveSampler()
};
public IntegerParameter integerParam = new IntegerParameter()
{
value = new UniformSampler(-3, 7)
};
public Vector2Parameter vector2Param = new Vector2Parameter()
{
x = new ConstantSampler(2),
y = new UniformSampler(-4, 8)
};
public Vector3Parameter vector3Param = new Vector3Parameter()
{
x = new NormalSampler(-5, 9, 4, 2),
y = new ConstantSampler(3),
z = new AnimationCurveSampler()
};
public Vector4Parameter vector4Param = new Vector4Parameter()
{
x = new NormalSampler(-5, 9, 4, 2),
y = new ConstantSampler(3),
z = new AnimationCurveSampler(),
w = new UniformSampler(-12, 42)
};
public ColorRgbCategoricalParameter colorRgbCategoricalParam = new ColorRgbCategoricalParameter();
};
}

3
TestProjects/PerceptionHDRP/Assets/Scenes/AllMembersAndParametersTestRandomizer.cs.meta


fileFormatVersion: 2
guid: 03efc69674f647478374cd5d8f746529
timeCreated: 1632447484

8
TestProjects/PerceptionHDRP/Assets/Scenes.meta


fileFormatVersion: 2
guid: 98cfbce5bd48d9d4d99e5c8b8a1ee97b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

1
TestProjects/PerceptionHDRP/randomizerAnalyticsSerializationExample.json


{"name":"AllMembersAndParametersTestRandomizer","members":[{"name":"booleanMember","value":"False","type":"System.Boolean"},{"name":"intMember","value":"4","type":"System.Int32"},{"name":"uintMember","value":"2","type":"System.UInt32"},{"name":"floatMember","value":"5","type":"System.Single"},{"name":"vector2Member","value":"(4.0, 7.0)","type":"UnityEngine.Vector2"},{"name":"unsupportedMember","value":"UnityEngine.Perception.PerceptionEngineAnalytics+MemberData","type":"UnityEngine.Perception.PerceptionEngineAnalytics+MemberData"}],"parameters":[{"name":"booleanParam","type":"BooleanParameter","fields":[{"name":"value","distribution":"Constant","value":1.0,"rangeMinimum":-2.14748365E+09,"rangeMaximum":-2.14748365E+09,"mean":-2.14748365E+09,"stdDev":-2.14748365E+09,"categoricalParameterCount":-2147483648}]},{"name":"floatParam","type":"FloatParameter","fields":[{"name":"value","distribution":"AnimationCurve","value":-2.14748365E+09,"rangeMinimum":-2.14748365E+09,"rangeMaximum":-2.14748365E+09,"mean":-2.14748365E+09,"stdDev":-2.14748365E+09,"categoricalParameterCount":-2147483648}]},{"name":"integerParam","type":"IntegerParameter","fields":[{"name":"value","distribution":"Uniform","value":-2.14748365E+09,"rangeMinimum":-3.0,"rangeMaximum":7.0,"mean":-2.14748365E+09,"stdDev":-2.14748365E+09,"categoricalParameterCount":-2147483648}]},{"name":"vector2Param","type":"Vector2Parameter","fields":[{"name":"x","distribution":"Constant","value":2.0,"rangeMinimum":-2.14748365E+09,"rangeMaximum":-2.14748365E+09,"mean":-2.14748365E+09,"stdDev":-2.14748365E+09,"categoricalParameterCount":-2147483648},{"name":"y","distribution":"Uniform","value":-2.14748365E+09,"rangeMinimum":-4.0,"rangeMaximum":8.0,"mean":-2.14748365E+09,"stdDev":-2.14748365E+09,"categoricalParameterCount":-2147483648}]},{"name":"vector3Param","type":"Vector3Parameter","fields":[{"name":"x","distribution":"Normal","value":-2.14748365E+09,"rangeMinimum":-5.0,"rangeMaximum":9.0,"mean":4.0,"stdDev":2.0,"categoricalParameterCount":-2147483648},{"name":"y","distribution":"Constant","value":3.0,"rangeMinimum":-2.14748365E+09,"rangeMaximum":-2.14748365E+09,"mean":-2.14748365E+09,"stdDev":-2.14748365E+09,"categoricalParameterCount":-2147483648},{"name":"z","distribution":"AnimationCurve","value":-2.14748365E+09,"rangeMinimum":-2.14748365E+09,"rangeMaximum":-2.14748365E+09,"mean":-2.14748365E+09,"stdDev":-2.14748365E+09,"categoricalParameterCount":-2147483648}]},{"name":"vector4Param","type":"Vector4Parameter","fields":[{"name":"x","distribution":"Normal","value":-2.14748365E+09,"rangeMinimum":-5.0,"rangeMaximum":9.0,"mean":4.0,"stdDev":2.0,"categoricalParameterCount":-2147483648},{"name":"y","distribution":"Constant","value":3.0,"rangeMinimum":-2.14748365E+09,"rangeMaximum":-2.14748365E+09,"mean":-2.14748365E+09,"stdDev":-2.14748365E+09,"categoricalParameterCount":-2147483648},{"name":"z","distribution":"AnimationCurve","value":-2.14748365E+09,"rangeMinimum":-2.14748365E+09,"rangeMaximum":-2.14748365E+09,"mean":-2.14748365E+09,"stdDev":-2.14748365E+09,"categoricalParameterCount":-2147483648},{"name":"w","distribution":"Uniform","value":-2.14748365E+09,"rangeMinimum":-12.0,"rangeMaximum":42.0,"mean":-2.14748365E+09,"stdDev":-2.14748365E+09,"categoricalParameterCount":-2147483648}]},{"name":"colorRgbCategoricalParam","type":"ColorRgbCategoricalParameter","fields":[{"name":"values","distribution":"Categorical","value":-2.14748365E+09,"rangeMinimum":-2.14748365E+09,"rangeMaximum":-2.14748365E+09,"mean":-2.14748365E+09,"stdDev":-2.14748365E+09,"categoricalParameterCount":3}]}]}
正在加载...
取消
保存