有人能说一下如何使这样的结构起作用吗?目前返回UnityExtension。 或者建议如何将非MonoBehaviour代码的一部分轻松地移动到单独的线程中。
UnityException:get_canAccess只能从主线程调用。在加载场景时,构造函数和字段初始化器将从加载线程执行。不要在构造函数或字段初始化器中使用此函数,而是将初始化代码移动到Awake或Start函数中。
private async void Awake()
{
Mesh protoMesh = gameObject.GetComponent<MeshFilter>().mesh;
SelfMesh = await InitMeshAsync(protoMesh);
}
protected async Task<CustomMesh> InitMeshAsync(Mesh protoMesh)
{
return await Task.Run(() => new CustomMesh(protoMesh.vertices, protoMesh.triangles));
}