This commit is contained in:
2026-05-30 09:16:35 +07:00
parent 2f87ce19a7
commit 1c0ee6efb7
4001 changed files with 3363438 additions and 1738 deletions

View File

@@ -0,0 +1,43 @@
using UnityEngine;
namespace Invector.vShooter
{
[RequireComponent(typeof(LineRenderer))]
public class vLaserSight : MonoBehaviour
{
public LayerMask layerMask;
public GameObject aimSprite;
public float aimSpriteOffset;
public float maxDistance;
Ray ray;
RaycastHit hit;
LineRenderer line;
void Start()
{
line = GetComponent<LineRenderer>();
ray = new Ray();
}
void LateUpdate()
{
ray.origin = transform.position;
ray.direction = transform.forward.normalized;
var laserLenght = Vector3.zero;
if (Physics.Raycast(ray, out hit, maxDistance, layerMask))
{
laserLenght.z = transform.InverseTransformPoint(hit.point).z - aimSpriteOffset;
line.SetPosition(1, laserLenght);
aimSprite.transform.rotation = Quaternion.LookRotation(hit.normal);
}
else
{
laserLenght.z = Vector3.Distance(transform.position, ray.GetPoint(maxDistance - aimSpriteOffset));
line.SetPosition(1, laserLenght);
aimSprite.transform.localEulerAngles = Vector3.zero;
}
aimSprite.transform.localPosition = laserLenght;
}
}
}