Tôi đã làm việc một chút để tách phần của mã WebGL Globe (được liên kết với ở trên) tạo ra hiệu ứng khí quyển. Một phiên bản làm việc ban đầu là ở đây:
http://stemkoski.github.io/Three.js/Atmosphere.html
Để tốt nhất của sự hiểu biết của tôi, có một vài điều thú vị xảy ra trong mã gốc để tạo hiệu ứng khí quyển. Đầu tiên, kết cấu phát sáng được đặt trên một hình cầu khác - hãy gọi nó là Atmo Sphere :) - bao quanh hình cầu với hình ảnh trái đất trên đó. Vật liệu Atmosphere được lật sao cho mặt trước không render, chỉ phía sau, do đó nó không che khuất trái đất mặc dù nó bao quanh nó. Thứ hai, hiệu ứng ánh sáng gradient đạt được bằng cách sử dụng một shader fragment chứ không phải là một texture. Tuy nhiên, không khí sẽ thay đổi diện mạo của nó nếu bạn phóng to và thu nhỏ; điều này không hiển nhiên trong thử nghiệm WebGL Globe vì việc thu phóng bị vô hiệu hóa.
[cập nhật tháng 4 30]
Tiếp theo, tương tự như mã nguồn từ
http://stemkoski.github.io/Three.js/Selective-Glow.html
lĩnh vực với các kết cấu ánh sáng gradient (và một quả cầu màu đen kết cấu) được đặt trong một giây cảnh, và sau đó kết quả từ cảnh đó được tạo thành với cảnh ban đầu bằng cách sử dụng một máy xay phụ. Và chỉ để bạn có thể thử nghiệm với các tham số được sử dụng để tạo hiệu ứng ánh sáng, tôi đã bao gồm một vài thanh trượt để bạn có thể thay đổi các giá trị và xem các hiệu ứng ánh sáng khác nhau tạo ra.
Tôi hy vọng điều này sẽ giúp bạn bắt đầu. Chúc may mắn!
[cập nhật ngày 11 tháng 6]
Tôi có một ví dụ mới mà đạt được tác dụng tương tự một cách nhiều đơn giản hơn, thay vì sử dụng sau chế biến và lối cộng trộn hai cảnh, tôi chỉ thay đổi một số thông số trong tài liệu tùy chỉnh. (Có vẻ như rõ ràng khi nhìn lại.) Đối với một ví dụ được cập nhật, hãy kiểm tra:
http://stemkoski.github.io/Three.js/Shader-Halo.html
Vẫn chưa tìm ra các vấn đề pan/zoom mặc dù.
[Cập nhật ngày 24 tháng 7]
Tôi đã tìm ra các vấn đề về xoay/thu phóng. Nó đòi hỏi phải sử dụng một shader; để biết chi tiết về sự phức tạp, hãy xem câu hỏi liên quan Three.js - shader code for halo effect, normals need transformation và cho ví dụ làm việc cuối cùng, xem:
http://stemkoski.github.io/Three.js/Shader-Glow.html.
Tôi rất hài lòng với kết quả cuối cùng, vì vậy tôi sẽ không cập nhật câu trả lời này nữa :)
Bạn có thể đăng liên kết đến chuỗi thảo luận "ghi đè lên tài liệu" không? –
Vì tôi là người dùng mới nên nó không cho phép tôi đăng hơn 2 liên kết. :) https://github.com/mrdoob/three.js/issues/265 – kyeno
Xem câu hỏi liên quan này: http://stackoverflow.com/questions/10213361/how-can-i-render-an-atmosphere- over-a-rendering-of-the-earth-in-three-js – WestLangley