1

我在一个角色上有一个 C# 脚本,其中包含对 Prefab 的引用。

在初始化期间,脚本运行:

weaponSlot = Instantiate(weaponPrefab) as Transform;

并设置

weaponSlot.parent = rightHand;

预制件包含武器的缩放信息,以及一些小的旋转和位置偏移,以使其看起来正确。

当游戏运行时,武器的实际位置与右手有很大的偏移,尽管旋转被保留了。缩放比例也有点偏,比预制尺寸小大约 40%。

任何有关为什么会发生这种情况的见解,甚至是有关检查内容的提示都将不胜感激!

4

1 回答 1

7

确保将任何模型包装在一个空的游戏对象中。根游戏对象下的大小、位置和方向需要正确。当您在父级下实例化游戏对象时,您需要确保将 localPosition 和 localEulerAngles 置零(设置它们 = Vector3.zero)。您还需要设置 localScale = Vector3.one。

在项目中应该是这样的:

预制件(零位置、零旋转、一比例)
->模型(正确缩放、旋转和位置)

然后你养它。

于 2013-11-03T21:11:38.347 回答