コード例 #1
0
    void Get()
    {
        string allTransforms = "{";

        for (int c = 0; c < outputTarget.Length; ++c)
        {
            var           i    = outputTarget[c];
            TransformJson data = new TransformJson();
            data.data     = new TransformData();
            data.parentID = i.parent ? i.parent.GetInstanceID() : 0;
            float3     position   = i.position;
            Quaternion rotation   = i.rotation;
            float3     localScale = i.localScale;
            UnsafeUtility.MemCpy(data.data.position_x.Ptr(), position.Ptr(), sizeof(float3));
            UnsafeUtility.MemCpy(data.data.rotation_x.Ptr(), rotation.Ptr(), sizeof(Quaternion));
            UnsafeUtility.MemCpy(data.data.localscale_x.Ptr(), localScale.Ptr(), sizeof(float3));
            string s = JsonUtility.ToJson(data);
            allTransforms += '\"' + i.GetInstanceID().ToString() + "\":" + s;
            if (c != outputTarget.Length - 1)
            {
                allTransforms += ',';
            }
        }
        allTransforms += "}";
        using (FileStream fs = new FileStream(pathName, FileMode.Create, FileAccess.Write))
        {
            byte[] b = new byte[allTransforms.Length];
            for (int i = 0; i < allTransforms.Length; ++i)
            {
                b[i] = (byte)allTransforms[i];
            }
            fs.Write(b, 0, b.Length);
        }
    }