Exemplo n.º 1
0
        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);
                //}
            }
        }
Exemplo n.º 2
0
 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;
     }
 }
Exemplo n.º 3
0
 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;
         }
     }
 }
Exemplo n.º 4
0
        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);
                //}
            }
        }
Exemplo n.º 5
0
 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;
     }
 }
Exemplo n.º 6
0
 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;
         }
     }
 }