예제 #1
0
        private void button9_Click(object sender, EventArgs e)
        {
            if (selectedKeyFrame != -1)
            {
                if (Program.Viewer.CurrentModel != null)
                {
                    MaterialAnimationClip clip = Program.Viewer.CurrentModel.GetData().MaterialAnimationClip;

                    if (clip != null)
                    {
                        List <MaterialAnimationKeyFrame> kfs = clip.Keyframes;

                        float time = float.Parse(textBox4.Text);
                        kfs[selectedKeyFrame] = new MaterialAnimationKeyFrame(time, int.Parse(textBox5.Text));


                        for (int i = 0; i < kfs.Count; i++)
                        {
                            if (kfs[i].Time > time)
                            {
                                time = kfs[i].Time;
                            }
                        }
                        clip.SetDuration(time);
                    }
                    Program.Viewer.CurrentModel.PlayAnimation();
                }
                panel1.Invalidate();
            }
        }
예제 #2
0
        void SelectKeyFrame(int idx, MaterialAnimationKeyFrame kf)
        {
            selectedKeyFrame = idx;

            if (selectedKeyFrame != -1)
            {
                textBox4.Text = kf.Time.ToString();
                textBox5.Text = kf.MaterialIndex.ToString();
            }
            else
            {
                textBox4.Text = "";
                textBox5.Text = "";
            }
        }