Unity-3d-5将16:9的图像缩放到其他分辨率 [英] Unity-3d-5 Scale images for 16:9 to other resolutions
问题描述
因此,我创建了一个蛇游戏,其边框由2d精灵创建.我将游戏窗口设置为16:9,在这种分辨率下,图像看起来不错.但是,将其缩放到其他任何值都开始使游戏看起来很奇怪.我希望游戏窗口可以调整大小.如何根据当前分辨率使子画面拉伸和收缩?
So I created a snake game with a border created with 2d sprites. I have my game window set to 16:9, when in this resolution the images look fine. However, scaling to anything else begins to make the game look weird. I want the game window to be re-sizable. How can I make my sprites stretch and shrink based on the current resolution?
- 我已经尝试过创建一个宽度为120且高度为1的sprite,然后使用x,y,z比例将比例更改为16.这产生了一个巨大的sprite.
- 我正在尝试使用画布缩放器,但没有成功.
- 我的最终目标不是让我的游戏适合16:9之类的预定义分辨率,而是根据当前窗口大小进行缩放.因此,如果它们使窗口变得非常薄,则游戏只会使顶部和底部边界变得非常薄,同时仍然使游戏过程陷入边界.
下面,我发布了如何设置精灵的屏幕截图.以及它们如何放置在层次结构中.
Below I post the screenshots of how my sprites are setup. And how they are placed into the hierarchy.
- 边框精灵-该精灵的宽度现在为70像素,因为这是给我的.
- 层次结构,位置,比例和旋转度中的边界为默认设置.然后例如将BorderTop在y轴上移动25,以将其移动到屏幕顶部.
- 相机设置
- Camera setup
示例分辨率和电流输出
- 16:9
- 5:4
- 16:9
- 5:4
推荐答案
首先,您不应更改自己的精灵.您的问题是游戏视口.您根本无法在全屏"中的每台设备上都具有16:9的固定长宽比.您在这里有2个选项:
First, you should not change your sprites. You problem is a game viewport. You simply cannot have 16:9 fixed aspect ratio on every device in "full-screen". You have 2 options here:
- 无需关心宽高比并调整游戏玩法,可以将画布缩放器模式设置为按屏幕尺寸缩放",并参考分辨率,例如1920x1080或1600:900或800:450.您的游戏逻辑必须考虑到屏幕的大小可能有所不同.您可以通过在游戏视图中切换不同的宽高比来在编辑器中进行实验.
- 保持16:9,并在初始化游戏时计算在何处添加横杠"(侧面或上下).
这篇关于Unity-3d-5将16:9的图像缩放到其他分辨率的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!