2016-06-17 8 views
3

影に関する問題があります。ここで は、私が直面してる問題の画像です:標準的なMeshPhongMaterialを使用した影のアーティファクト

An image is waaay better than a thousand words

enter image description here

が、それらの行がある理由を私は理解できない、完全に点灯することになっています!私は実際の影が本当に滑らかに見える理由を知りませんし、境界線は私がしようとしているものに十分ですが、私はそれらの線を全面に持っています。

マイ光構成:

var dirLight = new THREE.DirectionalLight(0xfeffaf, 1); 
dirLight.position.set(dimensions.middlePoint.x, 
    dimensions.middlePoint.y + (dimensions.lengthY/2), 
    dimensions.middlePoint.z + dimensions.lengthZ); 
dirLight.target.position.set(
    dimensions.middlePoint.x, 
    dimensions.middlePoint.y, 
    dimensions.minZ); 
dirLight.castShadow = true; 
dirLight.shadowDarkness = 0.4; 
dirLight.shadowMapWidth = 1024; 
dirLight.shadowMapHeight = 1024; 
dirLight.shadowCameraNear = 1; 
dirLight.shadowCameraFar = dimensions.lengthY * 2; 
dirLight.shadowCameraLeft = - dimensions.lengthX/2; 
dirLight.shadowCameraRight = dimensions.lengthX/2; 
dirLight.shadowCameraTop = dimensions.lengthY/2; 
dirLight.shadowCameraBottom = -dimensions.lengthY/2; 
dirLight.shadowBias = 0.0000005; 
scene.add(dirLight); 

そして、私のレンダリング設定があります:

threeRender = new THREE.WebGLRenderer({ antialias: true }); 
threeRender.shadowMap.enabled = true; 
threeRender.shadowMap.renderReverseSided = false; 
threeRender.shadowMapSoft = true; 
threeRender.shadowMapType = THREE.PCFSoftShadowMap; 

がaswellそれを固定に向けて正しい方向に私を指していると私は、この問題を解決する方法を教えてください。どうもありがとうございました。

+0

http://stackoverflow.com/questions/34778864/strange-behaviour-of-shadowing-in-threejs/34779433#34779433 – WestLangley

+0

@WestLangleyはどうもありがとうございまし参照してください。私はたくさんの読書をして以来、私はこの[github issue](https://github.com/mrdoob/three.js/issues/6420)に出くわしました。これは実装されていますか?私はそれを試みることができますか?パフォーマンスとアクネ/ペターパンニングに取り組んでいるように見えるので、なぜそれを試してみたいか想像できます。 – tfrascaroli

+0

私はそれが実装されていると信じています。なぜあなたは確認して確認しないのですか? – WestLangley

答えて

3

shadowBiasの値を大きくします。アーティファクトは、シャドウにきびとして知られている:

enter image description here

は詳細についてはthis linkを参照してください。

+0

ああ、私はそれが他の方法だったと思って、それを小さくすることに続けた! 1つのこと:しかし、私は影を得ることはできません:S – tfrascaroli

+0

影の解像度(幅と高さ)を増やし、影の錐台(shadowCameraXXX ...)を減らしてください。 ShadowCameraNearは可能な限り大きくする必要があります。 – user80667

+0

あなたが提供したリンクは非常に役立ちます。私はどのように問題を呼び出すのか分かりませんでした。それは私の最初の問題でした(私はそれを正しく検索することができませんでした)あなたの解決策は正しかったが、ちょうど価値を押し上げても、私はそれを否定しました(-0.006)、そして今はすべてがすばらしく見えます。でも、ありがとう、私はあなたの答えを受け入れています。 – tfrascaroli

関連する問題