[英]Mousewheel event - Velocity/Momentum
我目前正在實驗THREE.JS項目,並使用鼠標滾輪滾動事件將0設置為1。
但是,我想實現與您在Merci Michael的playdoh鏈接中看到的相同的動力。
目前,這是我到目前為止所做的。
this.R = 0
mouseWheel(dx, dy) {
if (this.R < 0) {
this.R = 0
return
}
if (this.R > 1) {
this.R = 1
return
}
inertia.update(dy)
this.R += dy / 45500
let clamped = this.clamp(0, 1, this.R);
// UPDATE THREEJS CAMERA POS
this.dolly.cameraPosition = clamped;
this.dolly.lookatPosition = clamped;
this.dolly.update();
}
clamp(min, max, v) {
if (v < min) {
return min;
} else if (v > max) {
return max;
} else {
return v;
}
}
它可以工作,但是在我發送的示例鏈接中沒有達到相同的效果。 我希望此人滾動並使其具有一定速度,以便它繼續滾動更多。 此刻,當您滾動時,它幾乎立即停止。
也許代替
this.dolly.cameraPosition = clamped;
就像是
this.dolly.cameraPosition += (clamped-this.dolly.cameraPosition)*0.5
代替?
您可以將0.5更改為不同的值,例如0.1或0.9,以更改過渡的快感。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.