我目前的工作對涉及使用three.js所three.js所場景劇烈晃動
我有在現場的小面的問題有非常大和非常小的距離開工的項目,其中「場景「將開始劇烈搖晃。
起初我認爲這是Z緩衝區的問題,所以我寫了一個小片段,每次輸入新區域時都會改變攝像機的近距離和遠距離特性。這有助於我之前遇到的「閃閃發光」問題,但現場仍然在小距離上大幅移動。
一個在何種情況下發生這種情況的條件如下:
camera.near = .0133333
camera.far = 12
positionToObjects = 6
這應該意味着Z分辨率大約是:.0001我覺得喜歡就足夠好了,但發生的晃動是更多的是這個。
對象本身的範圍從無處不-200000 - 200000的「全球性」的位置,但在幕後本身並沒有改變位置
,我想,這可能是另一件事是相機控制我在使用它們(abbrviated)如下
if(mouseIsDown == true){
if(this.movementSpeed < this.maxSpeed){
this.movementSpeed += this.acceleration
}else{
this.movementSpeed = this.maxSpeed
}
}else{
if(this.movementSpeed > this.minSpeed){
this.movementSpeed = this.movementSpeed/this.deceleration
}else{
this.movementSpeed = this.minSpeed
}
}
其中this.minSpeed = 0,this.movementSpeed用於移動相機像這樣:
var actualSpeed = delta * this.movementSpeed;
this.object.translateZ(-actualSpeed * forwardOrAuto);
this.object.translateX(actualSpeed * sideSpeed);
this.object.translateY(actualSpeed * upSpeed);
然而,即使當相機沒有移動(最多8位小數位)場景仍然劇烈搖晃
是否有任何理由,我想不出會讓場景做到這一點?
請讓我知道,如果有任何更多的信息,我可以/應該提供,並提前感謝您的時間。
尋求幫助時在線的例子是一件好事我的猜測是,它是舍入誤差,因爲使用的是這麼幾個顯著位數「關閉」現場.. – 2013-02-12 19:57:13
對於攝像頭來說,連10^-8都不夠準確? – Cabbibo 2013-02-12 21:10:38
另外,有什麼辦法可以添加更多有效數字嗎? – Cabbibo 2013-02-12 23:50:57