Unity使用图层蒙版暂时忽略光线投射

时间:2016-08-11 14:53:24

标签: c# unity3d updates layer raycasting

我已经阅读过有关此问题的其他问题,但没有一个问题可以解决我的问题。我正在制作一个游戏,如果它靠近玩家,AI会向后移动[如果光线在特定距离处射击,则光线投射会触发一个布尔],但是因为这是在更新功能中,所以光线会更新每一帧和然后当我不想要它时切换bool因为我已经启动了代码以使AI向后移动,请有人告诉我如何使用图层蒙版暂时停止光线投射时'避免'布尔是当AI向后移动时,会忽略光线投射,代码;

function restartVersion() {
    return $http.post('http://localhost/organization/restartVer', {
    }).then(function(response) {
        return response.data;
    });
}

1 个答案:

答案 0 :(得分:1)

我的建议是将if (Physics.Raycast...块放在代码底部的else块内。 (请注意,else if (avoid == false)是多余的,因为如果它不是avoid,那么<{1}} 可能

这意味着你只有当你还没有避免时才进行光线投射,这将完成你的要求并且也更有效率。

但是,值得注意的是,您的代码目前在true块中设置avoid = false - 因此您目前只能避免一次使用一帧。您可能会考虑找一种方法将if作为avoid保留更长的时间。