シーンフォグをTHREE.ShaderMaterial
で有効にする際に問題が発生しています。現在の霧は他のジオメトリにのみ影響しますが、THREE.ShaderMaterialを使用して作成されたSkydomeはフォグの影響を受けません。ShaderMaterialフォグパラメータが機能しない
ShaderMaterialにブール値fog
があります。これは、シーンフォグを使用するためには、明らかにtrueに設定する必要があります。しかし、それを使用するとエラーuniforms.fogColor is undefined
になります。エラーはWebGLRenderer
ファンクションrefreshUniformsFog
で発生します。
バグですか?またはパラメータを間違って使用していますか?
webg_materials_lightmap.htmlの例に基づくテストケースhttp://jsfiddle.net/HXhb4/ 62行目でfogをtrueに設定してテストを実行すると、エラーが発生します。私がしたいのは、通常のMeshPhongMaterialで作成されたモデルやスカイドームのような霧の影響を受けるスカイドームです。
ありがとう、これはすべての種類の意味があります!フォグロジックを含むことは非常に簡単で、シェーダに 'THREE.ShaderChunk.fog_pars_fragment'と' THREE.ShaderChunk.fog_fragment'を含めるだけでした。 – yaku
ここでも同じことをしたいと思いますが、シェイダーを書く経験はありません。あなたや他の誰かがこの答えを働かせるためにシェイダーロジックがどのように追加されたかについていくつかのコードをアップロードする可能性はありますか?ありがとう! – Brannon
@Brannonコード例で私の答えを確認してください – imbrizi