public void DeserializeFromNetwork(ITransform target) { if (IsSRTMatrix) { var pos = SRTLocalPosition ?? new float[3]; var rot = SRTLocalRotation ?? new float[4]; var scale = SRTLocalScale ?? new float[3]; target.SetFromSRTMatrix( new Vector3(pos[0], pos[1], pos[2]), new Quaternion(rot[0], rot[1], rot[2], rot[3]), new Vector3(scale[0], scale[1], scale[2])); } else { var mat = CustomLocalMatrix ?? new float[16]; target.SetFromCustomMatrix(new Matrix( mat[0], mat[1], mat[2], mat[3], mat[4], mat[5], mat[6], mat[7], mat[8], mat[9], mat[10], mat[11], mat[12], mat[13], mat[14], mat[15])); } }