Posted at

マウスでクリックしたオブジェクトの情報を取得する

More than 1 year has passed since last update.

画面上のキャラクターをマウスでクリックして、キャラクターが持つ会話テキストを表示したかったのでまずはマウスでクリックしたオブジェクトの情報を取得することに。


C#

using System.Collections;

using System.Collections.Generic;
using UnityEngine;

public class GetObject : MonoBehaviour {

public Camera camera_object; //カメラを取得
private RaycastHit hit; //レイキャストが当たったものを取得する入れ物

void Update () {
if (Input.GetMouseButtonDown(0)) //マウスがクリックされたら
{
Ray ray = camera_object.ScreenPointToRay(Input.mousePosition); //マウスのポジションを取得してRayに代入

if(Physics.Raycast(ray,out hit)) //マウスのポジションからRayを投げて何かに当たったらhitに入れる
{
string objectName = hit.collider.gameObject.name; //オブジェクト名を取得して変数に入れる
Debug.Log(objectName); //オブジェクト名をコンソールに表示
}
}
}
}


Unityのマニュアルを参照しながら作成。(参照元:カメラからの Ray)

Public Camera camera_objectにMain Cameraをアタッチして使用。

20180210_01.gif

できました。