Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 球在坡道上不平稳?_Unity3d - Fatal编程技术网

Unity3d 球在坡道上不平稳?

Unity3d 球在坡道上不平稳?,unity3d,Unity3d,当我想要一个球飞上斜坡时,它会进入“冲击”。这是一个GIF:。我不确定你是否能在GIF上看到它,但球在坡道上滚动不平稳。它在扁平的立方体上平稳地滚动。这和对撞机有关吗?以下是一个屏幕截图,其中包含有关对象的更多信息: 旁注:球的速度为0.18f 这是移动球的脚本: using UnityEngine; using System.Collections; public class MoveStraight : MonoBehaviour { public float MovementSpeed;

当我想要一个球飞上斜坡时,它会进入“冲击”。这是一个GIF:。我不确定你是否能在GIF上看到它,但球在坡道上滚动不平稳。它在扁平的立方体上平稳地滚动。这和对撞机有关吗?以下是一个屏幕截图,其中包含有关对象的更多信息:

旁注:球的速度为0.18f

这是移动球的脚本:

using UnityEngine;
using System.Collections;

public class MoveStraight : MonoBehaviour
{
public float MovementSpeed;

void Start()
{
    SceneManager.currentSpeed = 0.08f;
}

void Update () {
    MovementSpeed = SceneManager.currentSpeed;
    transform.position -= new Vector3(MovementSpeed, 0, 0);
}
}
我也有这两个脚本从一个教程复制,我打算删除他们,使一个像样的脚本

function Update (){

if(Input.GetKey("left"))

{



transform.position.z -= 0.06;

}
}


包括你的代码。如果看不到球是如何移动的,就很难知道什么是错误的。另一种想法是:可能这只是阴影渲染的问题,而球实际上是,平稳滚动?尝试将物理材质附加到球和/或零反弹的斜面碰撞器上。您只是通过
移动速度
在x轴上向后移动对象的位置,这是上坡的原因吗?让你来处理物理部分,好吗?此外,由于您在
Update()
中置换对象,这称为每帧,因此在60 FPS时,您将获得60个恒定量的置换(
MovementSpeed
),因此,当游戏以更快的FPS速率运行时,您移动得更快,而以较低的FPS速率运行时,移动得更慢。您必须与
Time.deltaTime
相乘才能使此FPS独立。另外,还有两个附加到该对象的脚本,您还没有向我们展示。请查看,使用附加到
游戏对象的
刚体
AddForce()
尝试其移动方法。如果你的相机开始疯狂旋转,请看同一教程中关于如何修复的“移动相机”章节。
function Update (){

if(Input.GetKey("right"))

{

transform.position.z += 0.06;

}
}