| 123456789101112131415161718192021222324252627282930313233 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class Mouse3D : MonoBehaviour {
- public static Mouse3D Instance { get; private set; }
- [SerializeField] private LayerMask mouseColliderLayerMask = new LayerMask();
- private void Awake() {
- Instance = this;
- }
- private void Update() {
- Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
- if (Physics.Raycast(ray, out RaycastHit raycastHit, 999f, mouseColliderLayerMask)) {
- transform.position = raycastHit.point;
- }
- }
- public static Vector3 GetMouseWorldPosition() => Instance.GetMouseWorldPosition_Instance();
- private Vector3 GetMouseWorldPosition_Instance() {
- Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
- if (Physics.Raycast(ray, out RaycastHit raycastHit, 999f, mouseColliderLayerMask)) {
- return raycastHit.point;
- } else {
- return Vector3.zero;
- }
- }
- }
|