public void Cleanup() { ab.Unload(true); originClip = null; ab = null; clip = null; }
public ResourceObject Parse(ByteBuffer bb) { UnityEngine.AnimationClip clip = new UnityEngine.AnimationClip(); Schema.AnimationClip _clip = Schema.AnimationClip.GetRootAsAnimationClip(bb); clip.frameRate = _clip.FrameRate; clip.wrapMode = (UnityEngine.WrapMode)_clip.WrapMode; clip.legacy = true; for (int i = 0; i < _clip.BindingsLength; i++) { Schema.CurveBinding bind = _clip.GetBindings(i); Schema.AnimationCurve _curve = bind.Curve; UnityEngine.AnimationCurve curve = new UnityEngine.AnimationCurve(); for (int j = 0; j < _curve.KeyFramesLength; j++) { Schema.KeyFrame _kf = _curve.GetKeyFrames(j); UnityEngine.Keyframe kf = new UnityEngine.Keyframe(_kf.Time, _kf.Value, _kf.InTangent, _kf.OutTangent); kf.tangentMode = _kf.TangentMode; curve.AddKey(kf); } curve.preWrapMode = (UnityEngine.WrapMode)_curve.PreWrapMode; curve.postWrapMode = (UnityEngine.WrapMode)_curve.PostWrapMode; var assembly = Assembly.Load("UnityEngine"); Type type = assembly.GetType(bind.Type); clip.SetCurve(bind.Path, type, bind.PropertyName, curve); } return(new ResourceObjectSingle(clip)); }
public void Init() { Context context = Context.Unknown; ByteBuffer bb = TestData.LoadResource("dm_knockdown.doub", out context); Assert.IsNotNull(bb); Assert.AreNotEqual(context, Context.Unknown); AnimationClipUnserializer unserializer = UnserializerFactory.Instance.Create(context) as AnimationClipUnserializer; result = unserializer.Parse(bb) as ResourceObjectSingle; clip = Schema.AnimationClip.GetRootAsAnimationClip(bb); }
public void Init() { ab = TestData.LoadBundle("animationcliptest.bundle"); GameObject go = TestData.LoadFirstAsset <GameObject>(ab); Assert.IsNotNull(go); Animation animation = go.GetComponentInChildren <Animation>(); originClip = animation.clip; Assert.IsNotNull(originClip); ByteBuffer result = AnimationClipSaver.Save(originClip); clip = Schema.AnimationClip.GetRootAsAnimationClip(result); }
public void Cleanup() { result.Dispose(); result = null; clip = null; }