【发布时间】:2015-06-30 03:57:15
【问题描述】:
我目前正在从事一个项目,该项目涉及在对象大小范围为 10 到 1000000 的场景中工作。我一直有一个问题,当我在这些尺寸的大范围内时,物体开始“闪烁”这只发生在物体相交时,然后随着相机远离物体它变得越来越“暴力” .
我在这里上传了一张问题图片:http://imgur.com/SOeemng
虽然我不知道是什么原因造成的,但我有一些可能的想法:
首先,我只是在处理对 three.js / webgl 来说太大的尺寸
我认为可能存在问题的第二种可能性是使用以下我制作的相机控件:
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 );
我不认为这会是问题,但由于移动速度实际上永远不会等于零,这可能是一个问题。即使移动速度为 10^-20 或 -30,仍然会发生闪烁。
如果这很重要,我也在 r.55 上。
【问题讨论】:
标签: javascript three.js webgl