我正在使用gltf模型:http://virtualvizcaya.org/pages/1916barge1.html,使用Three.js和Potree。但是模型在闪烁。我已经阅读了这些相关的帖子Flickering planes和Texture/model flickering in distance (3D)。
如果我正确理解的话,它要求PerspectiveCamera的近平面参数和远平面参数彼此远离,但是我对此的尝试并不能解决此问题。
请帮助! (我在three.js和potree btw上还很新)
答案 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相比,它可能会产生不同的结果。