浏览代码

added sample randomizers

/main
Steven Leal 4 年前
当前提交
6b0b4081
共有 52 个文件被更改,包括 399 次插入0 次删除
  1. 3
      com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/CategorialParameters.meta
  2. 3
      com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters.meta
  3. 3
      com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers.meta
  4. 10
      com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/CategorialParameters/Texture2DParameter.cs
  5. 3
      com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/CategorialParameters/Texture2DParameter.cs.meta
  6. 3
      com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Randomizers.meta
  7. 44
      com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Randomizers/BackgroundObjectPlacementRandomizer.cs
  8. 3
      com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Randomizers/BackgroundObjectPlacementRandomizer.cs.meta
  9. 23
      com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Randomizers/ColorRandomizer.cs
  10. 3
      com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Randomizers/ColorRandomizer.cs.meta
  11. 40
      com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Randomizers/ForegroundObjectPlacementRandomizer.cs
  12. 3
      com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Randomizers/ForegroundObjectPlacementRandomizer.cs.meta
  13. 19
      com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Randomizers/RotationRandomizer.cs
  14. 3
      com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Randomizers/RotationRandomizer.cs.meta
  15. 23
      com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Randomizers/TextureRandomizer.cs
  16. 3
      com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Randomizers/TextureRandomizer.cs.meta
  17. 8
      com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Tags.meta
  18. 5
      com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Tags/ColorRandomizerTag.cs
  19. 3
      com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Tags/ColorRandomizerTag.cs.meta
  20. 5
      com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Tags/RotationRandomizerTag.cs
  21. 3
      com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Tags/RotationRandomizerTag.cs.meta
  22. 5
      com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Tags/TextureRandomizerTag.cs
  23. 3
      com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Tags/TextureRandomizerTag.cs.meta
  24. 3
      com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Utilities.meta
  25. 172
      com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Utilities/PoissonDiskSampling.cs
  26. 3
      com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Utilities/PoissonDiskSampling.cs.meta
  27. 0
      /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/BooleanParameter.cs.meta
  28. 0
      /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/FloatParameter.cs.meta
  29. 0
      /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/IntegerParameter.cs.meta
  30. 0
      /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/CategorialParameters/MaterialParameter.cs.meta
  31. 0
      /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/CategorialParameters/StringParameter.cs.meta
  32. 0
      /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/Vector2Parameter.cs.meta
  33. 0
      /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/Vector3Parameter.cs.meta
  34. 0
      /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/Vector4Parameter.cs.meta
  35. 0
      /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/CategorialParameters/GameObjectParameter.cs.meta
  36. 0
      /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/CategorialParameters/GameObjectParameter.cs
  37. 0
      /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/CategorialParameters/MaterialParameter.cs
  38. 0
      /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/CategorialParameters/StringParameter.cs
  39. 0
      /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/BooleanParameter.cs
  40. 0
      /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/ColorParameters.meta
  41. 0
      /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/ColorParameters
  42. 0
      /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/FloatParameter.cs
  43. 0
      /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/IntegerParameter.cs
  44. 0
      /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/Vector2Parameter.cs
  45. 0
      /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/Vector3Parameter.cs
  46. 0
      /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/Vector4Parameter.cs

3
com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/CategorialParameters.meta


fileFormatVersion: 2
guid: e09548ac8cf147b6b8ce910112ae97c4
timeCreated: 1600890464

3
com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters.meta


fileFormatVersion: 2
guid: db7c97a0f5014b73a7af47aa6f6a276a
timeCreated: 1600890440

3
com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers.meta


fileFormatVersion: 2
guid: 30298872573345e4b74b28fb0f2c3e7b
timeCreated: 1600834284

10
com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/CategorialParameters/Texture2DParameter.cs


using System;
namespace UnityEngine.Experimental.Perception.Randomization.Parameters
{
/// <summary>
/// A categorical parameter for generating GameObject samples
/// </summary>
[Serializable]
public class Texture2DParameter : CategoricalParameter<Texture2D> { }
}

