Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用二进制序列化程序序列化Vector3?_C#_Unity3d - Fatal编程技术网

C# 如何使用二进制序列化程序序列化Vector3?

C# 如何使用二进制序列化程序序列化Vector3?,c#,unity3d,C#,Unity3d,我试图序列化一个由向量组成的类。因此,在尝试修复此类问题时会出现一些错误。所以,我需要帮助如何序列化向量。我必须将其转换为浮点并序列化,然后反序列化该浮点并在转换时检索。如果是,怎么做 BinaryFormatter bf = new BinaryFormatter(); BallData ball = new BallData(); ball.velocity = usergivenvelocity; ball.initialpositi

我试图序列化一个由向量组成的类。因此,在尝试修复此类问题时会出现一些错误。所以,我需要帮助如何序列化向量。我必须将其转换为浮点并序列化,然后反序列化该浮点并在转换时检索。如果是,怎么做

       BinaryFormatter bf = new BinaryFormatter();
       BallData ball = new BallData();
       ball.velocity = usergivenvelocity;
       ball.initialposition = position;
       FileStream file = File.Create(Application.persistentdatapath + "/Level_" + levelnumber.ToString() + ".dat");
       bf.Serialize(file,ball);

Vector3似乎无法序列化。至少在过去的10年里是这样,也许它会随着2017年的到来而改变

要序列化矢量2/3/4或四元数,首先应创建其新版本:

[System.Serializable]
public class Vector3Ser
{
    public float x,y,z;
}
在Ball类中使用此版本,而不是Vector3


位于:

的完整类实现似乎Vector3不可序列化(以及四元数)。将其包装在您自己的V3类/结构中,或者逐个序列化每个浮点。@Everts我不知道如何序列化