public void Record(Transform trans, PoseBoneMatrix last) { //r = trans.localRotation.eulerAngles; t = trans.localPosition; r = trans.localRotation; s = trans.localScale; tag = PoseBoneMatrix.changetag.All; if (last == null) { tag = PoseBoneMatrix.changetag.All; } else { tag = PoseBoneMatrix.changetag.NoChange; //float decr=Vector3.Angle(bonesinfo[i].r,last.bonesinfo[i].r); //Debug.LogWarning("decr="+decr); if (!QuaternionEqual(r, last.r)) { tag |= PoseBoneMatrix.changetag.Rotate; } if (t != last.t) { tag |= PoseBoneMatrix.changetag.Trans; } if (s != last.s) { tag |= PoseBoneMatrix.changetag.Scale; } //if(bonesinfo[i].tag!= PoseBoneMatrix.changetag.All) //{ // // Debug.LogWarning("fid=" + _fid + " bone=" + i); //} } }
public void Load(System.IO.Stream stream, PoseBoneMatrix last) { byte[] btag = new byte[2]; stream.Read(btag, 0, 2); this.tag = (PoseBoneMatrix.changetag)btag[0]; PoseBoneMatrix.changetag savetag = (PoseBoneMatrix.changetag)btag[1]; //Debug.LogWarning("savetag=" + this.tag + "|" + savetag); if ((savetag & PoseBoneMatrix.changetag.Rotate) > 0) { byte[] buf = new byte[16]; stream.Read(buf, 0, 16); r = BitHelper.ToQuaternion(buf, 0); } else { r = last.r; } if ((savetag & PoseBoneMatrix.changetag.Trans) > 0) { byte[] buf = new byte[12]; stream.Read(buf, 0, 12); t = BitHelper.ToVector3(buf, 0); } else { t = last.t; } if ((savetag & PoseBoneMatrix.changetag.Scale) > 0) { byte[] buf = new byte[12]; stream.Read(buf, 0, 12); s = BitHelper.ToVector3(buf, 0); } else { s = last.s; } }
public void Tag(PoseBoneMatrix last) { if (last == null) { tag = PoseBoneMatrix.changetag.All; } else { tag = PoseBoneMatrix.changetag.NoChange; if (r != last.r) { tag |= PoseBoneMatrix.changetag.Rotate; } if (t != last.t) { tag |= PoseBoneMatrix.changetag.Trans; } if (s != last.s) { tag |= PoseBoneMatrix.changetag.Scale; } } }
public void Record(Transform trans, PoseBoneMatrix last) { //r = trans.localRotation.eulerAngles; t = trans.localPosition; r = trans.localRotation; s = trans.localScale; tag = PoseBoneMatrix.changetag.All; if (last == null) tag = PoseBoneMatrix.changetag.All; else { tag = PoseBoneMatrix.changetag.NoChange; //float decr=Vector3.Angle(bonesinfo[i].r,last.bonesinfo[i].r); //Debug.LogWarning("decr="+decr); if (!QuaternionEqual(r, last.r)) { tag |= PoseBoneMatrix.changetag.Rotate; } if (t != last.t) { tag |= PoseBoneMatrix.changetag.Trans; } if (s != last.s) { tag |= PoseBoneMatrix.changetag.Scale; } //if(bonesinfo[i].tag!= PoseBoneMatrix.changetag.All) //{ // // Debug.LogWarning("fid=" + _fid + " bone=" + i); //} } }
public void Load(System.IO.Stream stream, PoseBoneMatrix last) { byte[] btag = new byte[2]; stream.Read(btag, 0, 2); this.tag = (PoseBoneMatrix.changetag)btag[0]; PoseBoneMatrix.changetag savetag = (PoseBoneMatrix.changetag)btag[1]; //Debug.LogWarning("savetag=" + this.tag + "|" + savetag); if ((savetag & PoseBoneMatrix.changetag.Rotate) > 0) { byte[] buf = new byte[16]; stream.Read(buf, 0, 16); r = BitHelper.ToQuaternion(buf, 0); } else { r = last.r; } if ((savetag & PoseBoneMatrix.changetag.Trans) > 0) { byte[] buf = new byte[12]; stream.Read(buf, 0, 12); t = BitHelper.ToVector3(buf, 0); } else { t = last.t; } if ((savetag & PoseBoneMatrix.changetag.Scale) > 0) { byte[] buf = new byte[12]; stream.Read(buf, 0, 12); s = BitHelper.ToVector3(buf, 0); } else { s = last.s; } }
public void Tag(PoseBoneMatrix last) { if (last == null) tag = PoseBoneMatrix.changetag.All; else { tag = PoseBoneMatrix.changetag.NoChange; if (r != last.r) { tag |= PoseBoneMatrix.changetag.Rotate; } if (t != last.t) { tag |= PoseBoneMatrix.changetag.Trans; } if (s != last.s) { tag |= PoseBoneMatrix.changetag.Scale; } } }