public bool Parse(BinaryReader br, string id) { switch (id) { case "Num": int num = br.ReadInt32(); Keys = new MegaBezVector3Key[num]; Times = new float[num]; break; case "Keys": for (int i = 0; i < Keys.Length; i++) { Keys[i] = new MegaBezVector3Key(); Keys[i].val = MegaUtils.ReadP3(br); Keys[i].intan = MegaUtils.ReadP3(br); Keys[i].outtan = MegaUtils.ReadP3(br); Times[i] = br.ReadSingle(); } InitKeys(); break; } return(true); }
void MakeKey(MegaBezVector3Key key, Vector3 pco, Vector3 pleft, Vector3 pright, Vector3 co, Vector3 left, Vector3 right) { Vector3 f1 = pco * 100.0f; Vector3 f2 = pright * 100.0f; Vector3 f3 = left * 100.0f; Vector3 f4 = co * 100.0f; key.val = f1; key.coef3 = 3.0f * (f2 - f1); key.coef2 = 3.0f * (f1 - 2.0f * f2 + f3); key.coef1 = f4 - f1 + 3.0f * (f2 - f3); }
void MakeKey(MegaBezVector3Key key, Vector3 pco, Vector3 pleft, Vector3 pright, Vector3 co, Vector3 left, Vector3 right) { Vector3 f1 = pco * 100.0f; Vector3 f2 = pright * 100.0f; Vector3 f3 = left * 100.0f; Vector3 f4 = co * 100.0f; key.val = f1; key.coef3 = 3.0f * (f2 - f1); key.coef2 = 3.0f * (f1 - 2.0f * f2 + f3); key.coef1 = f4 - f1 + 3.0f * (f2 - f3); }
public bool Parse(BinaryReader br, string id) { switch ( id ) { case "Num": int num = br.ReadInt32(); Keys = new MegaBezVector3Key[num]; Times = new float[num]; break; case "Keys": for ( int i = 0; i < Keys.Length; i++ ) { Keys[i] = new MegaBezVector3Key(); Keys[i].val = MegaUtils.ReadP3(br); Keys[i].intan = MegaUtils.ReadP3(br); Keys[i].outtan = MegaUtils.ReadP3(br); Times[i] = br.ReadSingle(); } InitKeys(); break; } return true; }