示例#1
0
        void SwapTemp()
        {
            var tmp = _tmpdata0;

            _tmpdata0 = _tmpdata1;
            _tmpdata1 = tmp;
        }
示例#2
0
 public void Clone(Skelton src)
 {
     time = src.time;
     for (var i = 0; i < bones.Length; i++)
     {
         bones [i] = src.bones [i];
     }
 }
示例#3
0
 public void Interpolate(Skelton d0, Skelton d1, float t)
 {
     time = Mathf.Lerp(d0.time, d1.time, t);
     for (var i = 0; i < bones.Length; i++)
     {
         bones [i].Interpolate(d0.bones [i], d1.bones [i], t);
     }
 }
示例#4
0
 void InitData(Skelton sk)
 {
     _syncPositionList.Clear();
     _syncRotationList.Clear();
     _syncScaleList.Clear();
     for (var i = 0; i < sk.bones.Length; i++)
     {
         AddBoneOnData(sk.bones [i]);
     }
 }
示例#5
0
        Skelton CreateSkeltonFromData(float time)
        {
            var boneCount = _syncPositionList.Count;
            var bones     = new Bone[boneCount];

            for (var i = 0; i < boneCount; i++)
            {
                bones [i] = CreateBoneFromDataAt(i);
            }
            var sk = new Skelton()
            {
                time  = time,
                bones = bones
            };

            return(sk);
        }
示例#6
0
        void Awake()
        {
            _animator         = GetComponent <Animator> ();
            _animator.enabled = false;

            _nextUpdateTime = Time;
            _bones          = BoneList(transform);

            _syncPositionList = new SyncVector3List();
            _syncRotationList = new SyncQuaternionList();
            _syncScaleList    = new SyncVector3List();
            _datastream       = new List <Skelton> ();
            _tmpdata0         = new Skelton()
            {
                bones = new Bone[_bones.Length]
            };
            _tmpdata1 = new Skelton()
            {
                bones = new Bone[_bones.Length]
            };
        }