Tôi đang gặp sự cố khi bật cảnh Fog trong THREE.ShaderMaterial
. Hiện tại, sương mù chỉ ảnh hưởng đến các hình dạng khác, nhưng Skydome được tạo ra bằng cách sử dụng BA.ShaderMaterial, không bị ảnh hưởng bởi sương mù.Thông số sương mù ShaderMaterial không hoạt động
Dường như có tham số boolean fog
trong ShaderMaterial, có vẻ như được đặt thành true để sử dụng sương mù cảnh. Tuy nhiên, việc sử dụng kết quả là các lỗi uniforms.fogColor is undefined
. Lỗi xảy ra tại WebGLRenderer
chức năng refreshUniformsFog
.
Có phải là lỗi hoặc tôi đang sử dụng thông số sai?
Trường hợp thử nghiệm dựa trên webgl_materials_lightmap.html ví dụ tại đây: http://jsfiddle.net/HXhb4/ Nếu bạn đặt sương mù thành đúng ở dòng 62 và chạy thử nghiệm, bạn sẽ gặp lỗi. Những gì tôi muốn xảy ra là skydome bị ảnh hưởng bởi sương mù như một mô hình hoặc skydome tạo ra với MeshPhongMaterial bình thường.
Cảm ơn bạn rất nhiều, điều này làm cho tất cả các loại ý nghĩa! Bao gồm cả logic sương mù rất dễ dàng, chỉ cần bao gồm 'THREE.ShaderChunk.fog_pars_fragment' và' THREE.ShaderChunk.fog_fragment' trong trình đổ bóng. – yaku
Tôi muốn làm điều tương tự được đề cập ở đây, tuy nhiên tôi không có kinh nghiệm viết bóng đổ. Bất kỳ cơ hội nào bạn hoặc ai đó có thể tải lên một số mã để biết cách thêm logic của trình đổ bóng để làm cho câu trả lời này hoạt động? Cảm ơn! – Brannon
@Brannon xin vui lòng kiểm tra câu trả lời của tôi dưới đây với một ví dụ mã – imbrizi