如何让守门员在Unity 3D中追随足球

时间:2018-04-12 04:56:42

标签: c# unity3d artificial-intelligence game-engine design-decisions

我是Unity3D游戏开发的新手。我在Unity3D中创建一个点球大战游戏,我正在使用C#编写脚本。我已经创造了所有的基本功能,如踢球,添加球员的3D物体,现在我正在制作守门员动画来阻挡足球。我使用mixamo应用了守门员动画。但我不知道什么是让守门员在适当的时刻向足球方向潜水的最佳方法。

目前我正在检查FixedUpdate()中足球和守门员之间的位移,如下面示例代码所示,在特定位移我根据位移在左或右方向开始守门员的动画。

void FixedUpdate() {
    canAnimateGoalkeeper();
}

void canAnimateGoalkeeper() {

    distanceBetweenBallAndPlayer = Vector3.Distance(football.transform.position, goalKeeper.transform.position );

    if(!isFootballAtInitialPosition && (distanceBetweenBallAndPlayer <= 10f)) {
            //if football is in the left side of the goalkeeper
            goalKeeperLeftDiveAnim();

            //else if football is in the right side of the goalkeeper
            goalKeeperRightDiveAnim();
    }
}

0 个答案:

没有答案