unity отслеживания нажатия пальцем конкретного обьекта

Здравствуйте вроде легкий вопрос но как отследить нажатие пальцем на телефоне конкретного обьекта по привязке чтобы в итоге выполнялась функция

'''

void Update() {        
    if (Input.touchCount > 0) {
        Touch touch = Input.GetTouch(0);
        if (touch.phase == TouchPhase.Began) {
            // что-то делать
        }
    }        
}

'''

это нажатие прото на экран а мне нужно конкретного обьекта


Ответы (1 шт):

Автор решения: SLiver

На каждый объект, на который будут нажимать, ставишь скрипт с функцией OnMouseDown():

https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnMouseDown.html

Объект должен иметь коллайдер такого размера и такой формы, которой будет область нажатия. Если не хочешь, чтобы об тот коллайдер врезались другие коллайдеры, то ставь галочку is Trigger у компонента коллайдера

Да, функция называется "OnMouseDown", но не переживай, нажатия тоже работают. Функция срабатывает один раз и только тогда, когда на объект нажимают.

Советую ознакомиться с другими функциями, похожими на OnMouseDown(): https://docs.unity3d.com/Manual/UIE-Mouse-Events.html

.

Пример кода:

public int clickNumber = 0;
private void OnMouseDown()
{
    clickNumber++
}
→ Ссылка