unity EventTrigger与模型

最近要做个东西,里面需要用多点触摸的形式跟模型进行交互

首先,

  在MainCamera上添加 Physics Raycaster 

然后,

  在模型上添加EventTrigger

  在模型上添加脚本ShiYe

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;

public class ShiYe : MonoBehaviour {

    // Use this for initialization
    void Start () {

        AddTriggersListener(this.gameObject, EventTriggerType.PointerEnter, logoSelectFunc);
    }

    private void logoSelectFunc(BaseEventData arg0)
    {
        Debug.Log("aaa");
    }

    // Update is called once per frame
    void Update () {

    }
    private void AddTriggersListener(GameObject obj, EventTriggerType eventID, UnityAction<BaseEventData> action)
    {
        EventTrigger trigger = obj.GetComponent<EventTrigger>();
        if (trigger == null)
        {
            trigger = obj.AddComponent<EventTrigger>();
        }

        if (trigger.triggers.Count == 0)
        {
            trigger.triggers = new List<EventTrigger.Entry>();
        }

        UnityAction<BaseEventData> callback = new UnityAction<BaseEventData>(action);
        EventTrigger.Entry entry = new EventTrigger.Entry();
        entry.eventID = eventID;
        entry.callback.AddListener(callback);
        trigger.triggers.Add(entry);
    }
}

现在再拿鼠标从模型上划过去 就会看到输出aaa了

猜你喜欢

转载自www.cnblogs.com/lingLuoChengMi/p/10232496.html