2017-01-14 14 views
0

THREE.Pointsパーティクルシステムを作成していますが、THREE.PointsMaterial.mapに渡された関数から返されるHTML5 Canvasテクスチャを修正する必要があります。その関数でテクスチャが作成されている頂点のインデックスにアクセスすることは可能ですか?最後に、各パーティクル/頂点には(わずかに)異なるテクスチャが与えられますか?THREE.PointsMaterial.mapに渡された関数内の頂点インデックスにアクセス

+0

参照http://stackoverflow.com/a/25372202/1461008 – WestLangley

答えて

0

あなたは私はあなたがTHISのようなものを意味と仮定するつもりです THREE.PointsMaterial.map

に渡された関数から返され

キャンバスの質感を言います。

この場合、いいえ、頂点インデックスにアクセスすることはできません。あなたは、(おそらくやりたくない)各頂点ごとに別のマテリアルとマップを作成する必要があります。
または、独自のシェーダを作成します。

+0

ありがとう、それはまさに私の言いたいことです。シェーダを使って作業する方法を学ぶ必要があります。現時点では、各頂点の色を変更するだけで、vertexColors:trueを設定し、与えられた色にCanvasテクスチャの色を掛けて結果を制御することが困難になるような色を渡すことに興味があります。 – oligilo

+0

私はいくつかの基本的なシェーダのデモ[ここ](http://blog.2pha.com/experimenting-threejs-shaders-and-shadermaterial)を持っています。 Firefoxはdevツールの "shader edit"タブを持っていますが、devツール設定でそれをオンにしなければならないと思います。デフォルトのポイントマテリアルシェーダを見て、それをコピーしていくつかの調整を加えるだけです。 – 2pha

+0

ありがとうございました** 2pha **、私はあなたの例を本当に楽しんでいましたが、シェーダが私の問題を解決できないと感じています。なぜなら、拡張された2Dテクスチャを持つ各頂点でポイントクラウドを作成する必要があるからです色勾配、具体的には)常にカメラに直面し、私は自分のシーンにあるポイントの数だけ十分に速くレンダリングします。これは何らかの形でシェーダでも実現できると思いますか?(頂点ごとに空間的に拡張された2Dテクスチャを常にカメラに向け、ブレンドの指示も受け入れるため) – oligilo

関連する問題