【问题标题】:Unity canvas scaler hiding animations in high resolution displayUnity画布缩放器在高分辨率显示中隐藏动画
【发布时间】:2016-03-31 09:48:06
【问题描述】:

我实例化了以下游戏对象,其中包含一个“始终动画”模式的 Animator,动画持续 340 毫秒,然后我销毁游戏对象。

gameObject Inspector 属性:

我使用以下代码对其进行实例化:

instancia = (Instantiate(cardAnimation, new Vector3(0, 0, 0), Quaternion.identity) as GameObject).GetComponent<Image>();
instancia.rectTransform.SetParent(transform);
StartCoroutine(KillOnAnimationEnd());

这是协程:

private IEnumerator KillOnAnimationEnd()
{
    yield return new WaitForSeconds(0.34f);
    DestroyImmediate(instancia);
}

这是在 Unity (PC-Windows) 中模拟时动画的样子:

但是在 android 上,我打开箱子后等待 340 毫秒,没有任何反应,然后显示上面的信息,这是否与平台有关,或者是一些统一或代码相关的问题?

注意:我在另一个场景中还有另一个动画,它只是层次结构中已经实例化的游戏对象,始终处于动画状态,并且可以在 Android 上运行。

--编辑-- 所以我在一个几乎大约 1080x480 的模拟器中运行了该应用程序的最新版本,并且动画显示就像 PC 一样,也在 720p 智能手机上运行,​​我仍然遇到的唯一问题是我的 QuadHD 分辨率从 Galaxy S6 开始,除了动画,其他所有内容都显示,我什至尝试让动画在没有任何脚本的情况下运行,因此它循环运行,但它没有显示在 Galaxy 屏幕中。

鉴于有关该问题的消息,我认为这可能会稍微改变答案的观点,并可能帮助其他人在未来解决同样的问题。

【问题讨论】:

  • 你在 Supercell 工作吗?
  • 不哈哈,这其实是我做的一个胸部模拟器,只是为了好玩。
  • 您确定可以使用他们的图形吗?
  • 我不会向任何人收取任何费用,我会给他们所有的积分,这与 wikia 页面没有什么不同,两者都包含来自游戏的图像,其内容信息并且都是免​​费的,我不明白为什么允许使用 wikia,但不允许使用应用程序:x

标签: android unity3d


【解决方案1】:

好的,找出问题所在,它与在 2D 模式下使用 Unity3D 的动画中的“旋转”有关,将从 Unity 报告它,因此它已修复。

解决方案:仅使用缩放/位置为您的 UI 设置动画,如果使用旋转,它将不会显示在高分辨率显示器上。

【讨论】:

    【解决方案2】:

    我很确定您的 WaitForSeconds(0.34f) 无法正常工作,因为 Java 中没有诸如 yield 关键字之类的东西。我建议您使用 invoke 方法来调用销毁您的游戏对象的方法。

    【讨论】:

    • ahhhh,我真的希望这是原因,但只是尝试过,它在PC上工作,但Android仍然相同。
    • 您使用的是画布比例尺还是统一遥控器?可能只是和手机屏幕大小有关
    • Unity 5.0 的 Canvas Scale,我的手机是 Quad HD (Galaxy S6)
    猜你喜欢
    • 1970-01-01
    • 2015-07-08
    • 1970-01-01
    • 2012-04-02
    • 1970-01-01
    • 2017-11-30
    • 2014-10-03
    • 2015-10-20
    • 1970-01-01
    相关资源
    最近更新 更多