غیرفعال کردن اشیای دورتر از فاصله خاص نسبت به پلیر در یونیتی برای بهینه سازی بازی
شنبه, ۶ شهریور ۱۳۹۵، ۱۱:۲۱ ق.ظ
gameover.blog.ir
با این اسکریپت وقتی اشیای با تگ خاص که توی کد نسبت میدید و بیرون هم باید بهشون تگ توی کد رو بدید،بررس می شن و اگه پلیر فاصلش ازشون تا حد دلخواه تعریف شده توی اسکریپت بیشتر بشه غیر فعال میشن. و اگه پلیر فاصلش از اون حد کمتر شد فعال میشن.
این تکنیک و این کد یکی از بهترین کدهایی هست که بازی سازان حرفه ای ازش بهره می گیرند و خیلی کاربردی هست.
سازنده:گیم اور
//disableFarGameObjects.cs //gameover.blog.ir
//Author:Sajjad3011
using UnityEngine; using System.Collections; public class disableFarGameObjects : MonoBehaviour { public float faseleDekhah = 10; void Update () { GameObject[] allObjects =Resources.FindObjectsOfTypeAll<GameObject>(); Debug.Log(allObjects.Length); foreach(GameObject g in allObjects) { if (g.tag == "tagDelkhah") { float distance = Vector3.Distance(g.transform.position , this. transform. position); if(distance <faseleDekhah) { g.SetActive(true); } else { g.SetActive(false); } } } } }
۹۵/۰۶/۰۶