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(); } }
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 = ""; } }