我正在使用three.js制作RTS游戏,并且当鼠标位于摄像机端点的末端时,我正在努力使摄像机移动。我正在尝试使摄影机动作像《魔兽争霸》,《英雄联盟》等。
我了解我需要检查鼠标和边框的位置,并且当鼠标位置等于边框时,我需要向上/下/左/右移动摄像机。但是我只是不知道如何表达它在代码中。谢谢您的帮助,在此先感谢您。如果问题不在这里,我很抱歉,但是我找不到任何材料。谢谢!
答案 0 :(得分:1)
我建议像这样实现它:
定义一个新变量cameraSpeed = new Vector3()
,该变量存储摄像机的当前速度(例如,每帧的世界单位)
在动画循环中
cameraSpeed.x
和cameraSpeed.z
(假设您的场景朝向y向上)camera.position.add(cameraSpeed)
例如,如果要将其与OrbitControls结合使用,则还需要使用相机位置更新controls.target.position
。