40 lines
1.1 KiB
C#
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");
|
|
}
|
|
}
|
|
}
|
|
}
|