首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >统一. 16:9到其他分辨率的3d-5比例图像

统一. 16:9到其他分辨率的3d-5比例图像
EN

Stack Overflow用户
提问于 2016-10-03 17:00:51
回答 3查看 1.9K关注 0票数 5

所以我创建了一个用2d精灵创建边界的蛇游戏。我的游戏窗口设置为16:9,在这个分辨率中,图像看起来很好。然而,缩放到其他任何东西开始使游戏看起来很奇怪。我想要游戏窗口再来一次。如何使我的精灵伸展和收缩根据目前的决议?

  • 我已经试过创建一个宽120度,高1度的雪碧,然后用x,y,z标度将刻度改为16,这就产生了一个巨大的精灵。
  • 我正在尝试使用帆布定标器,但没有成功。
  • 我的最终目标不是让我的游戏符合预定的决议,比如16:9,而是根据当前窗口的大小进行缩放。因此,如果他们使窗口非常薄,游戏只会使顶部和底部的边框非常薄,而游戏仍然把游戏交给边界。

下面我发布了我的精灵是如何设置的截图。以及它们是如何被放入等级体系中的。

  • 边界精灵-这个精灵的宽度现在是70像素,因为这是如何给我。

  • 层次结构中的边框、位置、比例和轮换是默认的。然后,例如,在y轴上移动BorderTop 25,将其移动到屏幕的顶部。

  • 摄像机设置

示例分辨率和当前输出

  • 16:9

  • 5:4

EN

回答 3

Stack Overflow用户

发布于 2017-06-16 21:14:21

向每个边框添加一个简单的脚本:

代码语言:javascript
运行
复制
public class Border : MonoBehaviour {

    enum BorderTypes
    {
        bottom, top, left, right
    }

    [SerializeField] float borderOffset = 0.1f;
    [SerializeField] BorderTypes type = BorderTypes.top;

    // Use this for initialization
    void Start () {
        switch (type)
        {
            case BorderTypes.bottom:
                transform.position = Camera.main.ViewportToWorldPoint(new Vector3(0.5f, borderOffset, 10));
                break;
            case BorderTypes.top:
                transform.position = Camera.main.ViewportToWorldPoint(new Vector3(0.5f, 1 - borderOffset, 10));
                break;
            case BorderTypes.left:
                transform.position = Camera.main.ViewportToWorldPoint(new Vector3(borderOffset, 0.5f, 10));
                break;
            case BorderTypes.right:
                transform.position = Camera.main.ViewportToWorldPoint(new Vector3(1 - borderOffset, 0.5f, 10));
                break;
            default:
                break;
        }
    }
}
票数 0
EN

Stack Overflow用户

发布于 2018-08-16 14:22:35

您可以使用一个简单的方法:

  • 首先,创建一个画布。
  • 在检查器中的画布组件中,将Render Mode设置为Screen Space - Camera并将主摄像机拖到Render Camera字段。

  • 然后,在检查器窗口中的Canvas组件中,将UI Scale Mode设置为Scale Width Screen Size和其他设置,如此图像

  • 现在将游戏对象拖到画布上。

票数 0
EN

Stack Overflow用户

发布于 2018-08-20 10:48:02

首先,你不应该改变你的精灵。你的问题是游戏视图。在“全屏”的每个设备上,你都不能有16:9固定的高宽比。你在这里有两个选择:

  1. 不要在意高宽比和调整你的游戏,使你的画布标尺模式“与屏幕大小的比例”和参考分辨率类似1920x1080或1600:900或800:450。你的游戏逻辑必须考虑到你可能有不同大小的屏幕。您可以通过切换游戏视图中不同的纵横比来在编辑器中进行实验。
  2. 维护16:9,因此,当游戏初始化时,计算添加“bar”(边或上、下)的位置。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39836723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档