2015-12-24 36 views
0

从r72更新到r73时遇到了问题。我认为这与r73的影子变化有关。我也尝试运行最新的主人,但问题依然存在。Threejs r73阴影变化 - 如何控制阴影相机截锥体?

我创建了两个小提琴来说明问题。这拨弄使用R72 http://jsfiddle.net/01xm6taz/3/这个小提琴http://jsfiddle.net/mtcq070x/2/使用R73

的问题是,我已经失去了控制权shadowCamera的视锥,我似乎无法弄清楚如何在R73正确切换阴影。能够控制平截头体以获得具有低分辨率阴影贴图的体面阴影并切换阴影也很重要。如果我可以再次控制平截头体,那么我可以进行不同的切换(通过设置远近0或其他值)

如果打开r72小提琴,您会发现可以控制r72中的平截头体,但不是r73。

具体来说,以下行不再R73工作:

 light.shadowCamera.near = self.shadownear; 
     light.shadowCamera.far = self.shadowfar; 
     light.shadowCamera.left = -self.shadowleft; 
     light.shadowCamera.right = self.shadowright; 
     light.shadowCamera.bottom = -self.shadowtop; 
     light.shadowCamera.top = self.shadowbottom; 
     light.shadowCamera.shadowBias = self.shadowbias; 
     light.shadowDarkness = self.shadowdarkness; 
     light.shadowCamera.updateProjectionMatrix(); 

我能坚持到R72,后来我将失去一些我们在R73得到了很好的.toJSON更新。

回答

1

事实证明,API只是略有改变。下面的代码工作正常:

light.shadow.camera.near = self.shadownear; 
    light.shadow.camera.far = self.shadowfar; 
    light.shadow.camera.left = -self.shadowleft; 
    light.shadow.camera.right = self.shadowright; 
    light.shadow.camera.bottom = -self.shadowtop; 
    light.shadow.camera.top = self.shadowbottom; 
    light.shadow.camera.shadowBias = self.shadowbias; 
    light.shadowDarkness = self.shadowdarkness; 
    light.shadow.camera.updateProjectionMatrix(); 

我希望打破变化概述多一点清楚:)

+1

还我相信它的shadow.bias现在shadow.darkness是走了 – yeahdixon