Unityにおける浮動小数点数の保存方法


Unityでは、浮動小数点数の保存方法はさまざまあります。以下に、シンプルで簡単な方法といくつかのコード例を紹介します。

  1. PlayerPrefsを使用する方法: PlayerPrefsは、Unityの組み込みクラスで、データの保存や読み込みに使用することができます。浮動小数点数を保存するには、以下のようにPlayerPrefs.SetFloatメソッドを使用します。
float myFloat = 3.14f;
PlayerPrefs.SetFloat("MyFloatKey", myFloat);

このコードでは、"MyFloatKey"というキーでmyFloatの値を保存しています。

値を読み込むには、以下のようにPlayerPrefs.GetFloatメソッドを使用します。

float loadedFloat = PlayerPrefs.GetFloat("MyFloatKey");

loadedFloatには、保存された浮動小数点数の値が読み込まれます。

  1. BinaryFormatterを使用する方法: BinaryFormatterは、オブジェクトをバイト列にシリアライズ(直列化)するためのクラスです。浮動小数点数をバイト列として保存するには、以下のようにBinaryFormatterを使用します。
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
float myFloat = 3.14f;
MemoryStream stream = new MemoryStream();
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, myFloat);
byte[] byteData = stream.ToArray();
// byteDataを保存する処理

保存されたバイト列を読み込むには、以下のようにBinaryFormatterを使用します。

// byteDataを読み込む処理
MemoryStream stream = new MemoryStream(byteData);
float loadedFloat = (float)formatter.Deserialize(stream);

loadedFloatには、保存された浮動小数点数の値が読み込まれます。

  1. JSONを使用する方法: JSON形式は、データの保存や交換に広く使用されています。浮動小数点数をJSON形式で保存するには、以下のようにJsonUtilityを使用します。
using UnityEngine;
using System.IO;
[System.Serializable]
public class MyData
{
    public float myFloat;
}
MyData data = new MyData();
data.myFloat = 3.14f;
string jsonData = JsonUtility.ToJson(data);
// jsonDataを保存する処理

保存されたJSONデータを読み込むには、以下のようにJsonUtilityを使用します。

// jsonDataを読み込む処理
MyData loadedData = JsonUtility.FromJson<MyData>(jsonData);
float loadedFloat = loadedData.myFloat;

loadedFloatには、保存された浮動小数点数の値が読み込まれます。

これらはUnityにおける浮動小数点数の保存方法の一部です。詳細な解説や他の方法については、Unityの公式ドキュメントを参照してください。