【发布时间】:2019-03-26 20:23:00
【问题描述】:
我正在开发一款 2D 自上而下的开放世界游戏,其中有一个可以通过键盘功能移动的角色。移动是由 Rigidbody.AddForce() 引起的。
问题是在不同的屏幕尺寸下移动速度是不一样的。
这是简单的代码:
void FixedUpdate()
{
if (Input.GetButton("Move"))
rigidbody.AddForce(transform.forward * speed);
}
角色的质量是一样的,漂浮的速度是一样的,但是,当我将游戏视图切换到全屏后,显然角色移动得更快了。 (这很奇怪,表明这不是性能问题。)
我已经尝试测试独立构建,那里一切都很好(但是在 android 构建中似乎有点慢。)但我需要在编辑器中有一个共同的速度,因为我必须设计取决于时间和时间的关卡取决于速度。
【问题讨论】:
-
这很好奇,因为在 Unity 中应该没有这样的东西。屏幕尺寸和物理无关。我建议你这样做:实时打印刚体速度的实际值,也许还有力,看看实际发生了什么。最快的方法可能是使用旧版 GUI:
void OnGUI(){ GUI.Label(new Rect(10, 10, 100, 20), rigidbody.velocity.ToString()); }
标签: unity3d game-physics physx