0

onChange メソッドを使用して、スポット ライト オブジェクトの shadowCameraFov プロパティを変更しようとしています。コードは次のとおりです。

    gui.add(controls, 'spotCameraFov', 30, 270).onChange( function (e) {
            spotLight.shadowCameraFov = e;
            console.log(e);
    });

( console.log から) 値が変化していることがわかりますが、実際にはスポット ライトの shadowCameraFov には影響しません。どうすればそれを機能させることができるかについて何か提案はありますか?

4

1 に答える 1

1

従う必要があるパターンは次のとおりです。

gui.add( controls, 'shadowCameraFov', 30, 120 ).onChange( function() {

    spotLight.shadowCameraFov = controls.shadowCameraFov;
    spotLight.shadowCamera.fov = spotLight.shadowCameraFov;
    spotLight.shadowCamera.updateProjectionMatrix();

});

ここで実際の例を見ることができます: http://threejs.org/examples/webgl_shading_physical.html。コントロールは右上にあります。

three.js r.62

于 2013-11-03T16:12:46.620 に答える