在 Raycast 定位的对象之后执行 Raycast

Do a Raycast after Raycast-positioned object

我有一个代码允许通过 Raycast 将一个对象定位到另一个对象上。显然,我正在使用 Mesh Collider,所以一切正常。

Ray ray = new Ray(transform.position, transform.forward);
RaycastHit hit;
    if (Physics.Raycast(ray, out hit))
    {
        if (hit.collider.gameObject.GetComponent<SelectableTrunk>())
        {
            RandomSTrunk.position = hit.point; 
        }
    }

我的问题是下一个。是否可以放置对象(就像我所做的那样),然后再进行一次光线投射以将另一个对象放置到已经放置的对象上?

当我尝试这样做时 - 第一个对象上的网格碰撞器破坏了一切,但没有任何效果。

为命中对象指定一个图层,然后按照下面的代码:

public LayerMask hitPlaceLayer;

void RayCast()
{
    // first ray cast
    if (Physics.Raycast(transform.position, transform.forward, out var hit, hitPlaceLayer.value))
    {
        RandomSTrunk.position = hit.point; 
    }
    
    // second raycast
    if (Physics.Raycast(transform.position, transform.forward, out hit, hitPlaceLayer.value))
    {
        otherRandomTrunk.position = hit.point; 
    }
}

为点击位置对象定义图层:

光线投射图层蒙版: