有没有办法在Unity中的“ OnPointerEnter”上获取“指针”?

问题描述

我正在Unity中使用VR,试图让我的控制器在输入菜单图像时振动。我现在有一个测试脚本,试图查看是否可以获取进入图像的指针,因为我需要知道我的raycast来自哪个控制器,以便可以振动该控制器。

当前,这是我的测试代码,并且我已经查看了“ PointerEventData”的文档,但没有找到从那里获取指针的方法。该测试脚本位于图像游戏对象上。

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

public class OnPointerEnterEvent : EventTrigger
{

    public override void OnPointerEnter(PointerEventData data)
    {
        Debug.Log("OnPointerEnter called.");
    }

}

这里我有什么想念的吗?或者这只是错误的处理方式?

解决方法

使用PointerEventData.pointerEnter,您将收到接收“ OnPointerEnter”事件的对象。该游戏对象应该是场景中的控制器。

,

由于VR没有屏幕表面,也没有一个指针,因此该区域可能很棘手。我建议研究一下统一的XR框架/示例,其中有一对新的悬停输入/退出回调:

XRBaseControllerInteractor.OnHoverEnter(XRBaseInteractable) XRBaseControllerInteractor.OnHoverExit(XRBaseInteractable)

(其中basecontrollerinteractor通常是XRRayInteractor)

在测试了我可以使用的几乎所有vr框架之后,我发现这是处理这些事件的最可靠方法

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...