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我不知道如何序列化