にMeshStandardMaterialするIDカラーマップを追加するIは、物質ペインタで利用可能な技術と同様three.jsに色IDマップを追加したい:three.js
結果カラーマップが追加されるように、MeshStandardMaterialと合成する必要があります。その上に複数のidマップマップが適用されます。 (その後、後続のPBR要素が標準として追加されます)。
1つのjpg画像に最大4つのidマップを含めることができます(チャンネルごとに)。各チャネルは、適用された色のアルファ値であり、0x00は不可視であり、0xFFは完全に可視である。その後、カラーパラメータが(チャンネルごとに)渡され、フラグメントシェーダに適用され、実行時に色が変更されます。
// load an id map with 4 separate channels
IdMapTexture texture = (IdMapTexture)mTextureLoader.load(path, callback);
MeshStandardIdMapMaterial material = new MeshStandardIdMapMaterial();
material.idMaps[0] = texture;
// apply colors to the channel via the fragment shader
material.idMaps[0].color0 = new Color(0x336699);
material.idMaps[0].color1 = new Color(0xFF0099);
material.idMaps[0].color2 = new Color(0x640971);
material.idMaps[0].color3 = new Color(0x216647);
// apply the material to the mesh
mesh.material = material;
私の質問は、主に3つのトピック(最高==最高)に沸く:ここ
はが意味をなさないかもしれないAPIのためのいくつかの擬似コードです。
- すでに利用可能なものはありますか?
- これをより構造化/単純化するための合成手法はありますか?
- three.jsのMeshStandardMaterialを拡張するための標準的な方法やツールはありますか?
よろしく
このようなリクエストは、フリーランサーのサイトにある価値があります。これまでに何を試しましたか? – prisoner849
@ prisoner849私は実際に今ほとんどそれをしています。私は実際に私の仕事を合理化する方法を知りたかっただけです。私は実際にフラグメントと頂点のシェーダをHTMLに埋め込み、テクスチャローダを使用して4つの異なるPNGをロードしました。私はちょうどその情報を素早く求めていたと思うが、今は基本版を作成してそれを構築する。 –
IMOですが、これはトピック以外のディスカッション([ここをクリック](https://stackoverflow.com/help/on-topic)を参照)のカテゴリ4に該当します。 – TheJim01