[英]Unity get collision coordinate with hidden part of a plane
我在飞机上有一个球体可以粘在我的鼠标上。 我想把那个球体放在指针的 position 上,指针会碰到平面。 但是飞机被球挡住了。 它可以工作,但是球的运动很吵。 我想忽略除碰撞飞机之外的一切。 谁能帮忙?
这就是我实际所做的:
if (Ball!= null) {
RaycastHit raycastHit;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out raycastHit, 100f))
{
if (raycastHit.transform != null)
{
//Our custom method.
var x = raycastHit.point.x;
var z = raycastHit.point.z;
Ball.pos().get_x().update_value(x);
Ball.pos().get_z().update_value(z);
}
}
}
您可以使用图层和图层蒙版来做到这一点。 创建一个新层并将其命名为 MyHiddenLayer 并将您的 object 分配给它。 然后做:
// Define output
RaycastHit raycastHit;
// Define Ray
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
// Define Layer
int layerMask = 1 << LayerMask.NameToLayer("MyHiddenLayer");
if (Physics.Raycast(ray, out raycastHit, 100f, layerMask))
{
...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.