我是Unity的新手,我已经意识到,如果资产商店没有付费的第三个插件,很难在Unity上进行多分辨率2D游戏。
我做了一些测试,我可以用这种方式做多分辨率支持:
1-将UI(按钮等)中的所有内容放置在渲染模式屏幕空间中的Canvas对象内 - 以16:9参考分辨率和固定宽度叠加。
2-将其余游戏对象放入一个名为GameManager的游戏对象中,其中Canvas Scaler组件处于渲染模式屏幕空间 - 摄像头具有16:9参考分辨率,固定宽度和附加的主摄像头。之后,GameManager中的所有游戏对象,如玩家,平台等都需要有一个RectTransform组件,例如CanvasRenderer组件和Image Component。
我可以继续以这种方式开发游戏吗,或者这是做错的方法吗?
此致
答案 0 :(得分:5)
也不要忘记GUI
,Graphics
。这是GUI
它贬值和缓慢的常见误解。不,不是。用于GUI的GameObject帮助程序很糟糕并且已经过折旧,但是当您需要的是在屏幕上绘制纹理或某些文本时,用于放入OnGUI
的API非常有用。他们称之为遗产,但没有计划删除它们,整个Unity UI is made out of it anyway。
我在这些游戏中做了几个游戏,使用Unity作为一个非常过度的多平台API来绘制四元组。
如果您想要更多内容,还有GL
。
请记住 - 没有内置物理,粒子效果,路径查找或任何东西 - 只是在屏幕上绘制内容的简单方法。你将完全控制将要绘制的内容 - 这既是好事也是坏事,取决于你想做什么。
答案 1 :(得分:2)
我不建议您使用Canvas Scaler开发完整的游戏。画布缩放器的目的是创建菜单,您应该使用它来创建菜单。
在没有画布缩放器的情况下创建的2D游戏不会在多个分辨率上产生太多问题(大多数情况下它们不会引起任何问题)。
因此,您的第1步是正确的,但对于第2步,您不需要附加画布缩放器组件。
在开发2D游戏时,请记住将场景标记为2D(非必要),将相机标记为正交(必要)。