3
com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/CategorialParameters/Texture2DParameter.cs.meta


fileFormatVersion: 2
guid: 918b30749d6743a79fecd6e361a7e8e7
timeCreated: 1600890374

3
com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Randomizers.meta


fileFormatVersion: 2
guid: c023cfd4f6be49589b2e738890aa8617
timeCreated: 1600834466

44
com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Randomizers/BackgroundObjectPlacementRandomizer.cs


using System;
using System.Collections.Generic;
using UnityEngine.Experimental.Perception.Randomization.Parameters;
using UnityEngine.Experimental.Perception.Randomization.Samplers;
namespace UnityEngine.Experimental.Perception.Randomization.Randomizers.SampleRandomizers
{
[Serializable]
public class BackgroundObjectPlacementRandomizer : Randomizer
{
public float depth;
public int layerCount = 2;
public float separationDistance = 2f;
public Vector2 placementArea;
public GameObjectParameter prefabs;
List<GameObject> m_SpawnedObjects = new List<GameObject>();
protected override void OnIterationStart()
{
for (var i = 0; i < layerCount; i++)
{
var seed = SamplerUtility.IterateSeed((uint)scenario.currentIteration, (uint)i);
var placementSamples = PoissonDiskSampling.GenerateSamples(
placementArea.x, placementArea.y, separationDistance, seed);
var offset = new Vector3(placementArea.x, placementArea.y, 0f) * -0.5f;
var parent = scenario.transform;
foreach (var sample in placementSamples)
{
var instance = Object.Instantiate(prefabs.Sample(), parent);
instance.transform.position = new Vector3(sample.x, sample.y, separationDistance * i + depth) + offset;
m_SpawnedObjects.Add(instance);
}
placementSamples.Dispose();
}
}
protected override void OnIterationEnd()
{
foreach (var spawnedObject in m_SpawnedObjects)
Object.Destroy(spawnedObject);
m_SpawnedObjects.Clear();
}
}
}

3
com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Randomizers/BackgroundObjectPlacementRandomizer.cs.meta


fileFormatVersion: 2
guid: 1d45e868d49e45a994c74df953db52e5
timeCreated: 1600839950

23
com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Randomizers/ColorRandomizer.cs


using System;
using UnityEngine.Experimental.Perception.Randomization.Parameters;
using UnityEngine.Experimental.Perception.Randomization.Randomizers.SampleRandomizers.Tags;
namespace UnityEngine.Experimental.Perception.Randomization.Randomizers.SampleRandomizers
{
[Serializable]
public class ColorRandomizer : Randomizer
{
static readonly int k_BaseColor = Shader.PropertyToID("_BaseColor");
public ColorHsvaParameter colorParameter;
protected override void OnIterationStart()
{
var taggedObjects = tagManager.Query<ColorRandomizerTag>();
foreach (var taggedObject in taggedObjects)
{
var renderer = taggedObject.GetComponent<MeshRenderer>();
renderer.material.SetColor(k_BaseColor, colorParameter.Sample());
}
}
}
}

3
com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Randomizers/ColorRandomizer.cs.meta


fileFormatVersion: 2
guid: 9af0ee54b83446c5820eaaf8333d9e53
timeCreated: 1600841128

40
com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Randomizers/ForegroundObjectPlacementRandomizer.cs


using System;
using System.Collections.Generic;
using UnityEngine.Experimental.Perception.Randomization.Parameters;
using UnityEngine.Experimental.Perception.Randomization.Samplers;
namespace UnityEngine.Experimental.Perception.Randomization.Randomizers.SampleRandomizers
{
[Serializable]
public class ForegroundObjectPlacementRandomizer : Randomizer
{
public float depth;
public float separationDistance = 2f;
public Vector2 placementArea;
public GameObjectParameter prefabs;
List<GameObject> m_SpawnedObjects = new List<GameObject>();
protected override void OnIterationStart()
{
var seed = SamplerUtility.IterateSeed((uint)scenario.currentIteration, SamplerUtility.largePrime);
var placementSamples = PoissonDiskSampling.GenerateSamples(
placementArea.x, placementArea.y, separationDistance, seed);
var offset = new Vector3(placementArea.x, placementArea.y, 0f) * -0.5f;
var parent = scenario.transform;
foreach (var sample in placementSamples)
{
var instance = Object.Instantiate(prefabs.Sample(), parent);
instance.transform.position = new Vector3(sample.x, sample.y, depth) + offset;
m_SpawnedObjects.Add(instance);
}
placementSamples.Dispose();
}
protected override void OnIterationEnd()
{
foreach (var spawnedObject in m_SpawnedObjects)
Object.Destroy(spawnedObject);
m_SpawnedObjects.Clear();
}
}
}

