Unity:什么是 Unity 测量?
Unity: What is Unity Measurements?
什么是统一坐标测量? (厘米、米、公里)
如何在其中落实实实在在的措施?
我想在 Unity 中实施一个真正的措施。怎么做?
public Vector2 GetAsMeters (Vector2 vec) {
Vector2 meters = new Vector2 (0, 0);
while (vec.x > 1000) {
vec.x -= 1000;
meters.x++;
}
meters.x += vec.x;
while (vec.y > 1000) {
vec.y -= 1000;
meters.y++;
}
meters.y += vec.y;
return meters;
}
编辑:如何实现像"Left 4 Dead"这样的测量? (这游戏地图超大,真公里那么长)
在 Unity 中,由开发人员决定单位的含义。开发人员坚持 1 个单位就是 1 米是很常见的。
如果这样做,您可以通过简单地检索 Vector2 的大小来计算 Vector2 的长度(以米为单位)。
float distanceInMeters = myVector2.magnitude
通过坚持 1 单位为 1 米,您还可以像这样测量两个位置之间的距离:
float distanceInMeters = Vector2.Distance(positionA, positionB)
如果你想要 1:1 像素测量,请不要忘记将精灵的 pixelperunit 更改为 1,这样你在游戏中的矢量测量对精灵像素大小更准确
Unity 度量默认以米为单位。如果你想改变这些单位,你只需要 make a converter class.
确保从 Maya、3Dmax 或您正在使用的任何 3D 程序导入米,因为默认情况下它们的测量单位为 cm。
什么是统一坐标测量? (厘米、米、公里)
如何在其中落实实实在在的措施?
我想在 Unity 中实施一个真正的措施。怎么做?
public Vector2 GetAsMeters (Vector2 vec) {
Vector2 meters = new Vector2 (0, 0);
while (vec.x > 1000) {
vec.x -= 1000;
meters.x++;
}
meters.x += vec.x;
while (vec.y > 1000) {
vec.y -= 1000;
meters.y++;
}
meters.y += vec.y;
return meters;
}
编辑:如何实现像"Left 4 Dead"这样的测量? (这游戏地图超大,真公里那么长)
在 Unity 中,由开发人员决定单位的含义。开发人员坚持 1 个单位就是 1 米是很常见的。
如果这样做,您可以通过简单地检索 Vector2 的大小来计算 Vector2 的长度(以米为单位)。
float distanceInMeters = myVector2.magnitude
通过坚持 1 单位为 1 米,您还可以像这样测量两个位置之间的距离:
float distanceInMeters = Vector2.Distance(positionA, positionB)
如果你想要 1:1 像素测量,请不要忘记将精灵的 pixelperunit 更改为 1,这样你在游戏中的矢量测量对精灵像素大小更准确
Unity 度量默认以米为单位。如果你想改变这些单位,你只需要 make a converter class.
确保从 Maya、3Dmax 或您正在使用的任何 3D 程序导入米,因为默认情况下它们的测量单位为 cm。