質問: ### 前提・実現したいこと Unityでオブジェクトをクリックしたら、指定URLにジャンプしたいです。 クリックしたいオブジェクトのInspectorは以下に設定してあります。 クリックしたいオブジェクトはStairsです。 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/9b6a5cd4ed500da653a88021af8b2a2b.png) 実行したいスクリプト(C#)は以下です。 Tomato.csのなかのTouch()関数を実行させたいです。 ``` using System.Collections; using System.Collections.Generic; using UnityEngine; public class Tomato : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { } public void Touch(){ Application.OpenURL("指定URL"); } } ``` ### 発生している問題・エラーメッセージ オブジェクトをクリックしてもURLに飛びません。 ### 試したこと * Start()関数の中に、Application.OpenURL("指定URL"); を書くと、実行した瞬間にブラウザが起動し指定URLページに飛びます。 * Update()関数の中に、Application.OpenURL("指定URL"); を書くと、実行した後、オブジェクト以外でもどこを押しても、指定URLページに飛びます。 * Event Trigerのアクションを、Pointer Downなどいろいろ試しましたがダメでした。 ### 補足情報(FW/ツールのバージョンなど) Unityバージョンは、20192.21f1です。
回答: 以下参考URLを元に、3Dアプリ開発として回答させて頂きます。もし2Dの場合はご指摘ください。 オブジェクトをタッチしたことを判定する方法 スクリプトは問題ないように見えるので、以下の点をご確認ください。 **1、Hierarchyウィンドウ上に、"EventSystem"オブジェクトを作成しているか** もし作成していない場合、 Hierarchy上で右クリック] > [UI] > [Event System]で作成する。 **2、MainCameraに対して、"Physics Raycaster"コンポーネントを追加しているか** もし追加していない場合、MainCameraに対して"Physics Raycaster"コンポーネントを追加する。 **3、オブジェクトに対して、Colliderは付与されているか** 3Dオブジェクトの場合は(Cubeなど)、作成時点で付与されているので基本は問題ないですが、2Dの場合は別途追加する必要があるかもしれません。 **1番の指摘点の画像** ![EventSystem **2番の指摘点の画像** !Physics Raycaster