ノーマル マッピング シェーダを使用しようとしていますTHREE.ShaderUtils.lib["normal"]
が、ライトが壊れています。通常のマッピング自体は機能しますが、見回したりカメラを動かしたりすると、ライトが奇妙な位置に狂って移動するように見えます。定期THREE.MeshPhongMaterial
作品。問題の説明については、下の写真を参照してください (黄色の円はライトの実際の位置です)。
Phong マテリアルは期待どおりに機能します。
法線マップ シェーダーが問題を引き起こします - ライトがライトの実際の位置からではなく、ランダムな場所から放射されていることがわかります (ビューポートが移動すると、明らかにランダムなライトの場所も移動します)。
ジオメトリ生成部分はマインクラフトの作例から(geometry.computeTangents()
追記あり)、法線マップの素材生成は法線マップの作例から。
この動作の理由は何でしょうか?