无法弄清楚如何让阴影与反应三纤维一起工作

Can't figure out how to get shadows to work with react-three-fiber

我一直在按照一些教程使用测试 .glb 文件制作这个简单的沙箱。

https://codesandbox.io/s/zen-black-et9cs?file=/src/App.js

除了阴影,一切似乎都正常。我在任何地方都找不到任何丢失的 castShadow/recieveShadow/shadowMap 声明...只是不确定我丢失了什么。

感谢您指出我的错误!

我想出来了 - 是 shadow-mapSize-width 和 height。 1024 是不够的,我不得不将这个数字增加得更大(在 10240 工作)。不知道为什么会这样,也许我导入的模型具有不同的比例或其他东西。但它现在有效了!

将阴影贴图大小增加到如此高的值不是好方法,因为它不利于性能。

相反,减少阴影相机的截锥体。使用以下值:

shadow-camera-near={0.1}
shadow-camera-far={20}
shadow-camera-left={-10}
shadow-camera-right={10}
shadow-camera-top={10}
shadow-camera-bottom={-10}

请记住,您可以通过使用 THREE.CameraHelper.

进行可视化调试,从而更好地优化阴影摄像机