和JobSystem配合使用
导入命名空间
using Unity.Burst;
using Unity.Jobs;
using Unity.Collections;
注意里面用到的都是值类型。支持readonly静态数组
[BurstCompile]
struct ST : IJob
{
[ReadOnly]
public float a;
[ReadOnly]
public float b;
[WriteOnly]
public NativeArray<float> Out;
public void Execute()
{
Out[0] = (a-b)/(a + b) ;
}
}
简单的调用
NativeArray<float> result = new NativeArray<float>(1, Allocator.TempJob);
var st = new ST();
st.a = 3.0f;
st.b = 4.0f;
st.Out = result;
JobHandle job = st.Schedule();
job.Complete();
print(result[0]);
result.Dispose();
如果多个Job有数据的引用,自己看文档
https://docs.unity3d.com/Packages/com.unity.burst@1.4/manual/docs/AdvancedUsages.html