2016-08-19 2 views
0

私はThree.jsシーンでパーティクルシステムを作成します。 ここに私のコードです。three.jsでいくつかの頂点不透明度を変更するにはどうしたらいいですか?

function createParticleSystem() { 
    var sphere = new THREE.SphereGeometry(20, 50, 50); 

    var particleMaterial = new THREE.PointsMaterial({ 
       color: 0xffffff, 
       size: 0.5, 
       map: THREE.ImageUtils.loadTexture("images/particle.png"), 
       blending: THREE.AdditiveBlending, 
       transparent: true, 
       opacity:1 
      }); 

    particleSystem = new THREE.Points(sphere, particleMaterial); 

    return particleSystem; 
} 

私は> 0をvertices.y頂点の不透明度を変更することができる方法だろうか?シーン

particleSystem = createParticleSystem(); 

scene.add(particleSystem); 

にparticleSystemを追加

for (var i; i<particleSystem.geometry.vertices.length; i++){ 
     if(particleSystem.geometry.vertices[i].y > 0){ 

     // 
     // I don't know how set the opacity of those vertices 
     // 

     } 
    } 
+0

参照http://stackoverflow.com/questions/12337660/ 3-js調整不透明度の個別粒子/ 12344288#12344288 – WestLangley

+0

@WestLangleyありがとう!!!!!!!!それは働く!!!!! これで、すべての頂点にテクスチャをマップしたいと思います。 頂点の色やテクスチャを変更する例がありますか? 頂点シェーダとフラグメントシェーダは新しくなったので、コーディング方法を学ぶためにいくつかの例が必要です。 –

答えて

-1

残念ながら、あなたはかかわらず、材料の不透明度を設定されている何をすべきか、オブジェクトの不透明度を変更することはできません。私の提案は、必要な不透明度を設定したparticleMaterialと同じマテリアルを作成し、vertices.y> 0の場合はオブジェクト自体のマテリアルを変更することです。

関連する問題