コード例 #1
0
    void DisplayClipInfo()
    {
        MegaMorphAnimator mod = (MegaMorphAnimator)target;

        AnimationClip[] clips = AnimationUtility.GetAnimationClips(mod.GetComponent <Animation>());
        Debug.Log("Found " + clips.Length + " clips");

        for (int i = 0; i < clips.Length; i++)
        {
            AnimationClipCurveData[] curves = AnimationUtility.GetAllCurves(clips[i], true);

            Debug.Log("Clip[" + clips[i].name + "] has " + curves.Length + " curves");

            for (int c = 0; c < curves.Length; c++)
            {
                AnimationCurve acurve = curves[c].curve;

                for (int k = 0; k < acurve.keys.Length; k++)
                {
                    Debug.Log("Key[" + k + "] ");
                    Debug.Log("Time " + acurve.keys[k].time + " val " + acurve.keys[k].value);
                }
            }
        }
    }
コード例 #2
0
    void DisplayClipInfo()
    {
        MegaMorphAnimator mod = (MegaMorphAnimator)target;

#if UNITY_4_3 || UNITY_4_5 || UNITY_4_6 || UNITY_5_0 || UNITY_5_1 || UNITY_5
        AnimationClip[] clips = AnimationUtility.GetAnimationClips(mod.gameObject);             //animation);
#else
        AnimationClip[] clips = AnimationUtility.GetAnimationClips(mod.animation);
#endif
        Debug.Log("Found " + clips.Length + " clips");

        for (int i = 0; i < clips.Length; i++)
        {
            AnimationClipCurveData[] curves = AnimationUtility.GetAllCurves(clips[i], true);

            Debug.Log("Clip[" + clips[i].name + "] has " + curves.Length + " curves");

            for (int c = 0; c < curves.Length; c++)
            {
                AnimationCurve acurve = curves[c].curve;

                for (int k = 0; k < acurve.keys.Length; k++)
                {
                    Debug.Log("Key[" + k + "] ");
                    Debug.Log("Time " + acurve.keys[k].time + " val " + acurve.keys[k].value);
                }
            }
        }
    }
コード例 #3
0
    void Update()
    {
        if ( anim == null )
        {
            anim = GetComponent<MegaMorphAnimator>();
        }

        if ( anim )
        {
            if ( Input.GetKeyDown(KeyCode.Alpha1) )
            {
                anim.PlayClip(0);
            }

            if ( Input.GetKeyDown(KeyCode.Alpha2) )
            {
                anim.PlayClip(1);
            }

            if ( Input.GetKeyDown(KeyCode.Alpha3) )
            {
                anim.PlayClip(2);
            }

        }
    }
コード例 #4
0
    // TODO: Need none in the popup to clear a channel
    public override void OnInspectorGUI()
    {
        MegaMorphAnimator anim = (MegaMorphAnimator)target;

        string[] clips = anim.GetClipNames();
        anim.current = EditorGUILayout.Popup("Playing Clip", anim.current, clips);

        //anim.t = EditorGUILayout.FloatField("t", anim.t);
        //anim.at = EditorGUILayout.FloatField("at", anim.at);

        if (GUILayout.Button("Add Clip"))
        {
            anim.AddClip("Clip " + anim.clips.Count, 0.0f, 1.0f, MegaRepeatMode.Loop);
        }

        EditorGUILayout.BeginVertical();
        for (int i = 0; i < anim.clips.Count; i++)
        {
            EditorGUILayout.BeginHorizontal();

            //EditorGUILayout.TextArea("" + i + " - ");
            anim.clips[i].name  = EditorGUILayout.TextField(anim.clips[i].name);
            anim.clips[i].start = EditorGUILayout.FloatField(anim.clips[i].start, GUILayout.Width(40));
            anim.clips[i].end   = EditorGUILayout.FloatField(anim.clips[i].end, GUILayout.Width(40));
            anim.clips[i].loop  = (MegaRepeatMode)EditorGUILayout.EnumPopup(anim.clips[i].loop);

            if (GUILayout.Button("-"))
            {
                anim.clips.Remove(anim.clips[i]);
            }

            EditorGUILayout.EndHorizontal();
        }
    }
