public override void LoadDiffFrame(string binarySave)
    {
        byte[]              byteArray = Convert.FromBase64String(binarySave);
        MemoryStream        mf        = new MemoryStream(byteArray);
        BinaryFormatter     bf        = new BinaryFormatter();
        SphereDiffFrameData data      = (SphereDiffFrameData)bf.Deserialize(mf);

        transform.position = VectorArrayConverter.arrayToVector3(data.position);
        transform.rotation = Quaternion.Euler(VectorArrayConverter.arrayToVector3(data.rotation));
    }
    public override string MakeDiffFrame()
    {
        BinaryFormatter bf = new BinaryFormatter();
        MemoryStream    ms = new MemoryStream();

        SphereDiffFrameData data = new SphereDiffFrameData();

        data.position = VectorArrayConverter.vector3ToArray(transform.position);
        data.rotation = VectorArrayConverter.vector3ToArray(transform.rotation.eulerAngles);

        bf.Serialize(ms, data);

        return(Convert.ToBase64String(ms.ToArray()));
    }