2017-05-12 4 views
0

フラットな表面を持つモデルがあります。ここにはバンプマップテクスチャを適用して、その上にテキストを描画します。私が使用しているコードは、このです:バンプマップの品質を3jsで改善する

loadedMesh.material.bumpMap = new THREE.Texture(canvas); 
loadedMesh.material.bumpScale = 1; 
loadedMesh.material.bumpMap.wrapS = loadedMesh.material.bumpMap.wrapT = THREE.ClampToEdgeWrapping; 
loadedMesh.material.bumpMap.minFilter = THREE.LinearFilter; 
loadedMesh.material.bumpMap.needsUpdate = true; 
loadedMesh.material.needsUpdate = true; 

シーンが影付きモデルと4つの指向性ライトが有効になっています。バンプマップは素晴らしいですが、品質は本当に悪いです。バンプマップのサイズは2048x2048です。私ははるかに優れた品質を期待していました。ここではいくつかの画像:

enter image description here

enter image description here

enter image description here

あなたはそれが非常にピクセル化し、多くのことを改善していないテクスチャサイズを増やすことだ見ることができるように。指向灯からモデルへの入射角が変化すると(たとえば、モデルを回転させることによって)、品質も変化します。

バンプマップは純粋な白黒画像ですが、画像にアンチエイリアスを追加すると画質が向上する可能性がありますか?私はバンプマップがライトの振る舞いを変更するだけで、ジオメトリを変更するのではなく、モデルの面の数を増やすとバンプマップ(変位マップではない)作業?

+0

代わりに法線マップを使用しますか? – gman

+0

+1、基本的に同じことをしている間に、より精度を上げることができるはずです。ここで注目に値する他のものは、あなたはjpgを使用していますか? – pailhead

+0

1)正しく理解していれば、minFilterとmagFlterの両方を 'THREE.LinearFilter'に設定しています(これは' magFilter'のデフォルト値です)。 'THREE.NearestFilter'のような他のフィルターを試しましたか? 2)顔の数を増やしても、UVを内側の頂点に割り当てるのでなければ効果がありません。これは、位置の割合の計算が精度の高いウサギの穴からあまりにも遠くなるのを防ぎます。 3)いくつかのアンチエイリアシングを試してください。それは何を傷つけるでしょうか? – TheJim01

答えて

0

バンプマップの代わりにノーマルマップを使用してみてください。

関連する問題