我是初学者程序员。我想创建一个Objectspawner类似中间件的多线程中的Process Pathfinding脚本然后将其传递回Gameobject来执行。基本上每个对象都要求寻路,计算过程将由不同的线程处理。我应该学会如何创造这个?
答案 0 :(得分:1)
这是可能的。你可以在另一个Thread中使用Unity的结构和数学API,如Vector3
,Vector2
和Mathf
。
获取Object的位置,将其存储在Vector3
或Vector2
中,然后启动一个新线程并将Vector
传递给它。您可以在新线程中执行所有寻路工作。
每当您需要更新Object的位置或使用新Thread
中的修改后的Vector时,请使用我的其他post中的UnityThread.executeInUpdate
函数执行此操作。此函数允许您从另一个Thread调用Unity API。如果你不想使用我的,你就可以制作你的,或者你可以从那篇文章中了解它是如何制作的,然后自己制作。
答案 1 :(得分:0)
虽然可以在Unity中启动单独的线程,但它自己的API不支持来自其主线程的任何其他线程的调用,在该线程中它执行脚本。实例化对象是你不想在主线程中做的最后一件事。为什么你认为你需要线程?