【发布时间】:2017-06-09 14:32:01
【问题描述】:
基本上,我试图让我的角色在相机所面对的方向上向前冲刺一段特定的距离。这是一个 fps,我能做到的最好的脸是在全局 X 轴上向前冲,这显然是错误的。
我有这个从更新函数调用的函数:
Debug.Log("We are dashing.");
if (!inputDash || !canControl)
dashing.lastButtonDownTime = -100;
if (inputDash && dashing.lastButtonDownTime < 0 && canControl)
dashing.lastButtonDownTime = Time.time;
if (dashing.enabled && canControl && (Time.time - dashing.lastButtonDownTime < 0.2))
{
dashing.dashing = true;
dashing.lastButtonDownTime = -100;
dashing.dashCounter ++;
dashing.dashDir = Camera.mainCamera.transform.position;
//velocity = Vector3.MoveTowards(dashing.dashDir, (dashing.dashDir + Vector3(dashing.dashDir.x + 2, 0, 0)), (2 * Time.deltaTime));
Debug.Log("We just dashed.");
}
return velocity;
我为 dashing.dashDir 尝试了许多不同的方法,但都没有奏效。我知道我基本上是想在相机的局部轴上冲刺?
我也试过这个:
dashing.dashDir = Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
velocity += dashing.dashDir * dashing.baseDistance;
任何帮助将不胜感激,因为这让我发疯了。
最后一点。我希望将玩家朝正面方向快速向前冲刺大约 3m,然后在冲刺完成时加速。抱歉,如果不清楚。
【问题讨论】:
标签: unity3d unityscript