对于2D侧面平台,我在这里做了一个小齿轮系统的描述:
我有一个附加到Player的脚本,它是Gear,引用了" Gear" GameObject将其用作我未来项目的父变换。
在装备中,我用这种方式装备武器:
public void Equip(Wearable w){
switch (w.type) {
case Wearable.Type.WEAPON:
GameObject weaponGO = Instantiate(w.gameObject);
weaponGO.transform.SetParent(root.transform);
Destroy (this.weapon.gameObject);
this.weapon = w.GetComponent<Weapon>();
break;
//I did a swicth because i'll do it for armor, pets etc afterwards
}
}
问题在于我还有付款人的动画师,攻击,移动等......
所以,当我改变我的武器时,它会产生0,0,0并且它根本不跟随动画,并且在我的播放器的动画中,我看到&#34;武器:位置(缺失) !)&#34;,所以我认为这来自动画参考......但是如何在我的剧本中改变它?
答案 0 :(得分:0)
问题似乎在于对象命名。因此,在实例化之后,您必须重命名新武器对象,以使其名称与您删除的名称完全相同。动画师中的参考应该在此之后自动更新。
请注意,层次结构中的位置也应该与具有Animator组件的对象相同。
另请注意,实例化对象应具有与Animator中相同的属性(组件)作为已删除的属性。