【问题标题】:threejs mesh with alpha mask, cast shadow带 alpha 蒙版的threejs 网格,投射阴影
【发布时间】:2020-05-30 10:48:04
【问题描述】:

带有 alpha 蒙版的单个平面必须投射阴影。但它确实适用于整个平面 - 不应用 alpha 蒙版 -。

四处搜索我发现向网格添加 customDeptMaterial 应该可以做到:

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

并不是说我很确定到底发生了什么,但我一定错过了一些东西,因为它一直在投射整个飞机

请看完整的小提琴: https://jsfiddle.net/truji7/gj7az9eo/34/

如何投射“alpha 过滤”阴影?

【问题讨论】:

标签: three.js shadow


【解决方案1】:

PointLights 是唯一一种使用MeshDistanceMaterial 而不是MeshDepthMaterial 的光源。

object.customDistanceMaterial = new THREE.MeshDistanceMaterial( {
    alphaMap: alphaTex,
    alphaTest: 0.5,
}

JSFiddle Example

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-09
    • 1970-01-01
    • 2018-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-04
    相关资源
    最近更新 更多