移动相机会使鼠标 X/Y 投影变量失效,任何关联这些变量的内容都会错位。

AGMaker 版本:v1.2.10.stable
操作系统:Windows 10 IoT Enterprise LTSC 21H2(系统版本:19044.7184)
CPU:AMD Ryzen 7 5700X3D
GPU:AMD Radeon RX 9070 XT
内存容量:32 GB(2×16 GB,频率 3200 MHz)
问题现象:当摄像头离开初始位置(X=0, Y=0)后,鼠标的 X 和 Y 坐标会出现偏差。
复现步骤:

  • 创建一个作为摄像头焦点并可自由移动的物体。
  • 创建另一个物体,包含两个动作框,在两者之间循环切换,每个动作框将该物体的 X 和 Y 位置设置为存储在项目变量中的鼠标 X 和 Y 坐标。
  • 将这些物体放入场景中,并确保摄像头以第一个物体为目标。
  • 测试项目。
  • 您会发现,摄像头离 0 位置越远,鼠标物体与系统鼠标光标之间的偏移就越大。

以下是展示该问题的简单项目:https://drive.google.com/file/d/1J5iJrSVV2NwM5UwyNtuSYchsgEdwqPc1/view?usp=sharing

您可以通过 WASD/方向键/十字键/左摇杆/右摇杆移动摄像头,并观察附着在鼠标 X/Y 坐标上的物体如何逐渐偏离实际的系统光标。

希望该问题能尽快得到修复!

感谢您提供详尽的报告和项目,这非常有帮助!我已经确认了该漏洞,并将提交报告。

在此期间,我编写了一个简单的(兼容可视化脚本)临时解决方案脚本,即使相机移动,也能提供准确的世界空间鼠标坐标。它还包含一些实用的附加功能,例如检查鼠标是否在视口内。您可以根据需要,通过 InvokeScript 或 ScriptConditionEvaluator 来调用它。

baz_mouse_position.gd|附件 (2.6 KB)

agm.windows.editor.x8664y39hg33JG4|视频