【发布时间】:2019-04-11 05:58:14
【问题描述】:
我在 three.js 中有一个第三人称 RPG 风格的环境。我正在使用轨道控制。控件很好地针对玩家 obj,无论她在世界的哪个位置,我都可以围绕她旋转。
我尚未解决的问题是在移动时保持固定的缩放距离,该距离小于设置的 maxDist 值。到目前为止,我能够做到的唯一方法是使最小/最大值相同。当我设置一个较大的 maxDistance 值(比如 5000)时,只要我开始移动玩家,她就会远离凸轮,直到达到 maxDist。
我希望能够在玩家移动时设置辅助或临时 maxDist 值,比如 500,但如果需要,仍然允许缩小到 maxDist (5000)。有没有人做过类似的事情或有建议?
提前致谢。
【问题讨论】:
-
如何根据自己的需要设置
minZoom和maxZoom,每帧更新OrbitControls的target对应玩家的位置? -
是的,这就是我正在做的事情:
this.controls.minDistance = 500; this.controls.maxDistance = 2500;在 init 和:const pos = this.player.object.position.clone(); pos.y += 100; this.controls.target = pos; this.controls.update();在更新。没用。 -
如果您能够提供当前方法的工作演示,这可能会有所帮助。
标签: javascript three.js controls