gpt4 book ai didi

javascript - ThreeJS 对象组中的面部未收到阴影

转载 作者:行者123 更新时间:2023-12-03 05:44:03 28 4
gpt4 key购买 nike

我遇到了 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/

关于javascript - ThreeJS 对象组中的面部未收到阴影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40405299/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com