【问题标题】:Proper way to spawn a gameobject that grows in scale from 0 to 1生成规模从 0 到 1 的游戏对象的正确方法
【发布时间】:2019-06-01 22:31:40
【问题描述】:

我正在开发的游戏中的菜单系统有一个“弹出”动画,它在生成时从 0 级增长到 1 级。当玩家游戏结束时,菜单被实例化,然后触发“弹出”动画,导致菜单从屏幕中心弹出。

这在大多数情况下都可以正常工作。但是,有时菜单会在实例化后以全尺寸显示为单个帧。然后,动画被触发,导致它快速回到 0 比例并恢复到 1 比例。

我为此想出了一个解决方法,即将菜单预制件保存为 0 比例,因此当菜单被实例化时,它在动画开始之前已经处于 0 比例。 这样做的缺点是,当我在编辑器中处理菜单时,我必须返回并将菜单的比例设置为 1,这样我才能处理它,然后记得将其设置回 0当我完成时。

有没有办法解决这个问题?


如下所示,Game_Over_Open(“pop”)动画在第一帧将比例设置为 0。

这里是控制“pop”动画的动画师。实际上有 2 个不同的动画需要根据条件调用,所以我不能将此动画设置为进入状态。相反,进入状态是我标记为“空闲”的空状态。

我尝试在菜单脚本的Awake() 中将菜单的比例设置为 0,但这并没有解决问题。菜单仍以全尺寸显示。

【问题讨论】:

  • 缩放的代码在哪里?
  • @BenRubin 菜单预制件有一个Animator 组件,它在生成时处理缩放。
  • 在菜单的Awake() 中添加一些东西,一旦实例化就将其比例设置为零?
  • @BenRubin 我试了一下,但不幸的是行为是一样的。
  • 您确定没有将动画的第一帧设置为 1 吗?

标签: unity3d


【解决方案1】:

我通过将动画师的空“空闲”入口状态设置为在第一帧上将菜单的比例设置为 0 的动画来解决此问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多