コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】Job System で二次元配列が使えるようになる「Native Collections」紹介

はじめに

「Native Collections」を Unity プロジェクトに導入することで
Job System で二次元配列が使えるようになります

使用例

using JacksonDunstan.NativeCollections;
using Unity.Collections;
using UnityEngine;

public class Example : MonoBehaviour
{
    private void Start()
    {
        var array = new NativeArray2D<int>( 2, 2, Allocator.Persistent );

        array[ 0, 0 ] = 1;
        array[ 1, 0 ] = 2;
        array[ 0, 1 ] = 3;
        array[ 1, 1 ] = 4;

        Debug.Log( array[ 0, 0 ] );
        Debug.Log( array[ 1, 0 ] );
        Debug.Log( array[ 0, 1 ] );
        Debug.Log( array[ 1, 1 ] );

        foreach ( var x in array )
        {
            Debug.Log( x );
        }

        var managedArray = new int[ 2, 2 ];
        array.CopyTo( managedArray );
        array.CopyFrom( managedArray );
        
        array.Dispose();
    }
}

備考

ジャグ配列には対応していません