2013-05-25 19 views
10

Basit bir Three.js sahnesini deniyorum (bu alandaki acemi). Three.js WebGLRenderer'ı kullanıyorum ve bir düzlem, gölgeler ve yönlü bir ışık kaynağı oluşturan bir küp kurdum. Sonuç resimde gösterilmektedir.Chrome/MacOS'ta Three.js gölgesinin kalitesi?

Nasıl yapılır:

1. Artış gölge render kalitesi?
2. Tırtıklı kenarlardan kurtulun mu?

Ben true antialiasing belirledik ama herhangi bir tarayıcıda yardımcı görünmüyor

...

oluşturucu = new THREE.WebGLRenderer ({antialias: true});

enter image description here

cevap

18

İki şey yapabilirsiniz. Önce bir işleyici

renderer.shadowMapType = THREE.PCFSoftShadowMap; // options are THREE.BasicShadowMap | THREE.PCFShadowMap | THREE.PCFSoftShadowMap 

öznitelik kümesi ve sonra da ile ışığın shadowmap boyutunu artırabilir:

light.shadowMapWidth = 1024; // default is 512 
light.shadowMapHeight = 1024; // default is 512 
+0

shadowMapType yardımcı oldu, teşekkürler! ShadowMap boyutlarının artırılmasının bir etkisi yoktur. Tırtıklı kenarlar hakkında bir fikrin var mı? Sahneyi tuval elemanının iki katı büyüklüğünde yapmak biraz yardımcı oluyor gibi görünüyor. – dani

+0

Antialias'ı true olarak ayarlamak bir fark yaratmış olmalıdır. Ancak son çare olarak, örnekler klasöründeki uygulamaları görebileceğiniz effectFXAA ShaderPass'i de deneyebilirsiniz. Birkaç tane vardır (webgl_lines_colors.html, webgl_geometry_text.html) – gaitat

+1

Gölge kamerasının boyutlarını ayarlamak da yardımcı olmalıdır. Gölge kamerasının görüş alanını mümkün olduğunca küçük olacak şekilde sınırlandırmalısınız; Bu sayede mevcut çözünürlük ve derinlik çözümlerinden faydalanırsınız. shadowCameraNear ve shadowCameraFar ilk şüpheli olacaktı. Yönlü lambalar durumunda, bu veya herhangi bir cevap sorunuzun çözümü varsa, onay işareti üzerine tıklayarak kabul etmeyi düşünürseniz, shadowCameraLeft, top, sağ, alt vb. Gibi bir şey de vardı. – yaku