当前位置: 首页 > news >正文

深圳网站开发怎么样网站域名解析ip查询

深圳网站开发怎么样,网站域名解析ip查询,美国新干线国际快递查询,江门seo排名优化本来我是用 EventSystem.current.IsPointerOverGameObject()来检测是否点击在UI上的,但是发现,他对我的碰撞体也是返回ture,研究半天。。。。找不出问题,然后发现我的相机上挂载了PhysicsRaycaster,去掉之后就好了,至于…

本来我是用 EventSystem.current.IsPointerOverGameObject()来检测是否点击在UI上的,但是发现,他对我的碰撞体也是返回ture,研究半天。。。。找不出问题,然后发现我的相机上挂载了PhysicsRaycaster,去掉之后就好了,至于为什么相机上挂载PhysicsRaycaster,好像是我的别的同事做的一个物体拖拽,用了 IDragHandler, IBeginDragHandler, IEndDragHandler,来做对3D物体的拖拽。。。我真的是无语。。。他的代码是这样的。。。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using QFramework;public class ObjDrag : MonoBehaviour, IDragHandler, IBeginDragHandler, IEndDragHandler
{private Vector3 ObjVector3 = Vector3.zero;public string deskTag = "desk";private Collider collider;/// <summary>/// isDrag等于false无法交互/// </summary>public bool isDrag = false;void Start(){collider = GetComponent<Collider>();}public void OnBeginDrag(PointerEventData eventData){ObjVector3 = this.transform.position;if (isDrag&&Input.GetMouseButton(0)){StringEventSystem.Global.Send<string>("Begin", eventData.pointerDrag.name);Debug.Log(eventData.pointerDrag.name);}}public void OnEndDrag(PointerEventData eventData){if (isDrag){this.transform.position = ObjVector3;StringEventSystem.Global.Send<string>("EndDrag", eventData.pointerDrag.name);Debug.Log(eventData.pointerDrag.name);}}/// <summary>/// 物体可拖拽/// </summary>/// <param name="eventData"></param>public void OnDrag(PointerEventData eventData){if (isDrag && Input.GetMouseButton(0)){Vector3 screenpos = Camera.main.WorldToScreenPoint(transform.position);Vector3 mouseScreenPos = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenpos.z);this.transform.position = Camera.main.ScreenToWorldPoint(mouseScreenPos);Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);var hits = Physics.RaycastAll(ray);foreach (var item in hits){if (item.collider != null && item.collider.tag == deskTag){var dis0 = Vector3.Distance(Camera.main.transform.position, item.point);var offset = collider.bounds.size.magnitude / 2;var dis1 = Vector3.Distance(Camera.main.transform.position, transform.position) + offset;if (dis1 > dis0){var precent = 1 - (offset / dis0);transform.position = Camera.main.transform.position + (item.point - Camera.main.transform.position) * precent;//transform.position = item.point;}//transform.position = item.point;break;}}}}}

然后必须在摄像机上挂载Unity UGUI的PhysicsRaycaster (物理射线检测)

下面介绍一下:

PhysicsRaycaster

【Unity】 UGUI的PhysicsRaycaster (物理射线检测)组件的介绍及使用-CSDN博客

IDragHandler, IBeginDragHandler, IEndDragHandler

【Unity】IBeginDragHandler、IDragHandler 和 IEndDragHandler 介绍-CSDN博客

问题就是他们都是用于UI 元素的,然后他用在了3D物体上,导致对我的3D物体起作用,如果一定要在相机上挂载PhysicsRaycaster,又要EventSystem.current.IsPointerOverGameObject只对你的UI 元素起作用,那么可以在这个组件上,用EventMask:指定哪些层的UI元素可以接收事件。比如你的模型是层级是

那么你就可以在EventMask上不勾选Model

 

这样 EventSystem.current.IsPointerOverGameObject()就不会对你指定的模型碰撞体起作用了。。。

http://www.dt0577.cn/news/18627.html

相关文章:

  • 晋中市政府网站集约化建设拉新推广渠道
  • 做立体字的网站怎么看百度关键词的搜索量
  • 怎么做消费一卡通网站技术培训机构排名前十
  • 淘宝在哪个网站做推广网页开发流程
  • 建设h网站风险大吗技能培训机构排名前十
  • 怎么建立一个网站让百度搜到网上推
  • 郑州网站制作企业香港服务器
  • 向祖国建设者致敬网站seo英文全称
  • 开发商城网站建设seo诊断a5
  • 做动态网站用哪个程序软件比较简单?中国最新领导班子
  • 用 net做网站新闻源软文推广平台
  • 淮安网站建设找谁好荆门刚刚发布的
  • 怀宁县住房与城乡建设局网站论文收录网站排名
  • 国外b2b平台有哪些平台泰安seo
  • macbook做网站国内广告投放平台
  • 服装销售网站设计与制作拉新推广怎么做代理
  • 如何在电脑上建立网站渠道销售怎么找客户
  • 如何自己做网站怎样制作属于自己的网站
  • 肇庆网站建设方案优化网站关键词
  • 网站建设怎么做分录营销网站建设流程
  • 做动车哪个网站查五种常用的网站推广方法
  • 张店网站建设哪家好百度权重查询爱站网
  • wordpress当前菜单山西免费网站关键词优化排名
  • 做信息图的网站有哪些色盲测试图
  • 网站制作 视频搜索引擎排名机制
  • 海报设计培训seo怎么优化方法
  • 什么网站比谷歌还好百度客服中心人工电话
  • 兰山网站建设百度竞价推广自己可以做吗
  • 增城网站定制开发公司注册网站怎么注册
  • 网站建设kaicz视频号排名优化帝搜软件