3
com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Randomizers/ForegroundObjectPlacementRandomizer.cs.meta


fileFormatVersion: 2
guid: 1aa5f41630694acb95f73ccedd8056ab
timeCreated: 1600838786

19
com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Randomizers/RotationRandomizer.cs


using System;
using UnityEngine.Experimental.Perception.Randomization.Parameters;
using UnityEngine.Experimental.Perception.Randomization.Randomizers.SampleRandomizers.Tags;
namespace UnityEngine.Experimental.Perception.Randomization.Randomizers.SampleRandomizers
{
[Serializable]
public class RotationRandomizer : Randomizer
{
public Vector3Parameter rotation = new Vector3Parameter();
protected override void OnIterationStart()
{
var taggedObjects = tagManager.Query<RotationRandomizerTag>();
foreach (var taggedObject in taggedObjects)
taggedObject.transform.rotation = Quaternion.Euler(rotation.Sample());
}
}
}

3
com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Randomizers/RotationRandomizer.cs.meta


fileFormatVersion: 2
guid: cc253e4bce9d4e10bcb091293726f362
timeCreated: 1600834466

23
com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Randomizers/TextureRandomizer.cs


using System;
using UnityEngine.Experimental.Perception.Randomization.Parameters;
using UnityEngine.Experimental.Perception.Randomization.Randomizers.SampleRandomizers.Tags;
namespace UnityEngine.Experimental.Perception.Randomization.Randomizers.SampleRandomizers
{
[Serializable]
public class TextureRandomizer : Randomizer
{
static readonly int k_BaseTexture = Shader.PropertyToID("_BaseMap");
public Texture2DParameter texture;
protected override void OnIterationStart()
{
var taggedObjects = tagManager.Query<TextureRandomizerTag>();
foreach (var taggedObject in taggedObjects)
{
var renderer = taggedObject.GetComponent<MeshRenderer>();
renderer.material.SetTexture(k_BaseTexture, texture.Sample());
}
}
}
}

3
com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Randomizers/TextureRandomizer.cs.meta


fileFormatVersion: 2
guid: a6f6fa9eaed24e9eac29ed8fb44cbb3e
timeCreated: 1600890289

8
com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Tags.meta


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

5
com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Tags/ColorRandomizerTag.cs


namespace UnityEngine.Experimental.Perception.Randomization.Randomizers.SampleRandomizers.Tags
{
[AddComponentMenu("Perception/RandomizerTags/ColorRandomizerTag")]
public class ColorRandomizerTag : RandomizerTag { }
}

3
com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Tags/ColorRandomizerTag.cs.meta


fileFormatVersion: 2
guid: a8823429b12641208135cb2bd79e1096
timeCreated: 1600841172

5
com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Tags/RotationRandomizerTag.cs


namespace UnityEngine.Experimental.Perception.Randomization.Randomizers.SampleRandomizers.Tags
{
[AddComponentMenu("Perception/RandomizerTags/RotationRandomizerTag")]
public class RotationRandomizerTag : RandomizerTag { }
}

3
com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Tags/RotationRandomizerTag.cs.meta


fileFormatVersion: 2
guid: b85e54e30bb74162b2d6bca9b68f5482
timeCreated: 1600834529

5
com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Tags/TextureRandomizerTag.cs


