WorldSpace画布上的动画制作者

本文关键字:动画 动画制作 制作者 WorldSpace | 更新日期: 2024-09-20 11:29:26

好的,我把我的世界空间画布附加到播放器对象上。在我的脚本中,我有这样一个参考:

 GameObject myWorldCanvas;
Awake()
{
 myWorldCanvas= transform.FindChild("nameOfObject").gameObject;
}

然后,当满足正确的条件时,我只需像这样激活对象:

myWorldCanvas.SeActive(true);

这是完美的工作,直到我添加了一个动画师的对象。如果手动启用/禁用场景中的对象,动画效果会很好(它只是更改比例以使其具有弹出效果),但当脚本激活对象时,动画仍会播放并更改比例值,但不会渲染任何内容。在播放模式下,如果我手动启用/禁用动画效果。

有什么想法吗?如果你需要更多信息或屏幕,请告诉我。

编辑:画布上有一些小按钮,当我把鼠标放在上面时,一些东西似乎被刷新了,图像显示在屏幕上。

编辑:进一步的测试表明,手动禁用和启用Canvas组件也会显示图像,但如果画布和游戏对象是从脚本中启用的,则屏幕上不会显示任何内容。

编辑:我通过在动画的第一个关键点禁用画布组件,然后在Y比例设置为0的第二个关键点启用它来解决这个问题。这看起来更像是一次黑客攻击,我不喜欢。有人知道为什么会发生这种事吗?

WorldSpace画布上的动画制作者

我知道这个问题。这是因为Unity的动画窗口功能。

动画窗口允许您将对象的状态记录到动画中。可以通过按下动画窗口左上角的红色圆圈切换来关闭此选项。但如果你忘记了这样做,它会自动记录你的每一个动作,包括激活和停用画布。

这是一个很烦人的功能,但我不知道如何禁用。所以,只要记住在不使用时关闭动画窗口。

好的,所以问题是动画在xyz轴上从0缩放画布。更改动画以从0.1开始缩放解决了此问题。