Qt Quick 3D XR 中的移动方式
在完全沉浸式的虚拟现实中, 用户可以在虚拟世界中通过步行甚至奔跑来移动(前提是有足够的空间),但在大多数情况下,用户活动范围受限于一小片区域,因此需要借助某种移动方式在虚拟世界中移动,以便跨越更远的距离,甚至穿越那些在现实世界中无法真实再现的地形。 在VR中,移动是指从一处前往另一处的行为,既可以通过拥有适当大小的活动区域(房间级),也可以通过除身体移动以外的某种输入方式和/或手势来实现。
在VR中,移动可通过不同的技术实现。除房间规模外,最常见的技术是瞬移或连续移动。瞬移是指将用户瞬间从一处移至另一处。 连续移动则是让用户从一处持续移动到另一处,通常使用控制器或键盘操作。无论哪种情况,设计移动机制时都必须最大限度地减少晕动症和用户方向感迷失。做好这一点颇具挑战性,需要精心设计和反复测试。
房间规模
体验VR的最佳方式是采用房间级设置,让用户能在足够宽敞的空间内自由走动。 在此设置下,用户可以在虚拟世界中像在现实世界一样自由移动,但通常会在预先定义的空间内活动,该空间需留有足够的余地,以避免撞到墙壁或其他物理障碍物。如果用户的物理环境允许,这将是体验VR最具沉浸感的方式。
瞬移
传送可通过多种方式实现,但通常是用户指向某个位置,随后被传送到该位置。为避免引发晕动症,通常会添加某种视觉效果,以表明玩家确实已移动,同时确保用户视野与头显(HMD)采集的现实世界头部运动输入保持同步。 这可以通过淡入淡出效果实现:屏幕先变黑,待传送完成后再淡入VR视角。传送是穿梭于大型虚拟空间的理想方式。在Qt Quick 3D Xr中,你可以找到实现自由形式传送的参考实现,更多信息请参阅“自由形式传送”示例。
连续移动
连续移动通常更适用于可探索区域较小,或者用户需要通过控制器或键盘对移动进行更精细控制的情况。 有关如何从控制器获取数据的更多信息,请参阅XrController 文档。与传送一样,在使用连续移动时,尽量减少晕动症和方向迷失感非常重要。例如,可以通过添加隧道效果或其他能柔化移动效果的特效来避免晕动症。这在移动的开始和停止时尤为重要。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.