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