横版游戏看广告后触控范围只剩下左并部分

不知道大家有没有遇到过类似的问题. 不太好描述, 也不太好复现. 但是 是的确存在的. 我自己测试时遇到过几次. 玩家也会时不时的反馈这个问题.

我的游戏 是横版的 3D游戏. 玩家有时点开激励视频 (有时会是那种10秒的直播或其它游戏试玩, 是竖屏的)或看游戏评论 (这两种情况是竖屏的), 再回到游戏(横屏)后. 屏幕只有 差不多 左半边是可以点击, 右侧点击不会有效果

这个问题: 应该是 横竖屏在切换时. 触控的范围没有正常的更新导致的. 但我个人不太清楚要去修改哪里.

引擎组的兄弟们能不能帮忙 排查一下.

以下是我理解的示意图:

补充信息:
我使用的是 Camera.screenPointToRay 获得射线, 再通过 PhysicsSystem.instance.raycast 方法获得拾取到的对象.

是不是这个Camera对象, 在横竖屏切换的时候 需要调用个什么方法, 更新一下矩阵?

是每次都会出现吗?还是偶尔会出现。我的游戏也是横屏的,没发现有这个问题,不过也可能是我的游戏没用户玩,没人给我反馈 :joy:

出现频率还挺高的. 在 手机上看 评论后 再回来 是100%. 我的是3D的游戏 . 可能2D上没有这个问题.

debug了一下.
目前可以确认的是 mousePosition 获取屏幕点击位置没有问题. 使用Camera.screenPointToRay 也没有问题. 问题可能 就出现在 PhysicsSystem.instance.raycast

well ~ 问题找到了.

原因是 Camerawidth height 会在横竖屏切换的情况下. 发生变化. 虽然我已经设置了设计高度与宽度, 但实际相机的宽与高与预想中的并不一至.

比如我的设计宽高为 1280 x 720

但在实际运行时的宽高(camera.width, camera.height)会变成 2401.875 x 1081.5

在从竖屏切回横屏后 Camera 宽高会变成 1920 x 864, 这个值是正确的在满足适配屏幕宽度的情况下宽的值为 1920 .

所以为什么在初始打开场景的情况下camera的宽高会是 2401.875 x 1081.5 这个奇怪的数字呢?

2赞

因为你手机的宽度像素是1081吧

应该是的.
但为什么从竖屏切换回来又变成 1920 x 864 了呢. ?

可能切屏适配了手机高度1920

嗯. 那设置中的 设计宽度与设计高度 是不是没什么用呀. 感觉没有一个数是跟它们相关的. :sweat_smile:

宽对齐和高对齐,可能切方向了。宽变了