【发布时间】:2014-07-30 10:18:50
【问题描述】:
我有一个公式可以给我大致想要的东西。但我真正想要的是能够在距离上做到这一点。让我解释一下。
以下是使相机围绕一个点(LookAt 点)旋转的公式。
this.Position.X = this.LookAt.X + Math.sin(angle);
this.Position.Z = this.LookAt.Z + Math.cos(angle);
角度(上图)正在更新 0.15(+ 或 -),这取决于我是按向左键还是向右键。 这给出了我的相机围绕相机正前方的一个点旋转的效果。
我想要的是这个: 能够围绕观察点旋转相机(如当前行为),但允许相机根据到观察点的距离“放大”或“缩小”。
我尝试了类似以下的方法,但没有达到预期的效果:
this.Position.X = this.LookAt.X + Math.sin(angle);
this.Position.Z = this.LookAt.Z + Math.cos(angle);
this.Position.X *= distance;
this.Position.Z *= distance;
【问题讨论】:
-
这个问题与 WebGL、OpenGL、OpenGLES 和透视相机无关。您显示的唯一代码与您尚未命名的某个库有关
标签: 3d