簡體   English   中英

ThreeJS對象組中的臉部未收到陰影

[英]Shadows not received on faces in ThreeJS Object Group

我有一個問題,在Object3D組中的臉部上沒有收到陰影。

陰影是從物體投射出來並被地面接收的,但是陰影在應有的時候不會彼此接收。

我進行了搜索,但似乎找不到類似的問題,這使我相信我設置不正確。

有人可以看看嗎? 我在下面的JSfiddle中放了一個工作示例。 我認為這可能與我設置面孔的方式有關。

https://jsfiddle.net/shanemccster/848k1qxh/

var makeobject = function(width, height, depth){
    logger('makeobject fired');
    var geometry = new THREE.BoxGeometry( width, height, depth );
    var materials = [
        new THREE.MeshLambertMaterial({ color: 0xffffff }),
        new THREE.MeshLambertMaterial({ color: 0xffcc00 }),
        new THREE.MeshLambertMaterial({ color: 0xffffff }),
        new THREE.MeshLambertMaterial({ color: 0xffcc00 }),
        new THREE.MeshLambertMaterial({ color: 0xffffff }),
        new THREE.MeshLambertMaterial({ color: 0xffcc00 })
    ];
    var texture = new THREE.MeshFaceMaterial( materials );
    texture.minFilter = THREE.LinearFilter;
    var theObject = new THREE.Mesh(geometry,texture);
    theObject.recieveShadow = true;
    theObject.castShadow = true;
    return theObject;
}

您需要在網格物體上設置receiveShadow標志。 查看Object3D的文檔,它是Mesh的父級。

https://jsfiddle.net/woa7kzz1/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM