【Unity】指のUIへの接触判定の方法(Touch)

Unity

Touch がUI上かどうかを判定する方法

Unity エディターでの操作

Cnvas 上の全てのUIに任意のタグ(「UI」等)を付ける。

サンプルコード

private bool TouchingUI()
{
    Touch[] touches = Input.touches;

    for (int i = 0; i < touches.Length; i++)
    {
        PointerEventData pointData = new(EventSystem.current);

        pointData.position = touches[i].position;

        List<RaycastResult> rayResults = new();

        EventSystem.current.RaycastAll(pointData, rayResults);

        for (int j = 0; j < rayResults.Count; j++)
        {
            if (rayResults[j].gameObject.CompareTag("UI"))
                return true;
        }
    }

    return false;
}

その他

参考記事

お問い合わせ

    タイトルとURLをコピーしました