【问题标题】:ThreeJS MeshDepthMaterial Shadows Not Working With AnimationsThreeJS MeshDepthMaterial 阴影不适用于动画
【发布时间】:2021-10-11 18:58:33
【问题描述】:

为了通过我的网格的透明部分投射阴影,我使用了MeshDepthMaterial,但是当我这样做时,我的对象的动画部分的阴影会随着动画停止移动。

您可以在这里查看示例:https://jsfiddle.net/miger/kj8gwue5/

var customDepthMaterial = new THREE.MeshDepthMaterial( {
    depthPacking: THREE.RGBADepthPacking,
    alphaMap: alphaTex,
    alphaTest: 0.5
})
    
child.customDepthMaterial = customDepthMaterial;

如果您注释掉customDepthMaterial-input,您可以看到阴影通常会与动画一起出现,如本示例here 所示。但是,正如您所见,阴影不再投射到我的网格的透明部分,这不是我想要的效果。

我该如何解决这个问题?使用needsUpdate 更新深度材质,没有做任何事情..

在使用深度材质时,甚至可以使阴影与动画一起正常工作吗?

【问题讨论】:

    标签: javascript three.js


    【解决方案1】:

    skinning: true 添加到您的深度材料中:

    var customDepthMaterial = new THREE.MeshDepthMaterial( {
        depthPacking: THREE.RGBADepthPacking,
        alphaMap: alphaTex,
        alphaTest: 0.5,
        skinning: true // add this property
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多