2

私は 3 つの js を初めて使用します。スポット ライトを使用して影を生成できますが、不要な影も受け取ります。不要な影を削除するために必要なこと.車と壁にのみ影が必要で、地面の長方形のような影を削除する必要があります.ここに画像の説明を入力

私のコードは次のとおりです

var ambientLight = new THREE.AmbientLight( 0xffffff );
            scene.add( ambientLight );

            var light1 = new THREE.SpotLight(0xff00000);
            light1.position.set(200, 1200, 0);
            light1.target.position.set(0,0,0);    
            light1.shadowCameraVisible = true; 
            light1.castShadow = true;  
            light1.shadowDarkness = 0.8;
            light1.shadowCameraNear = 400;
            light1.shadowCameraFar = 1600;
            //light1.shadowCameraFov = 30;  

            light1.shadowCameraLeft = -750;
            light1.shadowCameraBottom =  -500;
            light1.shadowCameraRight = 1000;
            light1.shadowCameraTop = 600;


            var firstLight = new THREE.Object3D();
            firstLight.add(light1);
            scene.add(firstLight);

前もって感謝します

4

1 に答える 1

0

パフォーマンスの微調整のために、オブジェクトの選択的なシャドウが必要であることがわかりました。あなたができる最善のことは、.obj、 .dae、またはプロパティ「castShadow」を持つTHREE.Object3Dを介してオブジェクトをシーンにロードできるフォーマットローダーのいずれかを持つ車のモデルです。これを試してください:

var obj3D = new THREE.Object3D();
obj3D.add(/*content from loader*/);
obj3D.castShadow = true;
or
var mesh = new THREE.Mesh();
mesh.castShadow =true;

メッシュでも castShadow プロパティを有効または無効にします。

これで問題が解決すると思います

于 2015-06-06T15:15:44.130 に答える