我花了一些时间试图找出this.object.position应该在此Trackball控件中表示的内容:https://github.com/mrdoob/three.js/blob/master/examples/js/controls/TrackballControls.js
作者不仅保存了位置的原始值(用于重置目的),而且还在每个帧之后每当位置改变时跟踪lastPosition。
... // the first half of the constructor
var lastPosition = new THREE.Vector3();
... // more initialization
// for reset
this.position0 = this.object.position.clone();
起初我认为它代表相机的位置,但也有一个'this.eye'变量,所以这将是一个冲突。然后我认为它与DOM上绘图表面的位置有关,但由于它是一个3号向量,理论也没有太大的重量。
我知道这可能是一个愚蠢的问题,但我真的很感激在正确的方向上推动。
感谢您阅读
答案 0 :(得分:1)
this.object.position
是相机位置。 (见注)
this.eye
是从this.target
到this.object.position
的向量。目标是相机旋转的点。
_eye.subVectors( _this.object.position, _this.target );
注意:假设相机不是另一个已翻译或旋转的对象的子项 - 在这种情况下,控件将无法正常工作。
three.js r.58