public void generateKeyframeFromBone(MDL0BoneNode b, int frame, bool allowOverwrite, bool generateOrigin) { if (!generateOrigin) { if (b.isOriginRot() && b.isOriginScale() && b.isOriginTrans()) { //Console.WriteLine(" " + b + " has all values equal to origin. Not generating keyframes."); return; } } //Console.WriteLine(_numFrames); if (frame < ((CHR0Node)_parent)._numFrames) { //Console.WriteLine(" ROTATION IS: " + b.Rotation); if (generateOrigin || !b.isOriginRot()) { //Console.WriteLine(" GENERATED"); SetKeyframeOnlyRot(frame, b.Rotation); } //Console.WriteLine(" SCALE IS: " + b.Scale); if (generateOrigin || !b.isOriginScale()) { //Console.WriteLine(" GENERATED"); SetKeyframeOnlyScale(frame, b.Scale); } //Console.WriteLine(" TRANSLATION IS: " + b.Translation); if (generateOrigin || !b.isOriginTrans()) { //Console.WriteLine(" GENERATED"); SetKeyframeOnlyTrans(frame, b.Translation); } } SignalPropertyChange(); UpdateProperties(); }
public CHR0EntryNode CreateEntryFromBone(MDL0BoneNode b, int framesToGenerate, bool generateOrigin) { CHR0EntryNode n = new CHR0EntryNode(); if (!generateOrigin) { if (b.isOriginRot() && b.isOriginScale() && b.isOriginTrans()) { //Console.WriteLine(" " + b + " has all values equal to origin. Not generating keyframes."); return(null); } } n._name = this.FindName(b.Name); AddChild(n); n.SetSize(_numFrames, Loop); //Console.WriteLine(_numFrames); for (int i = 0; i < framesToGenerate; ++i) { n.generateKeyframeFromBone(b, i, true, generateOrigin); } SignalPropertyChange(); return(n); }