美文网首页
UnityUI遮挡3D物体射线

UnityUI遮挡3D物体射线

作者: 玄策丶 | 来源:发表于2018-08-11 16:01 被阅读0次

1.需要判断的地方

  //UI遮挡3D物体射线
   if (ZheDang.Instance.CheckGuiRaycastObjects())
   {
          return;
   }

2.独立脚本

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using System.Collections.Generic;
public class ZheDang : MonoBehaviour
{
    public static ZheDang Instance;
    //下面是用来UI事件和射线
    EventSystem eventSystem;
    GraphicRaycaster RaycastInCanvas;//Canvas上有这个组件
    void Awake()
    {
        Instance = this;
        RaycastInCanvas = this.gameObject.GetComponent<GraphicRaycaster>();//这个脚本要绑定到Canvas
    }
    void Update()
    {
        if (CheckGuiRaycastObjects()) return;//如果射线检测到UI上直接返回
    }
    public bool CheckGuiRaycastObjects()//测试UI射线
    {
        PointerEventData eventData = new PointerEventData(eventSystem);
        eventData.pressPosition = Input.mousePosition;
        eventData.position = Input.mousePosition;

        List<RaycastResult> list = new List<RaycastResult>();
        RaycastInCanvas.Raycast(eventData, list);

        //Debug.Log(list.Count);
        return list.Count > 0;
    }
}
//注意:GraphicRaycaster组件默认在canvas上就有的,所以将上面脚本绑定到Canvas上就OK。
//然后运行看到当点击按钮时3D场景不会受到影响了。

相关文章

  • UnityUI遮挡3D物体射线

    1.需要判断的地方 2.独立脚本

  • Unity射线检测3d,2D,正交透视。

    使用射线功能制作点击物体获取物体名字。可以做简单点击相应。 3D射线检测,Camera 在正交模式与透视模式皆可使...

  • Ambient Occlusion技术方案综述

    所谓的Ambient Occlusion(AO),指的是当光源到某个物体表面上某点的射线被其他物体所遮挡时,用于计...

  • 游戏遮挡剔除方案总结(转)

    游戏遮挡剔除方案总结 遮挡剔除是当一个物体被其他物体遮挡住而不在摄像机的可视范围内时,不对其进行渲染。在3D图形计...

  • UI和3D物体之间的渲染关系

    就算UI遮挡了全部界面,后面的3D物体一样会被渲染。

  • UI遮挡3D物体响应

    1.UI响应,和它重叠的3D物体不响应 2.UI响应,3D物体也响应 3.鼠标点击左键和右键,如果点击了UI,不希...

  • Unity 射线

    1,摄像机射线: 2, 物体发射射线: 3, 点击发出射线:

  • 射线

    射线:射线是3D世界中一个点向一个方向发射的一条无终点的线,在发射轨迹中与其他物体发生碰撞时,它将停止发射 。 用...

  • 【前端】03 - HTML 和 CSS3 3D

    1. 认识 3D 转换 1.1 3D 的特点 近大远小; 物体和面遮挡不可见; 1.2 三维坐标系 x 轴:水平向...

  • 11. 3D转换&透视

    1. 3D透视 「3D的特点」近大远小,物体和面遮挡不可见 「三维坐标系」 x 轴:水平向右 -- 注意:x 轴...

网友评论

      本文标题:UnityUI遮挡3D物体射线

      本文链接:https://www.haomeiwen.com/subject/szydbftx.html