我按如下方式制作了一个圆圈:
material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
arcShape = new THREE.Shape();
arcShape.absarc( 0, 0, 20, 0, -Math.PI*2, true );
geometry = arcShape.makeGeometry();
circle = new THREE.Mesh(geometry, material);
scene.add(circle);
就像这样,它是可见的。但旋转它,它就会消失。
shadow.rotation.x = Math.PI / 2;
我已经看过其他几个帖子,这个问题还没有解决。 (因此,除非有人有解决方案,否则我会采用扁平圆柱体。这只是一个琐碎的问题。)
我设置了mesh.doubleSided
= true和mesh.flipSided = false
。我还尝试了所有4种切换渲染器的depthTest和材质的depthWrite属性的组合。
还有什么我可以尝试的吗?如果没有,我猜测代码对我的一些电话的顺序很敏感,在这种情况下,我已经度过了漫长的一天,所以我会坚持使用气缸!!
答案 0 :(得分:5)
material.side = THREE.DoubleSide;