Three.js和Potree:3D模型闪烁

时间:2018-09-19 19:20:33

标签: javascript three.js

我正在使用gltf模型:http://virtualvizcaya.org/pages/1916barge1.html,使用Three.js和Potree。但是模型在闪烁。我已经阅读了这些相关的帖子Flickering planesTexture/model flickering in distance (3D)

如果我正确理解的话,它要求PerspectiveCamera的近平面参数和远平面参数彼此远离,但是我对此的尝试并不能解决此问题。

请帮助! (我在three.js和potree btw上还很新)

2 个答案:

答案 0 :(得分:0)

就像@Brakebein提到的那样,这称为Z战。 如果您使用WebGLRenderer,则可以尝试:

solr.myproject.com

答案 1 :(得分:0)

在查看器(http://gltf-viewer.donmccurdy.com/)中,我使用以下代码来配置相机的近/远平面:

const object; // my model
const box = new THREE.Box3().setFromObject(object);
const size = box.getSize(new THREE.Vector3()).length();
const center = box.getCenter(new THREE.Vector3());

this.controls.reset();

object.position.x += (object.position.x - center.x);
object.position.y += (object.position.y - center.y);
object.position.z += (object.position.z - center.z);
controls.maxDistance = size * 10;
camera.near = size / 100;
camera.far = size * 100;
camera.updateProjectionMatrix();

这里对场景比例和硬件精度有一定的依赖性-在代码中,您正在显着扩大模型,并且可能想尝试使摄像机更近一些。但是我对Potree不熟悉,所以我不确定与单独使用three.js相比,它可能会产生不同的结果。