|
@@ -333,6 +333,9 @@ namespace SharpGLTF.Animations
|
|
|
{
|
|
{
|
|
|
if (collection == null) return null;
|
|
if (collection == null) return null;
|
|
|
|
|
|
|
|
|
|
+ var single = SingleValueSampler<Vector3>.CreateForSingle(collection);
|
|
|
|
|
+ if (single != null) return single;
|
|
|
|
|
+
|
|
|
var sampler = new Vector3LinearSampler(collection, isLinear);
|
|
var sampler = new Vector3LinearSampler(collection, isLinear);
|
|
|
|
|
|
|
|
return optimize ? sampler.ToFastSampler() : sampler;
|
|
return optimize ? sampler.ToFastSampler() : sampler;
|
|
@@ -342,6 +345,9 @@ namespace SharpGLTF.Animations
|
|
|
{
|
|
{
|
|
|
if (collection == null) return null;
|
|
if (collection == null) return null;
|
|
|
|
|
|
|
|
|
|
+ var single = SingleValueSampler<Quaternion>.CreateForSingle(collection);
|
|
|
|
|
+ if (single != null) return single;
|
|
|
|
|
+
|
|
|
var sampler = new QuaternionLinearSampler(collection, isLinear);
|
|
var sampler = new QuaternionLinearSampler(collection, isLinear);
|
|
|
|
|
|
|
|
return optimize ? sampler.ToFastSampler() : sampler;
|
|
return optimize ? sampler.ToFastSampler() : sampler;
|
|
@@ -351,6 +357,9 @@ namespace SharpGLTF.Animations
|
|
|
{
|
|
{
|
|
|
if (collection == null) return null;
|
|
if (collection == null) return null;
|
|
|
|
|
|
|
|
|
|
+ var single = SingleValueSampler<Transforms.SparseWeight8>.CreateForSingle(collection);
|
|
|
|
|
+ if (single != null) return single;
|
|
|
|
|
+
|
|
|
var sampler = new SparseLinearSampler(collection, isLinear);
|
|
var sampler = new SparseLinearSampler(collection, isLinear);
|
|
|
|
|
|
|
|
return optimize ? sampler.ToFastSampler() : sampler;
|
|
return optimize ? sampler.ToFastSampler() : sampler;
|
|
@@ -360,6 +369,9 @@ namespace SharpGLTF.Animations
|
|
|
{
|
|
{
|
|
|
if (collection == null) return null;
|
|
if (collection == null) return null;
|
|
|
|
|
|
|
|
|
|
+ var single = SingleValueSampler<Single[]>.CreateForSingle(collection);
|
|
|
|
|
+ if (single != null) return single;
|
|
|
|
|
+
|
|
|
var sampler = new ArrayLinearSampler(collection, isLinear);
|
|
var sampler = new ArrayLinearSampler(collection, isLinear);
|
|
|
|
|
|
|
|
return optimize ? sampler.ToFastSampler() : sampler;
|
|
return optimize ? sampler.ToFastSampler() : sampler;
|
|
@@ -369,6 +381,9 @@ namespace SharpGLTF.Animations
|
|
|
{
|
|
{
|
|
|
if (collection == null) return null;
|
|
if (collection == null) return null;
|
|
|
|
|
|
|
|
|
|
+ var single = SingleValueSampler<Vector3>.CreateForSingle(collection);
|
|
|
|
|
+ if (single != null) return single;
|
|
|
|
|
+
|
|
|
var sampler = new Vector3CubicSampler(collection);
|
|
var sampler = new Vector3CubicSampler(collection);
|
|
|
|
|
|
|
|
return optimize ? sampler.ToFastSampler() : sampler;
|
|
return optimize ? sampler.ToFastSampler() : sampler;
|
|
@@ -378,6 +393,9 @@ namespace SharpGLTF.Animations
|
|
|
{
|
|
{
|
|
|
if (collection == null) return null;
|
|
if (collection == null) return null;
|
|
|
|
|
|
|
|
|
|
+ var single = SingleValueSampler<Quaternion>.CreateForSingle(collection);
|
|
|
|
|
+ if (single != null) return single;
|
|
|
|
|
+
|
|
|
var sampler = new QuaternionCubicSampler(collection);
|
|
var sampler = new QuaternionCubicSampler(collection);
|
|
|
|
|
|
|
|
return optimize ? sampler.ToFastSampler() : sampler;
|
|
return optimize ? sampler.ToFastSampler() : sampler;
|
|
@@ -387,6 +405,9 @@ namespace SharpGLTF.Animations
|
|
|
{
|
|
{
|
|
|
if (collection == null) return null;
|
|
if (collection == null) return null;
|
|
|
|
|
|
|
|
|
|
+ var single = SingleValueSampler<Transforms.SparseWeight8>.CreateForSingle(collection);
|
|
|
|
|
+ if (single != null) return single;
|
|
|
|
|
+
|
|
|
var sampler = new SparseCubicSampler(collection);
|
|
var sampler = new SparseCubicSampler(collection);
|
|
|
|
|
|
|
|
return optimize ? sampler.ToFastSampler() : sampler;
|
|
return optimize ? sampler.ToFastSampler() : sampler;
|
|
@@ -396,6 +417,9 @@ namespace SharpGLTF.Animations
|
|
|
{
|
|
{
|
|
|
if (collection == null) return null;
|
|
if (collection == null) return null;
|
|
|
|
|
|
|
|
|
|
+ var single = SingleValueSampler<Single[]>.CreateForSingle(collection);
|
|
|
|
|
+ if (single != null) return single;
|
|
|
|
|
+
|
|
|
var sampler = new ArrayCubicSampler(collection);
|
|
var sampler = new ArrayCubicSampler(collection);
|
|
|
|
|
|
|
|
return optimize ? sampler.ToFastSampler() : sampler;
|
|
return optimize ? sampler.ToFastSampler() : sampler;
|