namespace UnityEngine.Experimental.Perception.Randomization.Randomizers.SampleRandomizers.Tags
{
[AddComponentMenu("Perception/RandomizerTags/TextureRandomizerTag")]
public class TextureRandomizerTag : RandomizerTag { }
}

3
com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Tags/TextureRandomizerTag.cs.meta


fileFormatVersion: 2
guid: e9546a8975fe4783ac74e987ecca9635
timeCreated: 1600890539

3
com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Utilities.meta


fileFormatVersion: 2
guid: 7edf59614df54a13b3a98879e7c15ffe
timeCreated: 1600838959

172
com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Utilities/PoissonDiskSampling.cs


using System;
using Unity.Burst;
using Unity.Collections;
using Unity.Jobs;
using Unity.Mathematics;
namespace UnityEngine.Experimental.Perception.Randomization.Randomizers.SampleRandomizers
{
public static class PoissonDiskSampling
{
const int k_DefaultSamplingResolution = 30;
// Algorithm sourced from Robert Bridson's paper "Fast Poisson Disk Sampling in Arbitrary Dimensions"
// https://www.cs.ubc.ca/~rbridson/docs/bridson-siggraph07-poissondisk.pdf
/// <summary>
/// <para>Returns a list of poisson disc sampled points for a given area and density</para>
/// </summary>
/// <param name="width">Width of the sampling area</param>
/// <param name="height">Height of the sampling area</param>
/// <param name="minimumRadius">The minimum distance required between each sampled point</param>
/// <param name="seed">The random seed used to initialize the algorithm state</param>
/// <param name="samplingResolution">The number of potential points sampled around every valid point</param>
public static NativeList<float2> GenerateSamples(
float width,
float height,
float minimumRadius,
uint seed = 12345,
int samplingResolution = k_DefaultSamplingResolution)
{
if (width < 0)
throw new ArgumentException($"Width {width} cannot be negative");
if (height < 0)
throw new ArgumentException($"Height {height} cannot be negative");
if (minimumRadius < 0)
throw new ArgumentException($"MinimumRadius {minimumRadius} cannot be negative");
if (seed == 0)
throw new ArgumentException("Random seed cannot be 0");
if (samplingResolution <= 0)
throw new ArgumentException($"SamplingAttempts {samplingResolution} cannot be <= 0");
var samples = new NativeList<float2>(Allocator.TempJob);
new SampleJob
{
width = width,
height = height,
minimumRadius = minimumRadius,
seed = seed,
samplingResolution = samplingResolution,
samples = samples
}.Schedule().Complete();
return samples;
}
[BurstCompile]
struct SampleJob : IJob
{
public float width;
public float height;
public float minimumRadius;
public uint seed;
public int samplingResolution;
public NativeList<float2> samples;
public void Execute()
{
var newSamples = Sample(width, height, minimumRadius, seed, samplingResolution, Allocator.Temp);
samples.AddRange(newSamples);
newSamples.Dispose();
}
}
public static NativeList<float2> Sample(
float width,
float height,
float minimumRadius,
uint seed,
int samplingResolution,
Allocator allocator)
{
var samples = new NativeList<float2>(allocator);
var random = new Unity.Mathematics.Random(seed);
var cellSize = minimumRadius / math.sqrt(2);
var rows = Mathf.FloorToInt(height / cellSize);
var cols = Mathf.FloorToInt(width / cellSize);
var gridSize = rows * cols;
if (gridSize == 0)
return samples;
var rSqr = minimumRadius * minimumRadius;
var samplingArc = (math.PI * 2) / samplingResolution;
var halfSamplingArc = samplingArc / 2;
var gridToSampleIndex = new NativeArray<int>(gridSize, Allocator.Temp);
for (var i = 0; i < gridSize; i++)
gridToSampleIndex[i] = -1;
var activePoints = new NativeList<float2>(Allocator.Temp);
var firstPoint = new float2(
random.NextFloat(0.4f, 0.6f) * width,
random.NextFloat(0.4f, 0.6f) * height);
samples.Add(firstPoint);
var firstPointCol = Mathf.FloorToInt(firstPoint.x / cellSize);
var firstPointRow = Mathf.FloorToInt(firstPoint.y / cellSize);
gridToSampleIndex[firstPointCol + firstPointRow * cols] = 0;
activePoints.Add(firstPoint);
while (activePoints.Length > 0)
{
var randomIndex = random.NextInt(0, activePoints.Length);
var activePoint = activePoints[randomIndex];
var nextPointFound = false;
for (var i = 0; i < samplingResolution; i++)
{
var length = random.NextFloat(minimumRadius, minimumRadius * 2);
var angle = samplingArc * i + random.NextFloat(-halfSamplingArc, halfSamplingArc);
var newPoint = activePoint + new float2(
math.cos(angle) * length,
math.sin(angle) * length);
var col = Mathf.FloorToInt(newPoint.x / cellSize);
var row = Mathf.FloorToInt(newPoint.y / cellSize);
if (row < 0 || row >= rows || col < 0 || col >= cols)
continue;
var tooCloseToAnotherPoint = false;
for (var x = -2; x <= 2; x++)
{
if ((col + x) < 0 || (col + x) >= cols)
continue;
for (var y = -2; y <= 2; y++)
{
if ((row + y) < 0 || (row + y) >= rows)
continue;
var gridIndex = (col + x) + (row + y) * cols;
if (gridToSampleIndex[gridIndex] < 0)
continue;
var distanceSqr = math.distancesq(samples[gridToSampleIndex[gridIndex]], newPoint);
if (distanceSqr >= rSqr)
continue;
tooCloseToAnotherPoint = true;
break;
}
}
if (tooCloseToAnotherPoint)
continue;
nextPointFound = true;
activePoints.Add(newPoint);
samples.Add(newPoint);
gridToSampleIndex[col + row * cols] = samples.Length - 1;
}
if (!nextPointFound)
activePoints.RemoveAtSwapBack(randomIndex);
}
gridToSampleIndex.Dispose();
activePoints.Dispose();
return samples;
}
}
}

