[英]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.