diff options
Diffstat (limited to 'Assets/ThirdParty/VRM/VRM/UniGLTF/Scripts/Format/glTFAnimation.cs')
-rw-r--r-- | Assets/ThirdParty/VRM/VRM/UniGLTF/Scripts/Format/glTFAnimation.cs | 252 |
1 files changed, 0 insertions, 252 deletions
diff --git a/Assets/ThirdParty/VRM/VRM/UniGLTF/Scripts/Format/glTFAnimation.cs b/Assets/ThirdParty/VRM/VRM/UniGLTF/Scripts/Format/glTFAnimation.cs deleted file mode 100644 index 3dfc1c6f..00000000 --- a/Assets/ThirdParty/VRM/VRM/UniGLTF/Scripts/Format/glTFAnimation.cs +++ /dev/null @@ -1,252 +0,0 @@ -using System; -using System.Linq; -using System.Collections.Generic; -using UniJSON; -using UnityEngine; - - -namespace UniGLTF -{ - [Serializable] - public class glTFAnimationTarget : JsonSerializableBase - { - [JsonSchema(Minimum = 0)] - public int node; - - [JsonSchema(Required = true, EnumValues = new object[] { "translation", "rotation", "scale", "weights" }, EnumSerializationType = EnumSerializationType.AsString)] - public string path; - - // empty schemas - public object extensions; - public object extras; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.KeyValue(() => node); - if (!string.IsNullOrEmpty(path)) - { - f.KeyValue(() => path); - } - } - - public enum Interpolations - { - LINEAR, - STEP, - CUBICSPLINE - } - - public const string PATH_TRANSLATION = "translation"; - public const string PATH_EULER_ROTATION = "rotation"; - public const string PATH_ROTATION = "rotation"; - public const string PATH_SCALE = "scale"; - public const string PATH_WEIGHT = "weights"; - public const string NOT_IMPLEMENTED = "NotImplemented"; - - [Obsolete("Use AnimationProperties")] - public enum AnimationPropertys - { - Translation = AnimationProperties.Translation, - EulerRotation = AnimationProperties.EulerRotation, - Rotation = AnimationProperties.Rotation, - Scale = AnimationProperties.Scale, - Weight = AnimationProperties.Weight, - BlendShape = AnimationProperties.BlendShape, - - NotImplemented = AnimationProperties.NotImplemented - } - - [Obsolete] - internal static AnimationProperties AnimationPropertysToAnimationProperties(AnimationPropertys property) - { - if (!Enum.IsDefined(typeof(AnimationProperties), property)) - { - throw new InvalidCastException("Failed to convert AnimationPropertys '" + property + "' to AnimationProperties"); - } - return (AnimationProperties)property; - } - - public enum AnimationProperties - { - Translation, - EulerRotation, - Rotation, - Scale, - Weight, - BlendShape, - - NotImplemented - } - - [Obsolete] - public static string GetPathName(AnimationPropertys property) - { - return GetPathName(AnimationPropertysToAnimationProperties(property)); - } - - public static string GetPathName(AnimationProperties property) - { - switch (property) - { - case AnimationProperties.Translation: - return PATH_TRANSLATION; - case AnimationProperties.EulerRotation: - case AnimationProperties.Rotation: - return PATH_ROTATION; - case AnimationProperties.Scale: - return PATH_SCALE; - case AnimationProperties.BlendShape: - return PATH_WEIGHT; - default: throw new NotImplementedException(); - } - } - - public static AnimationProperties GetAnimationProperty(string path) - { - switch (path) - { - case PATH_TRANSLATION: - return AnimationProperties.Translation; - case PATH_ROTATION: - return AnimationProperties.Rotation; - case PATH_SCALE: - return AnimationProperties.Scale; - case PATH_WEIGHT: - return AnimationProperties.BlendShape; - default: throw new NotImplementedException(); - } - } - - [Obsolete] - public static int GetElementCount(AnimationPropertys property) - { - return GetElementCount(AnimationPropertysToAnimationProperties(property)); - } - - public static int GetElementCount(AnimationProperties property) - { - switch (property) - { - case AnimationProperties.Translation: return 3; - case AnimationProperties.EulerRotation: return 3; - case AnimationProperties.Rotation: return 4; - case AnimationProperties.Scale: return 3; - case AnimationProperties.BlendShape: return 1; - default: throw new NotImplementedException(); - } - } - - public static int GetElementCount(string path) - { - return GetElementCount(GetAnimationProperty(path)); - } - } - - [Serializable] - public class glTFAnimationChannel : JsonSerializableBase - { - [JsonSchema(Required = true, Minimum = 0)] - public int sampler = -1; - - [JsonSchema(Required = true)] - public glTFAnimationTarget target; - - // empty schemas - public object extensions; - public object extras; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.KeyValue(() => sampler); - f.Key("target"); f.GLTFValue(target); - } - } - - [Serializable] - public class glTFAnimationSampler : JsonSerializableBase - { - [JsonSchema(Required = true, Minimum = 0)] - public int input = -1; - - [JsonSchema(EnumValues = new object[] { "LINEAR", "STEP", "CUBICSPLINE" }, EnumSerializationType = EnumSerializationType.AsString)] - public string interpolation; - - [JsonSchema(Required = true, Minimum = 0)] - public int output = -1; - - // empty schemas - public object extensions; - public object extras; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - f.KeyValue(() => input); - if (!string.IsNullOrEmpty(interpolation)) - { - f.KeyValue(() => interpolation); - } - f.KeyValue(() => output); - } - } - - [Serializable] - public class glTFAnimation : JsonSerializableBase - { - public string name = ""; - - [JsonSchema(Required = true, MinItems = 1)] - public List<glTFAnimationChannel> channels = new List<glTFAnimationChannel>(); - - [JsonSchema(Required = true, MinItems = 1)] - public List<glTFAnimationSampler> samplers = new List<glTFAnimationSampler>(); - - // empty schemas - public object extensions; - public object extras; - - protected override void SerializeMembers(GLTFJsonFormatter f) - { - if (!string.IsNullOrEmpty(name)) - { - f.KeyValue(() => name); - } - - f.Key("channels"); f.GLTFValue(channels); - f.Key("samplers"); f.GLTFValue(samplers); - } - - [Obsolete] - public int AddChannelAndGetSampler(int nodeIndex, glTFAnimationTarget.AnimationPropertys property) - { - return AddChannelAndGetSampler(nodeIndex, glTFAnimationTarget.AnimationPropertysToAnimationProperties(property)); - } - - public int AddChannelAndGetSampler(int nodeIndex, glTFAnimationTarget.AnimationProperties property) - { - // find channel - var channel = channels.FirstOrDefault(x => x.target.node == nodeIndex && x.target.path == glTFAnimationTarget.GetPathName(property)); - if (channel != null) - { - return channel.sampler; - } - - // not found. create new - var samplerIndex = samplers.Count; - var sampler = new glTFAnimationSampler(); - samplers.Add(sampler); - - channel = new glTFAnimationChannel - { - sampler = samplerIndex, - target = new glTFAnimationTarget - { - node = nodeIndex, - path = glTFAnimationTarget.GetPathName(property), - }, - }; - channels.Add(channel); - - return samplerIndex; - } - } -} |