2012-07-06 23 views

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