unity,C#,如下,为啥物体不动?还需要加上啥吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity,C#,如下,为啥物体不动?还需要加上啥吗?相关的知识,希望对你有一定的参考价值。

Ray ray;
RaycastHit hit;

ray = Camera.main.ScreenPointToRay(Input.mousePosition);

if (Physics.Raycast(ray, out hit) && hit.transform.tag == "cube(1)")

Debug.DrawLine(transform.position, hit.point);
hit.transform.GetComponent<Renderer>().material.color = Color.red;
obj.transform.position = new Vector3(hit.point.x, hit.point.y, obj.transform.position.z);

else
obj.GetComponent<Renderer>().material.color = Color.white;

参考技术A 这个需要鼠标点击到物体 射线检测到东西 如果点击的东西变红这串代码就没问题 点击 物体没变色你可以看下 有没有调用的 物体有没有collider

unity UGUI为啥在父物体绑定拖拽脚本,子物体也能拖拽?

我只想让实现点击父物体可以拖拽,这个时候子物体是把父物体遮住的,子物体也没有设置RaycastTarget=flase,按理说应该是不能透过子物体点击到父物体的,但是他却响应了父物体的拖拽事件,而且点在按钮上拖拽也是一样。请问这个问题该怎么解决呢?

如果你认真研究过UGUI的实现就会发现UGUI的事件过程:

    射线检测所有穿透的物体-》2.取出第一个被检测到的物体-》3. 如果该物体有处理事件的方法则直接处理 如果没有则将事件传递给其父节点然后重复该步骤

解决方案:把你的父物体和子物体切断父子关系,使共一个空物体做父级就可以了,注意两个物体的前后关系

参考技术A 问题描述的不是很明确;
你的父子物体分别是什么UI组件?

以上是关于unity,C#,如下,为啥物体不动?还需要加上啥吗?的主要内容,如果未能解决你的问题,请参考以下文章

unity urp 实现雨水在物体上流动的效果

为啥Unity Scene界面是这种暗黄色,物体是黑色?怎么解决?

[Unity3D]移动的 Static Collider 无法产生碰撞的问题

unity 如果用到ngui的scrollview控件需要特别注意啥

unity c#啥时候会调用构造函数

为啥unity代码克隆不了物体