ECSフレームワークドキュメント翻訳4 ComponentData
1094 ワード
以下のドキュメントは、ECSの公式サイトに掲載されています.
https://docs.unity3d.com/Packages/[email protected]/manual/ecs_entities.html
ComponentData
UnityのComponentData(標準ECS用語のコンポーネント)は、 entityのデータインスタンスの構造体.ComponentDataにメソッドを含めることはできません.古いUnityシステムによれば、これは古いComponentクラスに似ていますが、変数のみが含まれています.
ComponentDataに対応するインタフェースの名前はIComponentDataで、コードでインタフェースを実装してComponentDataを構築できます.
IComponentData
従来のUnityコンポーネント(MonoBehaviourを含む)は object-oriented (オブジェクト向け)のクラスで、動作のデータとメソッドが含まれます.IComponentDataは純粋なECSモードのコンポーネントであり、これはメソッドを定義せず、データのみを定義することを意味します.IComponentDataはクラスではなく構造体です.これは、デフォルトで値が割り当てられている場合、参照コピーではなく値によるコピーを使用することを意味します.通常、次のモードを使用してデータを変更できます.
IComponentData構造には、すべてのComponentDataが単純でゴミ収集器が追跡していないchunk memory(ブロックメモリ)に存在するため、管理対象オブジェクトへの参照は含まれません.
ファイルを参照できます. /Packages/com.unity.entities/Unity.Entities/IComponentData.cs.
https://docs.unity3d.com/Packages/[email protected]/manual/ecs_entities.html
ComponentData
UnityのComponentData(標準ECS用語のコンポーネント)は、 entityのデータインスタンスの構造体.ComponentDataにメソッドを含めることはできません.古いUnityシステムによれば、これは古いComponentクラスに似ていますが、変数のみが含まれています.
ComponentDataに対応するインタフェースの名前はIComponentDataで、コードでインタフェースを実装してComponentDataを構築できます.
IComponentData
従来のUnityコンポーネント(MonoBehaviourを含む)は object-oriented (オブジェクト向け)のクラスで、動作のデータとメソッドが含まれます.IComponentDataは純粋なECSモードのコンポーネントであり、これはメソッドを定義せず、データのみを定義することを意味します.IComponentDataはクラスではなく構造体です.これは、デフォルトで値が割り当てられている場合、参照コピーではなく値によるコピーを使用することを意味します.通常、次のモードを使用してデータを変更できます.
var transform = group.transform[index]; // Read
transform.heading = playerInput.move; // Modify
transform.position += deltaTime * playerInput.move * settings.playerMoveSpeed;
group.transform[index] = transform; // Write
IComponentData構造には、すべてのComponentDataが単純でゴミ収集器が追跡していないchunk memory(ブロックメモリ)に存在するため、管理対象オブジェクトへの参照は含まれません.
ファイルを参照できます. /Packages/com.unity.entities/Unity.Entities/IComponentData.cs.