我有 2 个对象网格。他们都有一些共同的领域,但并不完全。
我通过将它们添加到屏幕来显示它们......就像另一个上面的网格一样。但是下部网格与顶部网格重叠但我想要实现的是下部网格应始终保持在下方,而不会重叠并为整个顶部网格留出空间。
我经历了这个小提琴..用渲染顺序摆弄
我试过这样的东西..
var objLoader1 = new OBJLoader2();
objLoader1.load('assets/object1.obj', (root) => {
root.renderOrder = 0;
scene.add(root);
});
var objLoader2 = new OBJLoader2();
objLoader2.load('assets/object2.obj', (root) => {
root.renderOrder = 1;
scene.add(root);
});
但我不知道为什么重叠仍然存在..
我试过了...
var objLoader1 = new OBJLoader2();
objLoader1.load('assets/object1.obj', (root) => {
objLoader1.renderOrder = 0;
scene.add(root);
});
var objLoader2 = new OBJLoader2();
objLoader2.load('assets/object2.obj', (root) => {
objLoader2.renderOrder = 1;
scene.add(root);
});
然后我尝试通过这个 Fiddle ..另一个 Fiddle 但是当我跑进去时,我只得到下层或上层网格。但我想看到两者没有任何重叠..
var layer1 = new Layer(camera);
composer.addPass(layer1.renderPass);
layer1.scene.add(new THREE.AmbientLight(0xFFFFFF));
var objLoader1 = new OBJLoader2();
objLoader1.load('assets/object1.obj', (root) => {
layer1.scene.add(root);
});
var layer2 = new Layer(camera);
composer.addPass(layer2.renderPass);
layer2.scene.add(new THREE.AmbientLight(0xFFFFFF));
var objLoader2 = new OBJLoader2();
objLoader2.load('assets/object2.obj', (root) => {
layer2.scene.add(root);
});
我将材料 depthTest 设置为 False 但没有任何帮助..
谁能帮我实现我想要的..如果有人不明白我所说的重叠是什么意思,请看下图..
感谢所有花时间和精力帮助我的人......