首页 > 解决方案 > Godot中2D物理的测量单位(单位比例)?

问题描述

在 Unity/Box2D 中,我记得尊重 1 单位 = 1 米规则并将世界设置在合理的数值范围内以实现数值稳定性至关重要。例如,这个问题的引述

Box2D 是一个内部使用 MKS 单位系统的模拟框架。如果您想要一个可靠且可预测的模拟,您应该在这个单位系统内以合理的值表达您创建的模拟系统。你希望一个盒子表现得像一个盒子,一个岩石表现得像一个岩石,一个球表现得像一个球。

Godot的物理文档没有提到任何关于基本测量单位的内容。从论坛帖子来看,人们似乎使用 1 个单位 = 1 个像素。

我的问题是:

标签: game-physicsgodot

解决方案


虽然我找不到官方声明,但我们可以收集一些信息。您找到了一些论坛帖子,并且我们可以将文档中的一些提示拼凑在一起。

3D介绍提到:

Godot 对所有事物都使用公制。3D 物理和其他领域为此进行了调整,因此尝试使用不同的比例通常是一个坏主意(除非您知道自己在做什么)。

ARVRServer文档提到:

大多数 AR/VR 平台假设 1 个游戏世界单位 = 现实世界中的 1 米。

虽然大多数游戏可能不是 AR/VR,但在没有其他信息的情况下遵循这个比例似乎是个好主意。

那么给定 1unit=1meter 的 3D 比例尺,我们应该为 2D 做些什么呢?默认 3D 重力设置为9.8,默认 2D 重力设置为98(您可以在 下找到Project Settings > Physics > 2D)。鉴于此,我猜 10px = 1 米。


推荐阅读