0

我花了一些时间试图弄清楚 this.object.position 在这个轨迹球控件中应该代表什么: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 的向量,因此理论也没有多大分量。

我知道这可能是一个愚蠢的问题,但我真的很感激朝着正确的方向轻推。

谢谢阅读

4

1 回答 1

1

this.object.position是相机位置。(看注释)

this.eyethis.target是从到的向量this.object.position。目标是相机旋转的点。

_eye.subVectors( _this.object.position, _this.target );

注意:这是假设相机不是另一个平移或旋转对象的子对象——在这种情况下,控件将无法正常工作。

三.js r.58

于 2013-07-05T20:13:55.707 回答