0

ディレクショナル ライトに shadowCascade を使用しようとしています。https://github.com/mrdoob/three.js/issues/1888に記載されている例のコードを使用すると、シェーダー エラー + 定期的なエラーが発生しますObject [object Object] has no method 'decompose'。これはめったに使用されず、文書化されていない機能であるため、デバッグをどこから始めればよいかさえわかりません。すべてのコードを省略して、シーンの実行中にライトのコンソールで shadowCascade を有効にしても、上記の定期的なエラーが表示されます。

どんな助けでも大歓迎です!

よろしく、 ドイデル

PS: 人々は常に何らかのコードを見たいと思っています。だからここにいくつかのコードがあります。

var sunlight = new THREE.DirectionalLight();
sunlight.intensity = 0.5;
sunlight.position.set(100, 300, 100);
sunlight.castShadow = true;
sunlight.shadowBias = -0.0001;
sunlight.shadowMapWidth = sunlight.shadowMapHeight = 2048;
sunlight.shadowDarkness = 0.7;

var d = 250;
sunlight.shadowCameraLeft = -d;
sunlight.shadowCameraRight = d;
sunlight.shadowCameraTop = d;
sunlight.shadowCameraBottom = -d;
sunlight.shadowCameraNear = 200;
sunlight.shadowCameraFar = 800;

sunlight.shadowDarkness = 0.6;
sunlight.shadowBias = 0.000065;

sunlight.shadowCascade = true;
sunlight.shadowCascadeCount = 3;

sunlight.shadowCascadeNearZ = [ -1.000, 0.9, 0.975 ];
sunlight.shadowCascadeFarZ  = [  0.9, 0.975, 1.000 ];
sunlight.shadowCascadeWidth = [ 2048, 2048, 2048 ];
sunlight.shadowCascadeHeight = [ 2048, 2048, 2048 ];
sunlight.shadowCascadeBias = [ 0.00005, 0.000065, 0.000065 ];

sunlight.shadowCascadeOffset.set( 0, 0, -10 );

scene.add( sunlight );
sunlight.lookAt(new THREE.Vector3(0,0,0));
4

1 に答える 1