以编程方式缩放OrbitControls

问题描述 投票:2回答:1

我很难确定如何用OrbitControls缩放Three.JS

我浏览了源代码很多次,可以看到称为dollyIn()dollyOut()的方法,但无法从自己的代码访问它们。

我已经尝试过方法.zoom,但是它什么也没做。

是否可以按代码缩放?

javascript camera three.js zoom
1个回答
0
投票

问题出在图书馆。 dollyInTHREE.OrbitControls的私有功能。

我们可以通过在OrbitControls.js中放置两个公共方法来修改THREE.OrbitControls。有节调用为公共方法

this.dollyIn = function () {
    dollyIn( getZoomScale() );
    scope.update();
};

this.dollyOut = function () {
    dollyOut( getZoomScale() );
    scope.update();
};

您可以如下所示访问这些功能:

$("#product-container .canv-zoom-in").on("click", function() {
    controls.dollyOut();
});

$("#product-container .canv-zoom-out").on("click", function() {
    controls.dollyIn();
});

如果要增加缩放步长,可以通过以下方式完成

controls.zoomSpeed = 3.0;
© www.soinside.com 2019 - 2024. All rights reserved.