پیدا کردن نزدیک ترین گیم آبجکت نسبت به گیم آبجکت دیگر در یونیتی
gameover.blog.ir
به کمک این متود که به شما معرفی میکنم میتوانید نزدیک ترین گیم آبجکت را پیدا کنید
(متود بهینه سازی شده است)
public GameObject ClosestTarget(string Tag)
{
GameObject ClosestOBJ = null;
GameObject[] Objects = GameObject.FindGameObjectsWithTag(Tag);
foreach (GameObject obj in Objects)
{
if (ClosestOBJ == null)
{
ClosestOBJ = obj;
}
if (Vector3.Distance(transform.position, obj.transform.position) <= Vector3.Distance(transform.position, ClosestOBJ.transform.position))
{
ClosestOBJ = obj;
}
}
return ClosestOBJ;
}
برای استفاده از کد بالا کافیه اونو کپی کنید درون اسکریپت و یه GameObject رو تعریف کنید و بعدش اینو به گیم آبجکت بدید مثال :
GameObject x = ClosestTarget("Enemies");
در کد بالا گیم آبجکت x نزدیک ترین گیم آبجکتی است که تگ Enemies را دارد
سلام خسته نباشید من چطور می تونم این اسکریپت در یک وید دیگه فراخوانی کنم