17

平面からの距離の関数として、粒子の不透明度を変化させようとしています。

この問題は私の問題を説明しており、1年前の答えは本質的に「できない」でした。不透明度は明らかに要素ではなく材料のパラメータであるため、個々の粒子の不透明度は不可能です。

何か変更がありましたが、これを達成する方法はありますか?個々の粒子の着色が可能であれば、これは手の届かないものではないと思います。

乾杯

4

2 に答える 2

32

編集 - この回答は、カスタムを使用してポイントごとの不透明度を設定する方法を示していますShaderMaterial。を使用したアプローチについては、https://stackoverflow.com/a/67892506/1461008を参照してくださいPointsMaterial


ParticleSystemPointCloudは に、次に に名前が変更されましたPoints

はい、ポイント クラウドを作成して、各パーティクルの色のアルファ値を動的に変えることができます。

three.js では、ポイント クラウドのマテリアルをShaderMaterial各パーティクルの目的のアルファ値に等しい属性を持つように設定することで、これを行うことができます。

ShaderMaterials頂点シェーダーとフラグメント シェーダーが初めての場合は、動的アルファを使用してポイント クラウドを実装する非常に単純なFiddle を次に示します: http://jsfiddle.net/8mrH7/266/

編集:更新されたフィドル

three.js r.129

于 2012-09-10T01:03:25.393 に答える