Javascript three.js:部分透明网格投射的阴影
我有一个带有纹理的模型,纹理在某些区域是透明的(alpha为零) 但是,当模型投射阴影时,阴影看起来就像模型是实体一样Javascript three.js:部分透明网格投射的阴影,javascript,three.js,Javascript,Three.js,我有一个带有纹理的模型,纹理在某些区域是透明的(alpha为零) 但是,当模型投射阴影时,阴影看起来就像模型是实体一样 如何解决此问题?在three.js中投射阴影时,从灯光的角度来看,网格被视为实体 但是,如果网格具有透明纹理或alpha贴图,则可以通过为网格指定CustomDepthMaterial来实现适当的阴影 有几种方法可以做到这一点。一种方法是通过自定义着色器材质。这一方法在美国有一个例子 对于更简单的场景,使用此模式即可: var customDepthMaterial = ne
如何解决此问题?在three.js中投射阴影时,从灯光的角度来看,网格被视为实体 但是,如果网格具有透明纹理或alpha贴图,则可以通过为网格指定
CustomDepthMaterial
来实现适当的阴影
有几种方法可以做到这一点。一种方法是通过自定义着色器材质
。这一方法在美国有一个例子
对于更简单的场景,使用此模式即可:
var customDepthMaterial = new THREE.MeshDepthMaterial( {
depthPacking: THREE.RGBADepthPacking,
map: myTexture, // or, alphaMap: myAlphaMap
alphaTest: 0.5
} );
mesh.customDepthMaterial = customDepthMaterial;
three.js r.85欢迎来到SO。请记住点击复选标记“接受”答案。非常感谢。