unity3d 求一条直线与另一条直线的交点

zqdjd7g9  于 2023-03-23  发布在  其他
关注(0)|答案(1)|浏览(222)

现在,我正在创建一个足球游戏,对于我的守门员,我希望他被定位在守门员区域,你试图瞄准/射门。在我的游戏中,当你射门时,球在我的摄像机的正前方。我的守门员只在球门区左右移动。我需要找到摄像机的正前方线和守门员的左右移动线相交的地方。我在下面画了一个小图来可视化。Visualization of situation我想得到intersect的位置,并将守门员的位置设置为该位置。
我试着在一些网站上看一些公式,但我不太擅长数学,甚至从哪里开始。图形和线条一般从来不是我的朋友。任何帮助感谢!

wkftcu5l

wkftcu5l1#

如果有人遇到这个线程,这是什么工作为我.球员是开始的位置,我添加了相机的前进x和z,直到z值的拦截等于守门员z.这个脚本是附加到守门员.
我不需要这样做,但你可能必须改变while循环,因为如果相交点小于gameObjects z,它就会崩溃。

public Vector3 GoalieFollowingAim()
{
            intersectPoint = new Vector3(player.transform.position.x, gameObject.transform.position.y, player.transform.position.z);
            while (intersectPoint.z > gameObject.transform.position.z)
            {
                intersectPoint.x += _camera1.transform.forward.x;
                intersectPoint.z += _camera1.transform.forward.z;
            }
        return intersectPoint;
}

相关问题