【发布时间】:2019-12-06 04:40:22
【问题描述】:
所以我的游戏是为 1920x1080 设计的,我正在从我的主摄像头创建一个渲染纹理,然后将该纹理拉伸/收缩到设备的屏幕尺寸,无论外观如何……这会在 4:3 上产生一些挤压等等,但老实说,我更喜欢稍微失真而不是信箱,而且游戏不适合扩展背景元素。 (有几个原因)
无论如何,我的游戏正在使用“ScreenToWorld”从渲染相机(显示渲染纹理的相机)读取输入,但由于最终渲染纹理被挤压,触摸位置不匹配。
EG:这里是 16:9 比例,完美匹配触摸位置
这是没有压缩纹理的 4:3 版本(屏幕边缘被剪掉)......再次完美
这是挤压后的 4:3 版本,从知道其 4:3 但没有意识到渲染纹理被挤压的相机读取触摸,因此它在我触摸的更左或向右偏移。
据我所知,在上面的方面示例中,我需要从压扁的纹理放大触摸位置以匹配实际游戏,但我所有尝试获得正确的触摸位置都不是' t 跨多个分辨率更正。
有人知道解决这个问题的最佳方法吗?还是统一有一些内置的东西我错过了?我之前在 XNA/Monogame 中使用矩阵做过此操作,但 Unity 中的类似代码不起作用。
【问题讨论】:
标签: unity3d