Class AnimationCurveSampler
Returns random values according to a range and probability distribution denoted by a user provided AnimationCurve. The X axis of the AnimationCurve corresponds to the values this sampler will pick from, and the Y axis corresponds to the relative probability of the values. The relative probabilities (Y axis) do not need to max out at 1, as only the shape of the curve matters. The Y values cannot however be negative.
Implements
Inherited Members
Namespace: UnityEngine.Perception.Randomization.Samplers
Assembly: Unity.Perception.Runtime.dll
Syntax
[Serializable]
public class AnimationCurveSampler : ISampler
Constructors
AnimationCurveSampler()
Constructs a default AnimationCurveSampler
Declaration
public AnimationCurveSampler()
AnimationCurveSampler(AnimationCurve, int)
Constructs an AnimationCurveSampler with a given animation curve
Declaration
public AnimationCurveSampler(AnimationCurve curve, int numberOfSamples = 500)
Parameters
Type | Name | Description |
---|---|---|
AnimationCurve | curve | The animation curve to sample from |
int | numberOfSamples | Number of samples used for integrating over the provided AnimationCurve |
Fields
distributionCurve
The Animation Curve associated with this sampler
Declaration
[Tooltip("Probability distribution curve used for this sampler. The X axis corresponds to the values this sampler will pick from, and the Y axis corresponds to the relative probability of the values. The relative probabilities (Y axis) do not need to max out at 1 as only the shape of the curve matters. The Y values cannot however be negative.")]
public AnimationCurve distributionCurve
Field Value
Type | Description |
---|---|
AnimationCurve |
numOfSamplesForIntegration
Number of samples used for integrating over the provided AnimationCurve. The larger the number of samples, the more accurate the resulting probability distribution will be.
Declaration
[Tooltip("Number of internal samples used for integrating over the provided AnimationCurve. The larger the number of samples, the more accurately the resulting probability distribution will follow the provided AnimationCurve. Increase this if the default value proves insufficient.")]
public int numOfSamplesForIntegration
Field Value
Type | Description |
---|---|
int |
Properties
maxAllowed
The largest value this sampler should output
Declaration
public float maxAllowed { get; set; }
Property Value
Type | Description |
---|---|
float |
minAllowed
The smallest value this sampler should output
Declaration
public float minAllowed { get; set; }
Property Value
Type | Description |
---|---|
float |
shouldCheckValidRange
Whether the provided minAllowed and maxAllowed values should be used to validate this sampler.
Declaration
public bool shouldCheckValidRange { get; set; }
Property Value
Type | Description |
---|---|
bool |
Methods
CheckAgainstValidRange()
Checks if range valid
Declaration
public void CheckAgainstValidRange()
Exceptions
Type | Condition |
---|---|
NotImplementedException |
Sample()
Generates one sample
Declaration
public float Sample()
Returns
Type | Description |
---|---|
float | The generated sample |
Validate()
Validates that the sampler is configured properly
Declaration
public void Validate()
Exceptions
Type | Condition |
---|---|
SamplerValidationException |