C# 统一-刚体移动位置减慢到达目标的速度

C# 统一-刚体移动位置减慢到达目标的速度,c#,unity3d,C#,Unity3d,我有个问题。我希望我的敌人跟随玩家,并试图全速击中它,但我无法做到这一点。当距离较远时,它似乎具有更快的速度值,当距离玩家较近时,它会减慢速度。 如何使它以相同的速度移动 使用系统集合; 使用System.Collections.Generic; 使用UnityEngine; 公共类多蒂:单一行为 { [SerializeField]转换播放器目标; 矢量3方向; 刚体2d rb; 浮动速度=2.2f; void Start() { rb=GetComponent(); } 无效更新() {

我有个问题。我希望我的敌人跟随玩家,并试图全速击中它,但我无法做到这一点。当距离较远时,它似乎具有更快的速度值,当距离玩家较近时,它会减慢速度。 如何使它以相同的速度移动

使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
公共类多蒂:单一行为
{
[SerializeField]转换播放器目标;
矢量3方向;
刚体2d rb;
浮动速度=2.2f;
void Start()
{
rb=GetComponent();
}
无效更新()
{
方向=播放目标位置-变换位置;
浮动角度=数学Atan2(方向y,方向x)*数学Rad2Deg;
rb.旋转=角度;
}
私有void FixedUpdate(){
rb.MovePosition(transform.position+direction.normalized*速度);
}
}

首先更改此行:

rb.MovePosition(transform.position + direction.normalized * speed);
为此:

rb.MovePosition(transform.position + direction.normalized * speed * Time.fixedDeltaTime);
它变慢的原因可能是因为目标“Z”位置不是“0”(与玩家“Z”位置相同)