3
com.unity.perception/Runtime/Randomization/Randomizers/SampleRandomizers/Utilities/PoissonDiskSampling.cs.meta


fileFormatVersion: 2
guid: 4c1bfda42c1c41b28a50aebe4174c4fa
timeCreated: 1600839153

/com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/BooleanParameter.cs.meta → /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/BooleanParameter.cs.meta

/com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/FloatParameter.cs.meta → /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/FloatParameter.cs.meta

/com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/IntegerParameter.cs.meta → /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/IntegerParameter.cs.meta

/com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/MaterialParameter.cs.meta → /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/CategorialParameters/MaterialParameter.cs.meta

/com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/StringParameter.cs.meta → /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/CategorialParameters/StringParameter.cs.meta

/com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/Vector2Parameter.cs.meta → /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/Vector2Parameter.cs.meta

/com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/Vector3Parameter.cs.meta → /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/Vector3Parameter.cs.meta

/com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/Vector4Parameter.cs.meta → /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/Vector4Parameter.cs.meta

/com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/GameObjectParameter.cs.meta → /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/CategorialParameters/GameObjectParameter.cs.meta

/com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/GameObjectParameter.cs → /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/CategorialParameters/GameObjectParameter.cs

/com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/MaterialParameter.cs → /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/CategorialParameters/MaterialParameter.cs

/com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/StringParameter.cs → /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/CategorialParameters/StringParameter.cs

/com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/BooleanParameter.cs → /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/BooleanParameter.cs

/com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/ColorParameters.meta → /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/ColorParameters.meta

/com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/ColorParameters → /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/ColorParameters

/com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/FloatParameter.cs → /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/FloatParameter.cs

/com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/IntegerParameter.cs → /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/IntegerParameter.cs

/com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/Vector2Parameter.cs → /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/Vector2Parameter.cs

/com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/Vector3Parameter.cs → /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/Vector3Parameter.cs

/com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/Vector4Parameter.cs → /com.unity.perception/Runtime/Randomization/Parameters/ParameterTypes/NumericParameters/Vector4Parameter.cs

正在加载...
取消
保存