VRTK射线和UGUI进行交互

  1. 手柄上挂载VRTK_UIPointer脚本.VRTK射线和UGUI进行交互_第1张图片
  2. 需要进行交互的画布Canvas上挂载脚本VRTK_UICanvas脚本.VRTK射线和UGUI进行交互_第2张图片

VRTK_UIPointer脚本属性详解

  1. Activation Button :激活按钮。
  2. Activation Mode:激活模式,一直激活,按下激活,开关激活。
  3. Selection Button:选择按钮。
  4. ClickMethod(点击方法):点击按下,抬起。
  5. Attempt Click On Deactivate:尝试点击关闭。
  6. click after hover duration:点击鼠标悬停持续时间。

如果不想要VRTK自动给UI画布和ui组件添加碰撞

(这里会出现射线指向按钮射线变绿色,移开按钮后指向画布还是绿色,其实没什么卵用)

解决办法打开VRTK_UICanvas脚本如下图所示找到生成碰撞的脚本 注释掉
VRTK射线和UGUI进行交互_第3张图片
创建给需要进行交互的UI自动添加碰撞的脚本

 UnityEngine;

namespace CdkScripts
{
    public class UGUI_AutoBindBoxCollider : MonoBehaviour
    {
        private void Start()
        {
            //Vector2 size=GetComponent().sizeDelta;注意这里获取到的sizedata会受到锚点的影响
            var rect = GetComponent().rect;//这里这样获取 不会受到锚点变化
            var boxCollider = gameObject.AddComponent();
            boxCollider.size = new Vector3(rect.width, rect.height, 1);
            //boxCollider.isTrigger = true;
        }
    }
}

你可能感兴趣的:(Unity-VRTK插件篇)