我创造了一个动画师来使我的角色拥有武器。问题是动画师没有对武器进行动画化,而是将其他所有东西都动画化。我认为这是因为它是在产生的,而且还不存在,但是我尝试使用Invoke()和IEnumerable来运行稍后播放动画的方法,但这并没有改变任何事情。我很沮丧,不明白我做错了什么。
如果我更改了检查面板中的任何动画属性,动画就会自行修复(演示:https://imgur.com/a/BqZUI6N)。
我的动画师是什么样子:https://imgur.com/a/HZtBb0c (我已经验证了,动画正在播放)
我的对象层次结构:https://imgur.com/tvR4deZ (没有动画的对象是“棍子”,其他做动画的对象是"ref_right_hand_grip“和"ref_left_hand_grip")
设置动画的代码:
GameObject newHolding = null;
if (holding && holding.name != item.data.name)
{
DestroyImmediate(holding);
newHolding = Instantiate(item.data.holdingItem, holdingParent.transform, false);
newHolding.name = item.data.name;
holding = newHolding;
}
else if (!holding)
{
newHolding = Instantiate(item.data.holdingItem, holdingParent.transform, false);
newHolding.name = item.data.name;
holding = newHolding;
}
anim.Play("equip_" + item.data.id);编辑:我做了进一步的调查。这个问题可能与正在创建的对象有关。当我预先创建对象并在播放机选择对象时简单地启用/禁用它时,动画将正确播放。我应该说我正在使用镜像(网络)
发布于 2022-03-10 17:31:04
我解决这个问题的方法是将实例化的对象封装到另一个GameObject中,然后将封装器动画化。
https://stackoverflow.com/questions/71371978
复制相似问题