Tôi muốn có một bề mặt khối phản chiếu trong trang WebGL với Three.js. Nó giống như màn hình điện thoại di động, phản chiếu một số ánh sáng, nhưng nó vẫn phải có màu đen.Tôi có thể sử dụng phản chiếu trong ba.js như thế nào?
7
A
Trả lời
22
Tôi đã tạo một ví dụ về hình khối phản chiếu (và cũng là hình cầu phản chiếu) với các nhận xét chi tiết. Các phiên bản sống là
http://stemkoski.github.com/Three.js/Reflection.html
với định dạng đẹp mã tại
https://github.com/stemkoski/stemkoski.github.com/blob/master/Three.js/Reflection.html
(Đây là một phần của một tập hợp các ví dụ hướng dẫn tại http://stemkoski.github.com/Three.js/)
Những điểm chính là:
- thêm vào cảnh của bạn một camera thứ hai (một CubeCamera) được đặt ở đối tượng có bề mặt phải phản chiếu
- tạo tài liệu và đặt bản đồ môi trường làm kết quả hiển thị từ máy ảnh thứ hai này, ví dụ:
ví dụ:
var mirrorCubeMaterial = new THREE.MeshBasicMaterial(
{ envMap: mirrorCubeCamera.renderTarget });
- trong làm cho chức năng của bạn, bạn phải làm từ tất cả các máy ảnh của bạn. Tạm thời ẩn đối tượng đang phản chiếu (để nó không cản đường máy ảnh bạn sẽ sử dụng), hiển thị từ camera đó, sau đó bỏ ẩn đối tượng phản chiếu.
ví dụ:
mirrorCube.visible = false;
mirrorCubeCamera.updateCubeMap(renderer, scene);
mirrorCube.visible = true;
Những đoạn mã là từ các liên kết tôi đã đăng ở trên; kiểm tra xem chúng ra!
Các vấn đề liên quan
- 1. iPhone: Tôi có thể sử dụng gcov như thế nào?
- 2. Tôi có thể sử dụng sbt.IO như thế nào?
- 3. Tôi có thể sử dụng Html.Action như thế nào?
- 4. Tôi có thể sử dụng HTML 5 như thế nào?
- 5. Tôi có thể sử dụng System.Web.Caching.Cache trong ứng dụng Console như thế nào?
- 6. Tôi có thể sử dụng java.lang.instrument như thế nào trong một ứng dụng RCP Eclipse?
- 7. Tôi có thể sử dụng tham chiếu bên trong hàm C# như C++ không?
- 8. Tôi có thể thay đổi trường thừa kế riêng chỉ đọc trong C# bằng cách sử dụng phản chiếu không?
- 9. Làm cách nào tôi có thể sử dụng phản chiếu để chuyển đổi từ int sang thập phân?
- 10. Tôi có thể sử dụng PHP 5.3 Closures như thế nào Chúng tôi sử dụng các khối trong Ruby
- 11. Tôi có thể sử dụng CPAN như một người dùng không phải root như thế nào?
- 12. Tôi có thể sử dụng sự phản chiếu để kiểm tra mã trong một phương thức không?
- 13. Tôi sử dụng TLBIMP.EXE như thế nào?
- 14. Xác định xem tham số có sử dụng "params" sử dụng phản chiếu trong C# không?
- 15. Làm thế nào để có được tên biến bằng cách sử dụng sự phản chiếu?
- 16. Nhận loại sử dụng phản chiếu
- 17. Tôi có thể buộc delay_job sử dụng kết nối db cụ thể như thế nào?
- 18. Tôi có thể sử dụng dữ liệu được đăng từ ajax trong bình như thế nào?
- 19. Tôi có thể sử dụng bộ nhớ chia sẻ trong chương trình nodej như thế nào?
- 20. Tôi có thể sử dụng khung hoạt ảnh bên trong canvas như thế nào?
- 21. Tôi có thể sử dụng tùy chọn "--bare" trong Rails 3.1 cho CoffeeScript như thế nào?
- 22. Làm thế nào tôi có thể sử dụng một biến như một tên biến trong Perl?
- 23. Tôi có thể sử dụng hàm lambda trong chính nó như thế nào?
- 24. CursorAdapter nào tôi có thể sử dụng?
- 25. tại sao tôi không thể tải thuộc tính AssemblyVersion bằng cách sử dụng phản chiếu?
- 26. Tôi có thể sử dụng git rebase như thế nào mà không cần phải đẩy mạnh?
- 27. Tôi nên sử dụng FormatMessage() như thế nào trong C++?
- 28. Kindle có thể được sử dụng như một công cụ đọc mã nguồn như thế nào?
- 29. Tôi sẽ sử dụng phản chiếu như thế nào để gọi tất cả các phương thức có thuộc tính tùy chỉnh nhất định?
- 30. Tôi có thể sử dụng MS Access như một nhà cung cấp cho khung thực thể ADO.NET như thế nào?