我在玩实例,非常棒
现在,我试图让每个实例都投下阴影,但没有运气。我克隆了Lambert材质,添加了位置、比例等的实例处理,并且正在工作,但这只会投射一个阴影:位置(0,0,0)处原始几何体的阴影(即使该位置没有实例)
有人能告诉我在哪里可以找到它吗?或者这是实例或材料的限制吗
谢谢
我用这篇文章中的信息修复了这个问题:http://blog.edankwan.com/post/three-js-advanced-tips-shadow
编辑:
我制作了一个THRE.ShaderLib.depthRGBA.vertexShader的副本,并添加了我在实际绘制实例的材质中拥有的所有属性(平移、缩放、旋转)和代码(使用THREE.ShaderChunk)。THRE.SShaderLib.depth RGBA.fragmentShader保持不变。
然后,我用上一步创建的新VS和FS创建了一个新的THREE.ShaderMaterial:
mesh.customDepthMaterial = new THREE.ShaderMaterial({
vertexShader: <my DepthRGBA vertex shader here>,
fragmentShader: THREE.ShaderLib.depthRGBA.fragmentShader,
....
});