2017-05-15 7 views
2

チェーンリンクサーフェスを作成しようとしています。私は2つのテクスチャを持っています。白い背景を持つ金属のリンクのメタリックな外観を持つ標準のマップが(拡散):alphaMapを使用しているため、素材に透明度が与えられていません

私が適用しようとしています:

私はまた、アルファマップを持っています運のないMeshBasicMaterialにこれらの両方:

var chainlinkMask = THREE.ImageUtils.loadTexture('textures/chainlink_Large-Panels_mask.png'); 
chainlinkMask.wrapS = THREE.RepeatWrapping; 
chainlinkMask.wrapT = THREE.RepeatWrapping; 
chainlinkMask.repeat.set(2, 2); 

var chainlinkDiffuse = THREE.ImageUtils.loadTexture('textures/chainlink_Large-Panels_Diffuse.png'); 
chainlinkDiffuse.wrapS = THREE.RepeatWrapping; 
chainlinkDiffuse.wrapT = THREE.RepeatWrapping; 
chainlinkDiffuse.repeat.set(2, 2); 

material.map = chainlinkMask; 
material.alphaMap = chainlinkDiffuse; 
material.transparency = true; 
material.side = THREE.DoubleSide; 

これは私に次を与える:

あなたが見ることができるように、アルファマップが適用されていません。

どうしてですか?

助けてください。

答えて

2

あなたはアルファマップを使用している場合は、あなたの材料を定義する際に、これらの二つのパターンのいずれかを使用し、transparency

material.transparent = true; 
+0

:(ありがとうございます。 – Mike

0

の代わりにtruetransparentパラメータを設定してみてください:

alphaMap: texture, 
transparent: true, 

または

alphaMap: texture, 
alphaTest: 0.5, // if transparent is false 
transparent: false, 

p透明性が真であるときに発生するアーチファクトを回避することができる。

three.js

0

r.85直接material.transparentを使用するには、例えば、問題をレンダリングする原因となります。あなたは2つのコルシング平面を持ち、それぞれがmaterial.transparent = truematerial.side = DoubleSideを適用しています。回転するとレンダリングの問題が発生します。 上記の解決策@WestLangleyを使用してください。

関連する問題