コード例 #5
0
ファイル: MegaTestAnimator.cs プロジェクト: sjb8100/CRAB
    void Update()
    {
        if (anim == null)
        {
            anim = GetComponent <MegaMorphAnimator>();
        }

        if (anim)
        {
            if (Input.GetKeyDown(KeyCode.Alpha1))
            {
                anim.PlayClip(0);
            }

            if (Input.GetKeyDown(KeyCode.Alpha2))
            {
                anim.PlayClip(1);
            }

            if (Input.GetKeyDown(KeyCode.Alpha3))
            {
                anim.PlayClip(2);
            }
        }
    }
コード例 #6
0
    // TODO: Need none in the popup to clear a channel
    public override void OnInspectorGUI()
    {
        MegaMorphAnimator anim = (MegaMorphAnimator)target;

        string[] clips = anim.GetClipNames();

        anim.useFrames = EditorGUILayout.BeginToggleGroup("Use Frames", anim.useFrames);
        anim.sourceFPS = EditorGUILayout.IntField("Source FPS", anim.sourceFPS);
        EditorGUILayout.EndToggleGroup();

        anim.MultipleMorphs = EditorGUILayout.Toggle("Multiple Morphs", anim.MultipleMorphs);
        anim.LinkedUpdate   = EditorGUILayout.Toggle("Linked Update", anim.LinkedUpdate);
        anim.PlayOnStart    = EditorGUILayout.Toggle("Play On Start", anim.PlayOnStart);
        //anim.current = EditorGUILayout.Popup("Playing Clip", anim.current, clips);

        int current = EditorGUILayout.Popup("Playing Clip", anim.current, clips);

        if (current != anim.current)
        {
            anim.PlayClip(current);
        }

        //anim.t = EditorGUILayout.FloatField("t", anim.t);
        //anim.at = EditorGUILayout.FloatField("at", anim.at);

        if (GUILayout.Button("Add Clip"))
        {
            anim.AddClip("Clip " + anim.clips.Count, 0.0f, 1.0f, MegaRepeatMode.Loop);
        }

        EditorGUILayout.BeginVertical();
        for (int i = 0; i < anim.clips.Count; i++)
        {
            EditorGUILayout.BeginHorizontal();

            //EditorGUILayout.TextArea("" + i + " - ");
            anim.clips[i].name = EditorGUILayout.TextField(anim.clips[i].name);

            if (anim.useFrames)
            {
                anim.clips[i].start = (float)EditorGUILayout.FloatField((float)(anim.clips[i].start * anim.sourceFPS), GUILayout.Width(40)) / (float)anim.sourceFPS;
                anim.clips[i].end   = (float)EditorGUILayout.FloatField((float)(anim.clips[i].end * anim.sourceFPS), GUILayout.Width(40)) / (float)anim.sourceFPS;
                anim.clips[i].loop  = (MegaRepeatMode)EditorGUILayout.EnumPopup(anim.clips[i].loop);
            }
            else
            {
                anim.clips[i].start = EditorGUILayout.FloatField(anim.clips[i].start, GUILayout.Width(40));
                anim.clips[i].end   = EditorGUILayout.FloatField(anim.clips[i].end, GUILayout.Width(40));
                anim.clips[i].loop  = (MegaRepeatMode)EditorGUILayout.EnumPopup(anim.clips[i].loop);
            }

            if (GUILayout.Button("-"))
            {
                anim.clips.Remove(anim.clips[i]);
            }

            EditorGUILayout.EndHorizontal();
        }

        //if ( GUILayout.Button("Debug") )
        //{
        //	DisplayClipInfo();
        //}
    }