gpt4 book ai didi

android - Unity3d android 2d Sprite 放置

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:44:33 24 4
gpt4 key购买 nike

请看这张图
final game export这是从 photoshop 导出的游戏的最终外观
我用红色标记标记了 ui Sprite ,用蓝色标记标记了游戏 Sprite
我的问题是我应该如何在 unity3d 2d 游戏开发中正确使用这些 Sprite 。

这是我能想到的方法:

  1. 将 Canvas 中的红色 Sprite 用作布局组内的 Image 组件(垂直或水平,因此我可以将它们放在角落,它适用于所有分辨率)
  2. 在 Canvas 之外使用蓝色 Sprite ,显然是通过 Sprite Renderer 组件
  3. 通过Sprite Renderer 组件在 Canvas 中使用蓝色 Sprite 并将 Canvas 渲染模式设置为Screen Space - Camera
  4. 通过 Image 组件在 canvas 中使用蓝色 Sprite


这些方法可能都是错的,但我现在能想到的就这些了。<​​br/>我愿意接受你的所有建议。
我的 unity 版本是 2017.2.0f,我希望游戏能够在所有分辨率下运行。

最佳答案

我会为所有 UI 元素(红色 Sprite )使用 Image/Canvas 系统。通过这种方式,您可以利用 CanvasScaler 组件和锚定来使 UI 分辨率独立。 (另见 HOWTO-UIMultiResolution)

游戏 Sprite (蓝色)只是世界空间中带有常规正交相机的 SpriteRenderer 组件。这比在 UI Canvas 上完成所有操作具有更好的性能。此外,游戏代码(根据经验)在世界空间中比处理 Canvas 位置时要容易得多,因为 UI 布局系统可能会增加额外的转换/复杂性。

最后,您可能希望通过相机的正交尺寸属性调整蓝色 Sprite 的尺寸。没有万能的解决方案,因此您必须权衡取舍,考虑从 Screen.widthScreen.height 返回的实际屏幕分辨率和实际方面(横向与纵向)。通常,我建议查看 CanvasScaler 源代码,以查看如何执行不同缩放比例的示例。 (参见 Unity Technologies UI source on Bitbucket ,尤其是第 134 行的方法 HandleScaleWithScreenSize)。

关于android - Unity3d android 2d Sprite 放置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47139687/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com