C# 速度变化取决于单位距离?

C# 速度变化取决于单位距离?,c#,unity3d,game-physics,C#,Unity3d,Game Physics,我正在使用var heading=target.position-player.position计算一个矢量3,显示从我的敌人到我的玩家的航向,但显然,当距离不同时,速度不同。所以当它真的很近的时候,它会走得很慢,而当它离得很远的时候,它会走得很快。有没有办法让它一直保持相同的速度?我用的是rigidbody.velocitybtw 这是对玩家脚本的完整移动: using UnityEngine; using System.Collections; public class Movement

我正在使用
var heading=target.position-player.position计算一个矢量3,显示从我的敌人到我的玩家的航向,但显然,当距离不同时,速度不同。所以当它真的很近的时候,它会走得很慢,而当它离得很远的时候,它会走得很快。有没有办法让它一直保持相同的速度?我用的是
rigidbody.velocity
btw

这是对玩家脚本的完整移动:

using UnityEngine;
using System.Collections;

public class Movement : MonoBehaviour {
public Rigidbody rb;
public bool yaonah = true;
public Transform player;
public float speed = 100;

// Use this for initialization
void Start () {
    rb = GetComponent<Rigidbody>();

}

// Update is called once per frame
void Update () {
    if (yaonah) {
      StartCoroutine(Wait(2));
    }

}

void Move()
{
    Debug.Log(rb.velocity);
    //Vector3 dir = Random.insideUnitCircle * 5;
    var pdir = player.position - transform.position;
    rb.velocity = pdir; //Player Direction
    Debug.Log("HEY");
    Debug.Log(pdir + "PlayerPos");
}
IEnumerator Wait(float waittime)
{
    yaonah = false;
    Move();
    yield return new WaitForSeconds(waittime);
    yaonah = true;
}
}
使用UnityEngine;
使用系统集合;
公共阶级运动:单一行为{
公共刚体;
公共bool-yaonah=true;
公共转换播放器;
公共浮动速度=100;
//用于初始化
无效开始(){
rb=GetComponent();
}
//每帧调用一次更新
无效更新(){
如果(yaonah){
启动例行程序(等待(2));
}
}
无效移动()
{
调试日志(rb.velocity);
//Vector3 dir=Random.InsideuUnitCircle*5;
var pdir=player.position-transform.position;
rb.velocity=pdir;//播放器方向
Debug.Log(“嘿”);
Debug.Log(pdir+“PlayerPos”);
}
IEnumerator等待(浮动等待时间)
{
yaonah=假;
Move();
返回新的WaitForSeconds(waittime);
yaonah=正确;
}
}
所以不要使用

var pdir = player.position - transform.position;
rb.velocity = pdir; //Player Direction
尝试使用类似以下内容:

var pDir = player.position - transform.position;
pDir = (1f/pDir.magniude()) * pDir; //This Vector3 has now the Length 1
rb.velocity = pDir; 
//if you want to make him faster, 
//multiply this vector with some value of your choice

我希望,这会有所帮助

您是否有更多代码可供我们使用,以使这成为一个学习过程?