ゲームオブジェクトがクリックされたかを検出するにはOnMouseメソッドを使用します。
※オブジェクトにはColliderがアタッチされている必要があります。
以下のコードをクリックを検出したいオブジェクトにアタッチします。
using UnityEngine;
public class SampleScript : MonoBehaviour
{
public Material newMaterial; // Inspectorで割り当てる新しいマテリアル
private Renderer objectRenderer;
void Start()
{
// オブジェクトのRendererコンポーネントを取得
objectRenderer = GetComponent<Renderer>();
}
// マウスボタンが押された瞬間に呼び出される
void OnMouseDown()
{
if (newMaterial != null)
{
objectRenderer.material = newMaterial; // マテリアルを変更
}
}
}
Inspectorで新しいマテリアルをNew Materialに設定します。
シーンを実行して、オブジェクトをクリックするとマテリアルが変わります。
以下にOnMouseメソッドの種類を紹介します。
オブジェクトのCollider上でマウスボタンが押された瞬間に呼び出されます。
オブジェクトのCollider上でマウスボタンが離された瞬間に呼び出されます。
オブジェクトのCollider上でマウスボタンが押されている間、継続的に呼び出されます。
マウスカーソルがオブジェクトのColliderに入った瞬間に呼び出されます。
マウスカーソルがオブジェクトのCollider上に乗っている間、継続的に呼び出されます。
マウスカーソルがオブジェクトのColliderから出た瞬間に呼び出されます。
OnMouseDownが発生した同じオブジェクトのCollider上でマウスボタンが離された時に呼び出されます。