Sha*_*yar 4 android sprite unity-game-engine
请看一下这张照片
这是从photoshop导出的游戏的最终外观
我用红色标记标记了ui精灵,用蓝色标记标记了游戏精灵
我的问题是我应该如何在unity3d 2d游戏开发中正确使用这些精灵.
这是我能想到的方式:
Image布局组中的组件(垂直或水平,因此我可以将它们放在角落中,它将适用于每个分辨率)Sprite Renderer组件Sprite Renderer组件在画布中使用蓝色精灵,并将画布渲染模式设置为Screen Space - CameraImage组件在画布中使用蓝色精灵
这些方式都可能是错的,但这些都是我现在能想到的.
我对你的所有建议持开放态度.
我的统一版本是2017.2.0f,我希望游戏能够与每个分辨率一起使用.
我会将Image/ Canvassystem用于所有UI元素(红色精灵).这样,您可以利用CanvasScaler组件和锚定来使UI分辨率独立.(另见HOWTO-UIMultiResolution)
游戏精灵(蓝色)只是SpriteRenderer世界空间中的组件,带有常规的正交相机.这比在UI画布上执行所有操作具有更好的性能.此外,游戏代码将(从经验)在世界空间中比在处理画布位置时更容易,因为UI布局系统可能会添加额外的转换/复杂性.
最后,您可能希望通过相机的正交尺寸属性调整蓝色精灵的大小.有没有一个一劳永逸的这个解决方案,所以你必须做出权衡,考虑到实际的屏幕分辨率从返回Screen.width,并Screen.height和实际方面(横向纵向VS).一般来说,我建议查看CanvasScaler源代码以查看如何进行不同缩放的示例.(请参阅Bitbucket上的Unity Technologies UI源代码,尤其是HandleScaleWithScreenSize134行上的方法).