橋本翼(ツバサムス)

メタバースプログラマー。
UnityとUnreal Engineを専門的に扱う。
メタバース系スタートアップ企業に所属。

詳細はこちら

【Unity】指(Touch)が「UI」に触れているかどうかの判定方法

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をコピーしました