我是 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();
}
}