11

私はthreejsを初めて使用し、単純な3Dモデルを作成しようとしています。それでも、不透明度で遊び始めてから、透明度/視差の問題が発生しました。

私のコードの重要な部分はここにあります:

    var cylJaun = new THREE.MeshNormalMaterial({color: 0xFFFF00, opacity: 1});
    var cylBleu = new THREE.MeshNormalMaterial({color: 0x0000FF, opacity: 0.5 });

    var cylJaun1 = new THREE.Mesh(new THREE.CylinderGeometry(50,50,50,100,1,false),cylJaun);
    var cylJaun2 = new THREE.Mesh(new THREE.CylinderGeometry(50,50,50,100,1,false),cylJaun);
    var cylJaun3 = new THREE.Mesh(new THREE.CylinderGeometry(50,50,50,100,1,false),cylJaun);

    var cylBleu1 = new THREE.Mesh(new THREE.CylinderGeometry(70,70,200,100,1,false),cylBleu);

    cylJaun1.position.y -= 60; 
    cylJaun3.position.y += 60; 

    group.add(cylBleu1);

    group.add(cylJaun1);
    group.add(cylJaun2);
    group.add(cylJaun3);

    scene.add(group);

ご覧のとおり、3つのシリンダーを4つ目に入れようとしています。問題は、オブジェクトを特定の範囲内で回転させると、これらの3つのシリンダーの一部が消えることです。

4

1 に答える 1

26

transparent: true大きい方のシリンダーの素材をセットする必要があります。

var cylBleu = new THREE.MeshNormalMaterial( { transparent: true, opacity: 0.5 } );

あなたが初心者なら、あなたは透明性を実験することによって深い終わりに飛び込んでいます。

透明性はWebGLでは扱いにくい場合があります。この道を進むことを計画している場合は、Googleを夢中にさせて、関連する問題と、それらがthree.jsでどのように処理されるかについてできる限りのことを学びましょう。

three.js r.53

于 2012-12-15T02:09:36.227 に答える