繁体   English   中英

Unity VR 控制器 UI 交互

[英]Unity VR Controller UI Interaction

我目前处于精神崩溃的边缘。 我花了几个小时构建我自己的激光指示器,让它在所有东西上发射光线,并尝试让它与我的 UI 一起工作。 但不会。 至少不正确。

什么有效:Raycast 和画线。

我挣扎的地方:现在我有两个选择。 A) 没有网格渲染器的标准 UI 按钮和立方体。 这使按钮根据其按钮脚本淡出其动画。 但它不会解决按钮点击事件! 所以我在按钮上添加了一个事件触发器 - 这......确实会触发“指针输入”事件! 但不是它的“指针点击”事件:(

所以我想:我的点击一定是错误的! 对此进行测试:B) 向立方体添加了一个事件触发器,即按钮碰撞器。 将其设置为“指针单击”。 还有多田! 有用! BUUUUT 这会杀死按钮的动画! 为什么?

感谢您的任何想法! 如果您有好的提示,我也会考虑新的起点!

下一个问题是滑块。 关于如何使它们工作的任何提示?

谢谢你的帮助!!

干杯弗洛

编辑:当前代码:

        {//Record this data and tell the object that we are pointing at them (OnPointerEnter)
        eventData.pointerEnter = rayHit.transform.gameObject;
        ExecuteEvents.ExecuteHierarchy(eventData.pointerEnter, eventData, ExecuteEvents.pointerEnterHandler);


        //If trigger becomes state down ...
        if (SteamVR_Actions._default.GrabPinch.GetStateDown(handType) && eventData.pointerEnter != null)
        {
            //...tell the object that we have pressed it (OnPointerDown)
            eventData.pointerPressRaycast = eventData.pointerCurrentRaycast;
            eventData.pointerPress = ExecuteEvents.ExecuteHierarchy(eventData.pointerEnter, eventData, ExecuteEvents.pointerDownHandler);
        }
        //Otherwise, if we just released the primary input axis...
        else if (SteamVR_Actions._default.GrabPinch.GetStateUp(handType))
        {
            //...tell the object than we have stopped pressing it (OnPointerUp)
            if (eventData.pointerPress != null)
                ExecuteEvents.ExecuteHierarchy(eventData.pointerPress, eventData, ExecuteEvents.pointerUpHandler);

            //...finally, if we pressed and released the same object, then we have clicked it (OnPointerClick)
            if (eventData.pointerPress == eventData.pointerEnter)
                ExecuteEvents.ExecuteHierarchy(eventData.pointerEnter, eventData, ExecuteEvents.pointerClickHandler);

            eventData.pointerPress = null;
        }
    }

没有代码很难说,但我认为你是用你自己的覆盖指针点击事件? 这将解释为什么动画消失了。 您可以通过调用基类上的事件来解决它。 base.OnPointerClick()或类似的东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM