Я думаю, что OnMouseDown будет проверять каждый кадр, если есть ввод с помощью мыши, это как обновление, поэтому вы должны щекотать касание в обновлении, и с касанием у вас будет больше возможностей, таких как Фаза касания, чтобы определить, начинается ли касание, поднимается или перемещается и т. Д. ..
вам нужно проверить
if(input.touchCount > 0)
void Update() {
if (Input.touchCount > 0){
print("exist a touch");
if(Input.GetTouch(0).phase == TouchPhase.Began){
print("Touch begans");
}
if(Input.GetTouch(0).phase == TouchPhase.Ended){
print("Touch Ended");
}
}
}
chCount > 0)& inside this you can cheek for touch Phase