OnMouseDown() в Unity не работает
На попытки решить проблему я потратил несколько дней, и у меня уже опустились руки. Проблема видимо глобальная, т.к я перепробовал все, что советовали форумы, официальная документация Unity и чат GPT.
Проблема: у меня есть объект машинки в 3D проекте. Это префаб. Иерархию сможете найти на скринах ниже. Я прикрепил к ней Rigidbody, Box Collider, сам скрипт.
Логи кода - выводится только "Object has been created".
Прикрепляю код:
using UnityEngine;
public class CarController : MonoBehaviour
{
private Rigidbody _rb;
public byte carSpeed = 5;
private bool isClicked;
void Awake()
{
Debug.Log("Object has been created");
_rb = GetComponent<Rigidbody>();
}
void OnMouseDown()
{
Debug.Log("Mouse clicked!");
isClicked = true;
}
void FixedUpdate()
{
if(isClicked)
{
_rb.MovePosition(transform.position + carSpeed * Time.fixedDeltaTime * Vector3.left);
}
}
}
Прикрепляю основную сцену, с направлением камеры, самой машинкой, и с иерархией проекта слева:
Inspector объекта Car3
Inspector объекта Main Camera
Надеюсь на помощь ???
Ответы (1 шт):
Я все-таки решил проблему. Дело в том, что Unity по приколу решил полностью обновить систему ввода, а нормальную документацию, увы, не приготовил.
Проблема решена переключением на старую систему ввода, при помощи этого ответа на Stackoverflow.


