Unity3d 了解摄像头,使其适合480x800

Unity3d 了解摄像头,使其适合480x800,unity3d,Unity3d,锁定480x800分辨率可能有点奇怪,但我在理解Unity中的摄像头时遇到了问题 我正在尝试用unity 4.3.4构建一个支持2d的2d应用程序。我所做的是,我创建了一个480x800的背景,但令人困惑的是,我似乎无法适应相机 如果我编辑相机的大小,W和H,我可以使它适合480x800,值为Size=4,W=0.33,H=1。但我认为这确实是解决问题的糟糕方法 那我怎么做呢?我想支持纵向模式下的移动屏幕大小,宽度至少为480。新款三星galaxy的屏幕宽度为1080像素。屏幕高度和宽度之间的比

锁定480x800分辨率可能有点奇怪,但我在理解Unity中的摄像头时遇到了问题

我正在尝试用unity 4.3.4构建一个支持2d的2d应用程序。我所做的是,我创建了一个480x800的背景,但令人困惑的是,我似乎无法适应相机

如果我编辑相机的大小,W和H,我可以使它适合480x800,值为Size=4,W=0.33,H=1。但我认为这确实是解决问题的糟糕方法

那我怎么做呢?我想支持纵向模式下的移动屏幕大小,宽度至少为480。新款三星galaxy的屏幕宽度为1080像素。屏幕高度和宽度之间的比率似乎是0.5到0.6,将W设置为0.7,将H设置为1应该可以实现一些灵活性


当开发多分辨率时,我该如何处理背景?我已经创建的480x800不适合1920x1080设备

无论你怎么做,你都会: a) 每个纵横比需要一个单独的背景 b) 使用某些纵横比时,背景部分不可见

就我所知,对于这类问题没有一个最优的解决方案。我的方法是通常创建一个足够宽的背景,以容纳尽可能宽的屏幕(逻辑上16:9)。宽屏幕的额外背景在其他纵横比上被忽略。这样做的好处是很容易实现,但根据您对后台的使用情况,它可能不适合您的情况

您也可以简单地调整相机的大小,通过调用
camera.aspect=4f/3f,将其强制设置为所需的纵横比(类似于您的操作方式)其中4/3是所需的纵横比。当然,这远远不够漂亮,而且会扭曲最终的游戏,这取决于你使用的设备


最后,到目前为止,最简单的解决方案是简单地将unity背景色设置为黑色,并用黑色条带填充多余的部分。

我完全同意Steven Mills的观点,即最好的解决方案是使您的所有作品从左到右都在一定范围内,并使其非常高,如16:9。 此外,你还需要放置你的资源,你需要使用锚定,以便将资源定位在屏幕上从左、右、上到下的特定单位。锚定的实现方式不同,具体取决于你制作游戏的方式,你是使用新的纹理2D和精灵功能,还是使用tk2d或类似的功能

关于如何使用相机上的属性大小使对象像素完美(如果您在unity类中使用2d的bild),有两个有用的链接:


其背后的思想是Unity3d使用米,您定义每个资源的像素米数,然后定义相机大小,如果是横向模式,则始终垂直渲染多少米,如果是纵向模式,则始终水平渲染多少米。

因此,为了获得16:9,例如,我将相机设置为大小=5,近=0.3,远=1000,X=0,Y=0,W=16,H=9?我不确定该尺寸是如何强制相机纵横比达到16:9的,您需要做的就是:
camera.aspect=16f/9f
,但正如我所说,在没有16:9屏幕的设备上,这将看起来失真。谢谢您的回复!我仍然有一个小问题理解它。正如您所指出的,锁定纵横比是愚蠢的,但我的相机无法适应480x800背景。W应该是0.6,H=1,但是如果我想安装相机,尺寸=4时W=0.44是正确的。。。为什么会这样?对于480x800,W是高度的0.6??Unity对我来说是一个新事物,当我制作一个以纵向模式玩的游戏时,我试图将我的头绕在相机上。Size属性会改变相机的整体大小,因此它会同时改变宽度和高度。一般来说,你并不真的想改变这一点。宽度和高度由您使用的设备决定。高度通常保持不变,但宽度会根据运行游戏的设备屏幕的大小而变化。正如我所说,你最好的选择是根据游戏运行设备的屏幕大小改变背景。