как применить тень к полному объекту в threejs

#three.js

#three.js

Вопрос:

я хочу применить тень к полному объекту с помощью threejs, если я поворачиваю объект, тень должна быть с объектом, что означает, что я хочу применить тень к объекту hole, я пробовал Spotlight , но не повезло, я не получаю никаких изменений в моем объекте, поэтому здесь ниже мой код

 light = new THREE.SpotLight( 0xffffff );
light.position.set( 200, 200, -200 );
light.castShadow = true;
light.shadowMapWidth = 1024;    // power of 2
light.shadowMapHeight = 1024;

light.shadowCameraNear = 200;   // keep near and far planes as tight as possible
light.shadowCameraFar = 500;    // shadows not cast past the far plane
light.shadowCameraFov = 20;
light.shadowBias = -0.00022;    // a parameter you can tweak if there are artifacts
light.shadowDarkness = 0.5;

light.shadowCameraVisible = true;
scene.add( light ); 
  

Ответ №1:

Вы пытались установить object.receiveShadow = true; на объекте, на котором должны отображаться тени?

Комментарии:

1. нет @vincent, где я должен это установить?? спасибо за ответ

2. вы должны установить этот атрибут для объекта, который получит тень, как я уже сказал. Вы можете установить его непосредственно после создания объекта, например.

3. у вас есть онлайн-пример? может быть, с помощью jsfiddle?