Files
ScienceLab.WeightAndMass/Assets/Scripts/RaycastDebugge.cs
2026-04-07 03:14:32 +03:00

40 lines
1.1 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class RaycastDebugge : MonoBehaviour
{
[SerializeField] private float distance = 200f;
[SerializeField] private LayerMask mask = ~0;
private Camera _camera;
void Awake()
{
_camera = GetComponent<Camera>();
if (_camera == null)
Debug.LogError("RaycastDebugger: logic error.");
}
void Update()
{
if (_camera == null) return;
Ray ray = _camera.ScreenPointToRay(Input.mousePosition);
Debug.DrawRay(ray.origin, ray.direction * 5f, Color.red);
if (Input.GetMouseButtonDown(0))
{
if (Physics.Raycast(ray, out RaycastHit hit, distance, mask, QueryTriggerInteraction.Collide))
{
Debug.Log($"CLICK HIT: {hit.collider.name} | tag={hit.collider.tag} | layer={LayerMask.LayerToName(hit.collider.gameObject.layer)} | dist={hit.distance:F2}");
}
else
{
Debug.Log("CLICK HIT: nothing");
}
}
}
}