1

私は次のように円を描きました:

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た。また、レンダラーのdepthTestプロパティとマテリアルのdepthWriteプロパティを切り替える4つの組み合わせすべてを試しました。

他に試すことができるものはありますか?そうでない場合は、コードがいくつかの呼び出しの順序に敏感であると推測しています。その場合、私は長い一日を過ごしたので、シリンダーに固執します!!

4

1 に答える 1

9
material.side = THREE.DoubleSide;
于 2013-02-11T19:57:13.000 に答える