/
Veteread
/
Packer
Обзор
Документация
Войти
/
Veteread
/
Packer
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
ScreenBoundsChecker.cs
50 строк
1 KB
Veteread
upload files
04 май 2025, 10:49
04 май 2025, 10:49
a5dcff3
Код
Авторство
О чём код?
using UnityEngine; [RequireComponent(typeof(Renderer))] public class ScreenBoundsChecker : MonoBehaviour { [SerializeField] private float destroyDelay = 1f; [SerializeField] private float checkInterval = 0.5f; private Camera mainCamera; private Renderer objectRenderer; private float timer; private bool isVisible; private void Start() { mainCamera = Camera.main; objectRenderer = GetComponent<Renderer>(); } private void Update() { timer += Time.deltaTime; if (timer >= checkInterval) { timer = 0f; CheckVisibility(); } } private void CheckVisibility() { if (objectRenderer == null || mainCamera == null) return; isVisible = objectRenderer.isVisible; if (!isVisible) { // �������������� ��������, ������������� �� ������ �� ��������� ������ Vector3 viewportPos = mainCamera.WorldToViewportPoint(transform.position); bool isOutside = viewportPos.x < -0.1f || viewportPos.x > 1.1f || viewportPos.y < -0.1f || viewportPos.y > 1.1f; if (isOutside) { Destroy(gameObject, destroyDelay); } } } }